gpt4 book ai didi

python - 使用 beautifulsoup/python 解析 html 页面

转载 作者:行者123 更新时间:2023-11-28 04:55:56 24 4
gpt4 key购买 nike

我目前正在解析一个 html 页面以提取一些信息:

有时结束标记后没有文本,例如下面的 HTML 文档中的 Ethos

<span id= "here" style>
<br>
<b> Post Primary</b>
<b>school<b>
<br>
<b>Roll number: </b>
"60000"
<br>
<b>Principal</b>
"Paul Ince"
<br>
<b>Enrolment:</b>
"Boys; 193 Girls: 190 (2012/13)"
<br>
<b>Ethos:</b>
<b>Catchment:</b>
"North Inner CIty "
<br>
<b>Fees:</b>
" No "
</span>

我想提取以下信息

Enrolment= "男生:193 女生:190 (2012/13)"

精神=“”

费用="没有"

最佳答案

这正是您所需要的。

想法是定义一个你感兴趣的键/标签列表,找到所有的b元素并检查b元素中的文本是否在列表中键/标签。如果是 - 打印出 b 元素和下一个兄弟元素的文本:

from bs4 import BeautifulSoup

data = """<span id= "here" style>
<br>
<b> Post Primary</b>
<b>school<b>
<br>
<b>Roll number: </b>b>
"60000"
<br>
<b>Principal</b>
"Paul Ince"
<br>
<b>Enrolment:</b>
"Boys; 123 Girls: 102 (2012/13)"
<br>
<b>Ethos:</b>
"Catholic &nbsp "
<b>Catchment:</b>
"North Inner CIty "
<br>
<b>Fees:</b>
" No "
</span>"""

soup = BeautifulSoup(data)

keys = ['Enrolment', 'Ethos', 'Fees']

for element in soup('b'):
if element.text[:-1] in keys:
print element.text + element.next_sibling.strip()

打印:

Enrolment:"Boys; 123 Girls: 102   (2012/13)"
Ethos:"Catholic &nbsp "
Fees:" No "

希望对您有所帮助。

关于python - 使用 beautifulsoup/python 解析 html 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23223517/

24 4 0
文章推荐: javascript - DIV对齐和定位问题
文章推荐: html - 如何正确使用 z-index?
文章推荐: javascript - fadeOut 然后改变图像
文章推荐: javascript - jQuery val() 无法在 Aloha Editor 的动态