【发布时间】:2021-01-29 14:07:49
【问题描述】:
我有以下 HTML:
<div class="interesting"><span>a</span> <span>b</span> c</div><div>d</div>
我正在尝试使用beautifulsoup 来提取字符串c。
但是,soup.div.string 是 None。我可以调用get_text() 来获取a b c,然后我再次解析文本。但我觉得它违背了使用beautifulsoup的目的。
有什么建议吗?
======================
更新:
我在上面的示例字符串中添加了&nbsp;&nbsp;,因为我注意到它实际上导致soup.div.find(text=True, recursive=False) 无法在div 中返回文本。所以这个问题不再重复了。
soup = BeautifulSoup('<div class="interesting"><span>a</span> <span>b</span> c</div><div>d</div>', 'html.parser')
div = soup.find('div', class_='interesting')
print(div.find_all_next(text=True)[-1])
上面的代码打印d
【问题讨论】:
标签: html python-3.x beautifulsoup