【发布时间】:2021-04-06 18:08:32
【问题描述】:
在我做的一些测试中,我注意到 div 标签内的标签 a,beautifulsoup 自动将其“翻译”为文本:
<div class='a'>
<a href='....'>TEXT</a>
<i .....
</div>
当我使用命令 find_all('div', {'class' : 'a'}) 搜索 div 标记并尝试打印结果 div.a 时,bs4 显示值 None... 但如果我尝试使用print div.text bs4 只显示 TEXT 而不是标签 a)。
这是部分代码:
soup = BeautifulSoup(html, 'lxml')
data=soup.find_all('div', {'class' : 'a'})
for div in data:
print div.a
$ None
为什么?
更新:刚才我注意到了……这是另一个问题。在源代码中有标签 a... 但是现在,(使用 prettify 查看输出)我意识到标签 bs4 让我将其视为 div,而实际上它是一个标签 a!奇怪!!!
BUG???
已解决 我做了一些清理并删除了请求和 urllib3 的所有包......然后我用 apt 重新安装了所有东西,现在可以工作了。 requests 和 urllib3 的包版本分别为:2.12.4-1 和 1.19.1-1
【问题讨论】:
标签: python html parsing beautifulsoup