PythonのライブラリであるBeautifulSoupは、HTMLやXMLからデータを抽出するための強力なツールです。この記事では、BeautifulSoupの基本的な使い方と、実際のスクレイピングで役立つTipsを紹介します。
BeautifulSoupのインストール
BeautifulSoupを使用するには、まずライブラリをインストールする必要があります。以下のコマンドを実行してインストールします。
pip install beautifulsoup4
基本的な使い方
BeautifulSoupを使用してHTMLの解析を行う基本的な手順は以下の通りです。
import requests
from bs4 import BeautifulSoup
# スクレイピング対象のURLにリクエストを送りHTMLを取得する
res = requests.get('http://quotes.toscrape.com/')
# レスポンスのHTMLからBeautifulSoupオブジェクトを作る
soup = BeautifulSoup(res.text, 'html.parser')
# titleタグの文字列を取得する
title_text = soup.find('title').get_text()
print(title_text)
# ページに含まれるリンクを全て取得する
links = [url.get('href') for url in soup.find_all('a')]
print(links)
このコードは、指定したURLからHTMLを取得し、BeautifulSoupオブジェクトを作成します。その後、find
メソッドとfind_all
メソッドを使用してHTML内の特定の要素を抽出します。
実践で使えるTips
BeautifulSoupを使ってスクレイピングをする場合に、個人的にどういう使い方をしているかをいくつかサンプルでご紹介します。
CSSセレクターを使って抽出
BeautifulSoupのチュートリアルや色々なサンプルではfind_xxx
系のメソッドがよく使われていますが、個人的にはCSSセレクターを使う場面がほとんどです。CSSセレクターを使って要素を取得したい場合、複数の要素を取得する場合はselect()
、1つだけ取得する場合はselect_one()
を使うことができます。
以上、PythonとBeautifulSoupを使用したスクレイピングの基本的な手順とTipsを紹介しました。これらの知識を活用して、効率的なデータ収集を行いましょう。