当 html 标签具有与其关联的 id 时,我能够访问该标签的内容,但无法找到没有 id 的 html 标签。
当 ID 存在时,我能够访问我需要的内容:
<div id="anything">
<div class="anything">
What I need
</div>
</div>
但是如果标签看起来像这样:
<div id="anything">
<div>
<div class="something">
What I need
</div>
</div>
</div>
我无法使用 .findAll、.find_next_sibling 或 .children 找到它 我尝试通过以下方式找到它:
x = soup.find('div', attrs ={'id':'anything'})
type(x.div)
print(x.div.text)
但是 type(x.div) 返回 NoneType....???
for foo in soup.find_all('div', attrs={'id': 'anything'}):
bar = foo.find('div', attrs={'class': 'anything'})
print(bar.contents[0].text)
这会在第一个 html block 中打印“我需要什么”,但不会在第二个中打印
这适用于具有 ID 的标签,但我无法找到一种方法来查找没有 ID 的 div
最佳答案
您可以像这样沿着 div 链导航:
print(soup.div.div.text)
输出:
What I need
关于python - 如何使用 BeautifulSoup 查找没有 id 或类名的 html 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58290513/