属性の値を取り出す
これまではタグの中の文字(.text)を取得してきましたが、リンク先のURL(href属性)や画像のパス(src属性)のように、タグの「属性」に情報が入っていることもよくあります。属性の値はタグ.get('属性名')という書き方で取り出せます。
⚠️ 注意:タグ['属性名']という書き方もありますが、こちらはその属性が存在しないとKeyErrorになります。get()なら存在しなくてもNoneを返すだけなので、安全に書きたいときはget()がおすすめです。
これまではタグの中の文字(.text)を取得してきましたが、リンク先のURL(href属性)や画像のパス(src属性)のように、タグの「属性」に情報が入っていることもよくあります。属性の値はタグ.get('属性名')という書き方で取り出せます。
from bs4 import BeautifulSoup
html = '<a href="https://example.com">サンプルサイト</a>'
soup = BeautifulSoup(html, 'html.parser')
link = soup.find('a')
print(link.text)
print(link.get('href'))練習問題:'<img src="photo.jpg" alt="写真">'というHTMLから、imgタグのsrc属性とalt属性をそれぞれ表示してください。
from bs4 import BeautifulSoup
html = '<img src="photo.jpg" alt="写真">'
soup = BeautifulSoup(html, 'html.parser')
img = soup.find('img')
print(img.get('src'))
print(img.get('alt'))