我有两种情况,我想用自定义html属性刮取html 这是html的例子。如何使用自定义属性“limit”抓取所有元素。
<div class="names" limit="10">Bar</div>
<div id="30" limit="20">Foo</div>
<li limit="x">Baz</li>
第二种情况类似,但所有相同的html标签
<div class="names" limit="10">Bar</div>
<div class="names" limit="20">Bar</div>
<div class="names" limit="30">Bar</div>
我的问题与How to find tags with only certain attributes - BeautifulSoup不同,因为后者使用特定标记定位属性值,而我的问题仅在标记或值
的情况下查找目标属性答案 0 :(得分:25)
# First case:
soup.find_all(attrs={"limit":True})
# Second case:
soup.find_all("div", attrs={"limit":True})
参考:
如果您的属性名称与Python关键字或名为args的soup.find_all
没有冲突,则语法更简单:
soup.find_all(id=True)