你想使用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'是一个空标签。 –