我有一个 Python 脚本,可以将 html 读入行,然后在将这些行保存为 html 文件之前过滤掉相关行。在我发现页面文本中的 a 在保存为字符串时/
被转换为之前,我遇到了一些问题。/
我正在解析的源 html 具有以下行:
<h3 style="text-align:left">SYDNEY/KINGSFORD SMITH (YSSY)</h3>
当通过 file.readlines() 时会出现:
<h3 style='text-align:left'>SYDNEY/BANKSTOWN (YSBK)</h3>
然后它会绊倒beautifulsoup,因为这会与“&”符号混淆所有后续标签。
我感兴趣的是知道这个替换值“/”是否独立于平台?
在保存每个字符串之前运行之前并不难.replace
,避免了现在我在 Windows 上编码和测试的问题,但是如果我在 linux 服务器上部署我的脚本,它仍然可以工作吗?
这是我现在拥有的,在 Windows 下运行时效果很好:
def getHTML(self,html_source):
with open(html_source, 'r') as file:
source_lines = file.readlines()
relevant = False
relevant_lines = []
for line in source_lines:
if "</table>" in line:
relevant = False
if self.airport in line:
relevant = True
if relevant:
line = line.replace("/", " ")
relevant_lines.append(line)
relevant_lines.append("</table>")
filename = f"{html_source[:-5]}_{self.airport}.html"
with open(filename, 'w') as file:
file.writelines(relevant_lines)
with open(filename, 'r') as file:
relevant_html = file.read()
return relevant_html
谁能告诉我,无需安装带有 linux 的虚拟机,这是否可以跨平台工作?我试图寻找这方面的文档,但我能找到的只是关于/
在输入字符串时显式转义 a 的方法,没有记录如何处理/
或在将源文件读入字符串时读取其他无效字符。