【发布时间】:2017-01-31 22:28:45
【问题描述】:
页面的 HTML:
<form name="compareprd" action="">
<div class="gridBox product " id="quickLookItem-1">
<div class="gridItemTop">
</div>
</div>
<div class="gridBox product " id="quickLookItem-2">
<div class="gridItemTop">
</div>
</div>
<!-- many more like this. -->
我正在使用美丽的汤来报废一页。在该页面中,我可以通过其名称获取表单标签。
tag = soup.find("form", {"name": "compareprd"})
现在我想计算所有直接子 div,但不是所有嵌套 div。 例如,表单中有 20 个直接 div。 我试过了:
len(tag.findChildren("div"))
但它给了 1500。
我认为它在“form”标签中给出了所有“div”。
任何帮助表示赞赏。
【问题讨论】:
-
您认为正确,将
recursive=False传递给findChildren以便仅查找直接子级。您的 HTML 看起来像是标签汤,但您没有关闭div.gridBox标签。 -
谢谢!啊对不起,我写错了示例代码。更新了示例。
标签: python html web-scraping beautifulsoup