スクレイピング 中級

82. BeautifulSoupの準備とパース

HTMLの文字列をそのまま扱うのは大変

response.textは、あくまで長い1つの文字列です。この中から「見出しの部分だけ」を自分で探そうとすると、文字列操作だけではとても大変な作業になってしまいます。そこで使うのがBeautifulSoup(事前にpip install beautifulsoup4が必要です)です。

soupオブジェクトを作る

BeautifulSoup(HTML文字列, 'html.parser')と書くことで、HTMLを解析済みの「soup」と呼ばれるオブジェクトに変換します。あとはこのsoupに対してメソッドを呼び出すことで、欲しいタグを検索していきます。

サンプルコード

from bs4 import BeautifulSoup

html = '<html><body><h1>タイトル</h1></body></html>'
soup = BeautifulSoup(html, 'html.parser')
print(soup.h1)
soup.h1のように、タグ名をそのままドットでつなげると、そのタグ(最初に見つかった<h1>)をまるごと取得できます。次のレッスンから、もっと自由な検索方法を学んでいきます。

📝 練習問題

練習問題:'<html><body><p>Pythonは楽しい</p></body></html>'というHTMLをBeautifulSoupで解析し、soup.pをそのまま表示してください。