2017-11-13 1 views
1

私は以下のhtmlを持っており、TOWN GMBHを抽出する必要があります。BeautifulSoup4のhtmlタグから特定のデータ値を見つける方法はありますか?

bs = BeautifulSoup('<span class="font-semibold" data-qa="companyName">TOWN GMBH</span>', "html5lib") 

bs.find(class_='font-semibold').contents 

しかし、フォントsemiboldは一意ではなく、それらのいくつかは、ページにあります

<span class="font-semibold" data-qa="companyName">TOWN GMBH</span> 

私は、次の操作を行うことができます。 data-qa = "companyName"のhtmlに具体的にどのように対処できますか?

は あなたがいずれかの属性の辞書がフィルタリングに使用することができ

答えて

0

bs.select_one('.font-semibold[data-qa=companyName]') 

そして、テキストを取得するために、私が使用したい:

bs.find(attrs={'class': 'font-semibold', 'data-qa': 'companyName'}) 

または、より簡潔でCSS selector使用しますメソッドの代わりに.contentsを使用してください。

関連する問題