1. ホーム
  2. python

[解決済み] bs4.element.Tagから項目を取得する。

2022-02-11 10:52:58

質問

bs4.element.Tag タイプの要素を持っています。

<a class="nav-link match-link-stats" href="/football/matches/match867851_Kalteng_Putra-Arema-online/" title="Stat"><i class="icon-match-link"></i></a>

そして、この要素から "/football/matches/match867851_Kalteng_Putra-Arema-online/" を取得したいのですが、どうすればいいですか?どうすればいいのでしょうか?

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

この回答は、あなたがすでに Tag 要素をオブジェクトとして使用します。 そうでない場合は、KunduKの回答を使用してください。


を使用することができます。 tag.get('href') または tag['href'] :

>>> tag.get('href')
'/football/matches/match867851_Kalteng_Putra-Arema-online/'
>>> tag['href']
'/football/matches/match867851_Kalteng_Putra-Arema-online/'

という違いがあります。 tag.get('href') はその属性が存在しない場合は None を返しますが tag['href'] が発生します。 KeyError の場合は、そのようになります。 という動作と同じです。 dict .

完全な例です。

>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup('<a class="nav-link match-link-stats" href="/football/matches/match867851_Kalteng_Putra-Arema-online/" title="Stat"><i class="icon-match-link"></i></a>')
>>> tag = soup.find('a')
>>> type(tag)
<class 'bs4.element.Tag'>
>>> tag.get('href')
'/football/matches/match867851_Kalteng_Putra-Arema-online/'
>>> tag['href']
'/football/matches/match867851_Kalteng_Putra-Arema-online/'