这是我的HTML:
<div class="left_panel">
<h4>Header1</h4>
block of text that I want.
<br />
<br />
another block of text that I want.
<br />
<br />
still more text that I want.
<br />
<br />
<p> </p>
<h4>Header2</h4>
文本块的数目是可变的,Header1
是一致的,Header2
不是。
我使用以下代码成功地提取了第一个文本块:
^{pr2}$但是,我需要两个h4
标记之间的所有项目,我希望使用h4.nextSiblings
可以解决此问题,但由于某些原因,返回以下错误:
TypeError: 'NoneType' object is not callable
我一直在尝试这个答案的变体:Find next siblings until a certain one using beautifulsoup但是没有前导标记让我很困惑。
我不明白为什么你要把
soup
作为参数传递,但是你没有使用它。在如果您使用了正确的soup实例,就不会出现该错误。},对每一个应用
findAllNext(h4)
返回<h4>Header1</h4>
和{nextSibling
返回文本同级,它们是以及
^{pr2}$对你来说。在
找到第一个标题并在^{} 上迭代,直到找到另一个标题:
更新(收集两个
^{pr2}$h4
标记之间的文本):相关问题 更多 >
编程相关推荐