PythonはWebスクレイピングによく使用される言語で、その中でもBeautifulSoupはHTML解析に非常に便利なライブラリです。
BeautifulSoupとは
BeautifulSoupは、HTMLをパースするPythonのライブラリです。HTMLの取得と解析の二段構成のスクレイピング処理において、HTMLの取得にはrequests
モジュールがよく使われ、解析の部分を担当するのがBeautifulSoupです。
BeautifulSoupのインストール
BeautifulSoupはbs4
という名前でインストールできます。また、HTMLを解析するためのパーサとしてlxml
も一緒にインストールします。
pip install bs4 lxml
BeautifulSoupの基本的な使い方
BeautifulSoupを使うには、まずBeautifulSoupオブジェクトを作成します。これは、HTMLドキュメントを文字列としてBeautifulSoupのコンストラクタに渡すことで作成できます。
from bs4 import BeautifulSoup
# HTMLドキュメント
html_doc = """
<html><head><title>The Dormouse's story</title></head>
<body>
<p class="title"><b>The Dormouse's story</b></p>
"""
# BeautifulSoupオブジェクトの作成
soup = BeautifulSoup(html_doc, 'html.parser')
このBeautifulSoup
オブジェクトを通じて、HTMLの中身を取得したり、書き換えたりできます。
タグ名で検索
BeautifulSoupでは、HTMLのタグ名を指定して要素を検索することができます。
# 最初のaタグを取得
first_a_tag = soup.a
# 最初のaタグに囲まれたテキストのみを取得
first_a_tag_text = soup.a.text
以上がBeautifulSoupを使ったHTML解析の基本的な流れです。これを使えば、Webスクレイピングに必要なHTMLの解析がPythonで簡単に行えます。