Beautiful Soup[bs4]のインストール手順と実行~pythonでWebスクレイピング~

自動的にホームページの内容を解析し、テキストを取得したい。

このような行為をWebスクレイピングと言います。

今回は、Webスクレイピングするために必要なPythonライブラリのBeautiful Soupのインストール手順を紹介します。

また、Beautiful Soup単体だけではWebスクレイピングに不足しているので、他のライブラリも必要になってくるので、その辺りも紹介します。

前提

前提

  • python3がインストールされていること
  • pip3がインストールされていること
  • Jupyter Nodebookがインストールされていること(動作検証用)

Jupyter Notebookのインストール方法は以下を参照ください。

Webスクレイピングの手順

Webスクレイピングの手順を確認すると以下のように3つの工程に分かれています。

  1. データを取得: HTMLを取得します
  2. データを解析: HTMLを解析します
  3. データを処理: 解析結果から所定のデータを抽出します。

WebスクレイピングとしてはBeautiful Soupが有名です。

しかし、Beautiful Soupは主にデータの解析に特化したライブラリになり、「データ取得」と「データ処理」は別のライブラリで行います。

データを取得するためのライブラリは「Requests」というものを利用します。まずはRequestsをインストールしましょう。

Requestsのインストール

以下のコマンドを実行します。

 command
pip3 install requests

動作確認

Jupyter Notebookで簡単に動作を確認してみましょう。

Web Scraping Test用ページを用意しているので以下のページをテストにご利用ください。

Web Scraping Test ページ | Yes We Can

Web スクレイピングは利用規約で禁止されている場合がある(例えば、楽天市場やYahooファイナンスなど)ので注意してください。

 command
imports requests
url = 'https://tobe-happy.com/web_scraping_test/'
response = requests.get(url)
response.text

と記載して、実行すると取得できました。

Beautiful Soupのインストール

次に、Beautiful Soupをインストールします。

 command
pip3 install beautifulsoup4

*忘れずに末尾の「4」を入力するようにしてください。

動作確認

インストールが無事に完了したかどうか確認しましょう。

確認のため、先頭のh1タグを取得します。

 command
soup = BeautifulSoup(response.text, "html.parser")
soup.find("h1")

結果として、以下を取得することができました。

 command
<h1 class=“entry-title st-css-no”>Web Scraping Test ページ</h1>

以下がオリジナルソースとなりますが、h1タグの内容を抽出できていますね。


Web スクレイピングの知識や技術を深めたい方は、以下のUdemyの講座がオススメです。

Pythonによるビジネスに役立つWebスクレイピング(BeautifulSoup、Selenium、Requests) PythonによるWebスクレイピング 〜Webアプリケーション編〜

  • B!