之間的文本的多個塊這是我的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
不是。
我用下面的代碼成功地提取文本的第一塊:
def get_summary (soup):
raw = soup.find('div',{"class":"left_panel"})
for h4 in raw.findAllNext('h4'):
following = h4.nextSibling
return following
不過,我需要所有兩個h4
標籤之間坐的項目,我希望用h4.nextSiblings
會解決這個問題,但出於某種原因,返回以下錯誤:
TypeError: 'NoneType' object is not callable
我已經對這個答案試圖變化:Find next siblings until a certain one using beautifulsoup但由於沒有一個主導的Tag困惑我。
謝謝Alecxe,這工作得很好。將這些字符串合併爲一個合理的項目的最佳方法是什麼?我目前使用append將它們添加到列表中,這似乎有點愚蠢。 – woodbine
@woodbine請參閱更新。基本上,它與您所說的相同 - 保留文本列表。希望有所幫助。 – alecxe
謝謝Alecxe,非常感謝。 – woodbine