我试图从嵌套的html标签中提取信息:
<div id="container">
<div id="cover_1" class="default"></div>
<div id="container_2">
<div class="blue">
<div id="container_3" class="red">
</div>
但是,当我尝试通过以下方式检查container_2的子项时:
container_2tag = soup.find("div", id = "container_2")
children = container_2tag.findChildren()
子列表是空的,所以我无法深入挖掘结构。我已经查看了使用findAll解释树标记迭代的答案,但是找不到美丽的汤不可见html嵌套的问题。它可能是一个糟糕的解析器吗? (我已经安装了html5lib)..
答案 0 :(得分:0)
您没有ID为container_2tag的标记
DO
container_2tag = soup.find("div", id = "container_2")
可以找到孩子们
>>> children = container_2tag.findChildren()
>>> children
[<div class="blue">
<div id="container_3" class="red">
</div>
</div>, <div id="container_3" class="red">
</div>]
>>> children[0]
<div class="blue">
<div id="container_3" class="red">
</div>
</div>
>>> children[1]
<div id="container_3" class="red">
</div>
>>> children[2]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: list index out of range