繁体   English   中英

BeautifulSoup<a>在标签中不显示标签</a><div></div><div id="text_translate"><p>在我做的一些测试中,我注意到<strong>div</strong>标签内的标签<strong>a</strong> , <strong>beautifulsoup</strong>自动将其“翻译”为文本:</p><pre> &lt;div class='a'&gt; &lt;a href='....'&gt;TEXT&lt;/a&gt; &lt;i..... &lt;/div&gt;</pre><p> 当我使用命令find_all('div', {'class': 'a'})搜索<strong>div</strong>标签并尝试打印结果div.a时,bs4 显示值<strong>None</strong> ...但如果我尝试使用print div.text bs4 仅显示<strong>TEXT</strong>而不是标签<strong>a</strong> )。</p><p> 这是部分代码:</p><pre> soup = BeautifulSoup(html, 'lxml') data=soup.find_all('div', {'class': 'a'}) for div in data: print div.a $ None</pre><p> 为什么?</p><p> <strong>更新</strong>:刚才我注意到......这是另一个问题。 在源代码中有标签<strong>a</strong> ...但是现在,(看到带有美化的 output)我意识到标签 bs4 让我将其视为<strong>div</strong> ,而实际上它是标签<strong>a</strong> ! 奇怪的!!!</p><p> 漏洞???</p><p> <strong>解决</strong>了我做了一些清理并删除了请求和urllib3的所有包......然后我用<strong>apt</strong>重新安装了所有东西,现在可以工作了。 requests 和 urllib3 的包版本分别为: <strong>2.12.4-1</strong>和<strong>1.19.1-1</strong></p></div>

[英]BeautifulSoup not show tag <a> in tag <div>

在我做的一些测试中,我注意到div标签内的标签abeautifulsoup自动将其“翻译”为文本:

<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 ...但是现在,(看到带有美化的 output)我意识到标签 bs4 让我将其视为div ,而实际上它是标签a 奇怪的!!!

漏洞???

解决了我做了一些清理并删除了请求和urllib3的所有包......然后我用apt重新安装了所有东西,现在可以工作了。 requests 和 urllib3 的包版本分别为: 2.12.4-11.19.1-1

我无法复制您的问题,但是您正在使用的 HTML 中有一个错字: clas='a'应该是class='a'

我使用的代码:

from bs4 import BeautifulSoup

html = '''<div class='a'>
   <a href='....'>TEXT</a>
   <i> .....</i>
</div>'''
soup = BeautifulSoup(html, 'html.parser')
data = soup.find_all('div', {'class': 'a'})
for div in data:
   print (div.a)

我得到的 output:

<a href="....">TEXT</a>

.text不会显示标签,而只会显示所选标签及其子标签内的文本。 您还需要BeautifulSoup object 才能使用find_all方法

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM