1. ホーム
  2. python

[解決済み] BeautifulSoupでタグに属性があるかどうかをテストする

2023-03-26 19:49:18

質問

私は、すべての <script> タグを取得し、特定の属性の存在(または不在)に基づいて各タグを処理したいと思います。

例えば、それぞれの <script> タグで、もし属性 for が存在する場合は何かをし、そうでない場合は bar が存在する場合は何か他のことをします。

現在やっていることは以下の通りです。

outputDoc = BeautifulSoup(''.join(output))
scriptTags = outputDoc.findAll('script', attrs = {'for' : True})

しかし、この方法では、すべての <script> タグを for 属性を持つタグは消えてしまいました。 for 属性がないもの)は失われてしまいました。

どのように解決するのですか?

もし私がよく理解しているなら、あなたはすべてのスクリプトタグが必要で、次にそれらの中のいくつかの属性をチェックするのですか?

scriptTags = outputDoc.findAll('script')
for script in scriptTags:
    if script.has_attr('some_attribute'):
        do_something()