如何使用Beautiful Soup查找具有自定义html属性的所有元素?

时间:2015-07-14 20:39:18

标签: python beautifulsoup

我有两种情况,我想用自定义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不同,因为后者使用特定标记定位属性值,而我的问题仅在标记或值

的情况下查找目标属性

1 个答案:

答案 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)