你想使用Tag.next_sibling
這裏,從所包含的圖片標籤:
>>> soup.find('div', class_='data').img.next_sibling
u'\n \xa0 SOME_TEXT\n'
在這種情況下,有沒有出現在你的標籤任何其他文字反正;您不妨使用Tag.get_text()
方法:
>>> soup.find('div', class_='data').get_text()
u'\n\n \xa0 SOME_TEXT\n'
如果你有HTML與包含在的文本<img/>
標籤,那麼這就是破HTML和不同的解析器將不同的處理這個問題:
>>> sample = '''\
... <div class="data">
... <img src="/page1/page2/Images/pic.png" height="13" width="13">
... SOME_TEXT
... </img>
... </div>
... '''
>>> soup = BeautifulSoup(sample, 'html.parser')
>>> soup.div
<div class="data">
<img height="13" src="/page1/page2/Images/pic.png" width="13">
SOME_TEXT
</img>
</div>
>>> soup = BeautifulSoup(sample, 'lxml')
>>> soup.div
<div class="data">
<img height="13" src="/page1/page2/Images/pic.png" width="13"/>
SOME_TEXT
</div>
>>> soup = BeautifulSoup(sample, 'html.parser')
>>> soup.div
<div class="data">
<img height="13" src="/page1/page2/Images/pic.png" width="13">
SOME_TEXT
</img>
</div>
在所有這些情況下,Tag.get_text()
都可以使用。
是 Sometext –
@sundarnatarajサンダーナタラジ:沒有,'img'是一個空標籤。 –