HTML:
<h2>...</h2>
<p>...</p>
<p>...</p>
<p>...</p>
<h2>...</h2>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
预期结果:
<p>...</p>
<p>...</p>
<p>...</p>
我的意思是,获取h2
元素之间的所有内容
答案 0 :(得分:1)
每个元素都有一个nextSibling method,所以你可以得到第一个h2元素,然后遍历下一个兄弟,直到你点击第二个元素。
伪代码(假设firstElem是h2元素):
p_tags = []
next = firstElem.nextSilbing
while next.name != "h2":
p_tags.append(next)
next = next.nextSibling
答案 1 :(得分:1)
您还可以使用soup.h2.findNextSiblings('p')
,其中soup
是您的BeautifulSoup
个实例。