gpt4 book ai didi

python - HTML逐行解析

转载 作者:太空宇宙 更新时间:2023-11-03 20:43:26 24 4
gpt4 key购买 nike

我正在编写一个旨在解析 HTML 的 python 代码。这里的目标是在每一行中查找字符串,并更改它们,如下所示:

原文:“Criar Alerta”

<li><a href="http://..." target="_blank">Criar Alerta</a></li>

预期结果:“创建警报”

<li><a href="http://..." target="_blank">Create alert</a></li>

然后,为了确保我创建的新 HTML 具有与原始结构相同的结构,我需要逐行解析后面的内容,识别该字符串,并将其更改为字典中的等效内容。

我看到了here BeautifulSoup 可以解析特定的标签。我尝试过,但不确定结果。

然后我问:鉴于BeautifulSoup可以使用标签,并且每行有多个标签,是否可以使用BeautifulSoup进行逐行解析?

提前致谢,

蒂亚戈

最佳答案

我相信以下内容就是您正在寻找的内容。

让我们使用 3 行,其中两行包含字典中的单词,另一行不包含 - 只是为了测试代码:

rep = """
<li class="current"><a style="color:#00233C;" href="index.html"><i class="icon icon-home"></i> Início</a></li>
<li class="current"><a style="color:#00233C;" href="index.html"><i class="icon icon-home"></i> Nunca</a></li>
<li class="current"><a style="color:#00233C;" href="index.html"><i class="icon icon-home"></i> Criar Alerta</a></li>
"""

并使用你的字典(提示:将字典定义为 dict 从来都不是一个好主意;它只是在路上自找麻烦......)

rep_dict = {
"Início": "Start",
"Ajuda": "Help",
"Criar Alerta": "Create Alert",
"Materiais e Estruturas": "Structures and Materials"
}

现在看代码:

soup = BeautifulSoup(rep, 'lxml')

only_a_tags = soup.find_all('a')

for item in range(len(only_a_tags)):
for word in rep_dict:
if word in str(only_a_tags[item]):
print(str(only_a_tags[item]).replace(word,rep_dict[word]))

输出:

<a href="index.html" style="color:#00233C;"><i class="icon icon-home"></i>  Start</a>
<a href="index.html" style="color:#00233C;"><i class="icon icon-home"></i> Create Alert</a>

未打印包含“nunca”的项目,因为“nunca”不在 rep_dict 中。

关于python - HTML逐行解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56738735/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com