gpt4 book ai didi

python - 根据 python 上的特定标签将 HTML 字符串拆分为多个部分

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

我对Python还很陌生。我在论坛上呆了几天,我的问题的答案已经存在,但针对的是 javascript。

我有一个包含新闻的 html 页面,我希望只要有 H4 标签,内容就会被解析到新的部分中。我想根据字符串的内容命名该部分,然后将这些部分调用到单独的电子邮件中(但这是稍后的事)。我似乎不知道如何创建这些部分。下面是代码的样子。如果我的问题很初级,我们非常感谢任何建议。谢谢!

'<td><h3>Andean</h3><hr/></td>
</tr><tr>
<td><h4>Bolivia bla bla</h4></td>
</tr>
<tr>
<td><p>* Bolivia&bla bla text text </p></td>
</tr><tr>
<td><h3>Brazil</h3><hr/></td>
</tr><tr>
<td><h4>BRAZIL: bla bla</h4></td>
</tr>
<tr>'

最佳答案

您可以使用正则表达式“手动”执行此操作 ( https://en.wikipedia.org/wiki/Regular_expression ),也可以使用专门用于解析 HTML 的库 ( https://pypi.org/project/beautifulsoup4/ )。如果您计划进行更多 HTML 解析,我建议使用专用库。如果您不熟悉的话,两者都需要一些时间来适应,但是两者都值得学习。

import re
from bs4 import BeautifulSoup

html_code = """<td><h3>Andean</h3><hr/></td>
</tr><tr>
<td><h4>Bolivia bla bla</h4></td>
</tr>
<tr>
<td><p>* Bolivia&bla bla text text </p></td>
</tr><tr>
<td><h3>Brazil</h3><hr/></td>
</tr><tr>
<td><h4>BRAZIL: bla bla</h4></td>
</tr>
<tr>"""

print('* with regex:')
print(re.findall('<h4>(.*?)</h4>', html_code))

print('* with beautiful soup:')
soup = BeautifulSoup(html_code)
tmp = soup.find_all('h4')
for val in tmp:
print(val.contents)

将输出

* with regex:
['Bolivia bla bla', 'BRAZIL: bla bla']
* with beautiful soup:
['Bolivia bla bla']
['BRAZIL: bla bla']

关于python - 根据 python 上的特定标签将 HTML 字符串拆分为多个部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58168578/

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