BeautifulSoupとは、HTMLやXMLなどのマークアップ言語から情報を抽出するPythonのライブラリである。BeautifulSoupを使うことで、Webスクレイピングを行う際に必要なHTMLのタグの解析や、タグから情報を抽出することが容易になる。

BeautifulSoupは、Pythonの標準ライブラリに含まれていないため、まずは以下のコマンドを実行してインストールする必要がある。

pip install beautifulsoup4

BeautifulSoupを使うには、まず解析したいHTMLファイルを指定する必要がある。例えば、以下のようなHTMLファイルがあるとする。

<!DOCTYPE html> <html> <head> <title>BeautifulSoup Example</title> </head> <body> <h1>Web Scraping with BeautifulSoup</h1> <p class="description">This is an example of how to use BeautifulSoup to scrape a website.</p> <ul> <li>Step 1: Load the HTML</li> <li>Step 2: Find the Data</li> <li>Step 3: Extract the Data</li> </ul> </body> </html>

このHTMLファイルをBeautifulSoupで解析するには、以下のようにコードを書く。

from bs4 import BeautifulSoup # HTMLファイルを読み込む with open("example.html") as fp: soup = BeautifulSoup(fp, "html.parser") # h1タグのテキストを取得する heading = soup.find("h1").text print(heading) # pタグのクラス名からテキストを取得する description = soup.find("p", class_="description").text print(description) # ulタグのすべてのリストアイテムを取得する steps = soup.find("ul").find_all("li") for step in steps: print(step.text)

上記のコードでは、BeautifulSoupでHTMLファイルを解析し、h1タグ、pタグ、ulタグから情報を抽出している。この例では、h1タグのテキスト、pタグのクラス名からテキスト、ulタグのリストアイテムのテキストを取得している。

BeautifulSoupには、他にも様々な機能がある。例えば、CSSセレクタを使って要素を検索することができ、XMLファイルから情報を抽出することもできる。

Webスクレイピングを行う際に、HTMLファイルから情報を抽出することは非常に重要である。BeautifulSoupはそのための強力なツールであり、PythonのWebスクレイピングにおいて欠かせないライブラリの一つである。

リンク

BeautifulSoup[EN]