考虑以下 HTML:
<li>
<a href="url">
<b>This</b>
" is "
<b>a</b>
" test "
<b>string</b>
"!"
</a>
</li>
我想提取<a>标签之间的所有文本,除了"!". 换句话说,包含在第一个开头<b>和最后一个结尾之间的文本</b>: This is a test string。
from bs4 import BeautifulSoup
html = '''
<li>
<a href="url">
<b>This</b>
" is "
<b>a</b>
" test "
<b>string</b>
"!"
</a>
</li>
'''
soup = BeautifulSoup(html)
anchor = soup.a
请注意,<b>没有标签的标签和字符串的数量会有所不同,next或者next_sibling不起作用。
有没有更简单的方法来做到这一点?
编辑: 理想情况下,我想要一种方法,即使我在最后一个</b>.
慕娘9325324
斯蒂芬大帝
相关分类