text=True
タグを指定しない場合にのみ HTML タグ属性を取得する方法はありますか。
例:
html=<p class="c4">SOMETEXT</p>
私はそれをできた:
[tag.attrs for tag in soup.findAll('p')]
>>> [[(u'class', u'c1')]]
方法はありますか:
[text.attrs for text in soup.findAll(text=True)]
大いに感謝してください!
text=True
タグを指定しない場合にのみ HTML タグ属性を取得する方法はありますか。
例:
html=<p class="c4">SOMETEXT</p>
私はそれをできた:
[tag.attrs for tag in soup.findAll('p')]
>>> [[(u'class', u'c1')]]
方法はありますか:
[text.attrs for text in soup.findAll(text=True)]
大いに感謝してください!
質問が明確になったので、これが必要だと思います:
[tag.attrs for tag in soup.findAll(True) if tag.string]
.findAll(True)
ドキュメント内のすべてのタグを返すため、.attr
空の場合でもタグがあり、タグに.string
コンテンツがある場合はフィルターされます。
>>> from bs4 import BeautifulSoup as bs
>>> html = '<p class="c4">SOMETEXT</p><p class="c5"></p>'
>>> soup = bs(html)
>>> [tag.attrs for tag in soup.findAll('p') if tag.string]
[{'class': ['c4']}]