Beautiful Soup を使用して、HTML タグに関係なく、カスタム HTML 属性を持つすべての要素を検索するにはどうすればよいでしょうか? 質問する

Beautiful Soup を使用して、HTML タグに関係なく、カスタム HTML 属性を持つすべての要素を検索するにはどうすればよいでしょうか? 質問する

カスタム HTML 属性を持つ HTML タグをスクレイピングしたいケースが 2 つあります。これは HTML の例です。カスタム属性「limit」を持つすべての要素をどのようにスクレイピングしますか。

<div class="names" limit="10">Bar</div> 
<div id="30" limit="20">Foo</div> 
<li limit="x">Baz</li>

2番目のケースも同様ですが、HTMLタグはすべて同じです。

<div class="names" limit="10">Bar</div> 
<div class="names" limit="20">Bar</div> 
<div class="names" limit="30">Bar</div> 

私の質問は特定の属性のみを持つタグを検索する方法 - BeautifulSoup後者は特定のタグを持つ属性値を対象としていますが、私の質問はタグや値に関係なく属性のみを検索するためです。

ベストアンサー1

# First case:
soup.find_all(attrs={"limit":True})

# Second case:
soup.find_all("div", attrs={"limit":True})

参照:


属性名が Python キーワードやsoup.find_all名前付き引数と衝突しない場合は、構文はよりシンプルになります。

soup.find_all(id=True)

おすすめ記事