gpt4 book ai didi

python - 使用 beautifulsoup 查找下一个 sibling ,直到某个 sibling

转载 作者:太空狗 更新时间:2023-10-29 20:59:18 25 4
gpt4 key购买 nike

网页是这样的:

<h2>section1</h2>
<p>article</p>
<p>article</p>
<p>article</p>

<h2>section2</h2>
<p>article</p>
<p>article</p>
<p>article</p>

如何找到包含文章的每个部分?即找到h2后,再寻找nextsiblings

直到下一个h2。

如果网页是这样的:(通常是这种情况)

<div>
<h2>section1</h2>
<p>article</p>
<p>article</p>
<p>article</p>
</div>

<div>
<h2>section2</h2>
<p>article</p>
<p>article</p>
<p>article</p>
</div>

我可以写这样的代码:

for section in soup.findAll('div'):
...
for post in section.findAll('p')

但是如果我想获得相同的结果,我应该如何处理第一个网页呢?

最佳答案

我认为你可以这样做:

for section in soup.findAll('h2'):
nextNode = section
while True:
nextNode = nextNode.nextSibling
try:
tag_name = nextNode.name
except AttributeError:
tag_name = ""
if tag_name == "p":
print nextNode.string
else:
print "*****"
break

给定:

<h2>section1</h2>
<p>article1</p>
<p>article2</p>
<p>article3</p>

<h2>section2</h2>
<p>article4</p>
<p>article5</p>
<p>article6</p>

输出:

article1
article2
article3
*****
article4
article5
article6
*****

关于python - 使用 beautifulsoup 查找下一个 sibling ,直到某个 sibling ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11647348/

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