PythonはWebスクレイピング処理に関するライブラリが充実しているため、Webスクレイピングを行う際によく使用されます。今回は、PythonのWebスクレイピングライブラリで有名なBeautifulSoupを使って、Webページから特定の要素を抽出する方法について解説します。
BeautifulSoupとは
BeautifulSoupはPythonのライブラリで、HTMLやXMLを解析するために使用されます。BeautifulSoupは外部モジュールなので、pipであらかじめインストールが必要です。
pip install beautifulsoup4
要素の抽出
BeautifulSoupを使ってWebページから特定の要素を抽出する基本的な手順は以下の通りです。
- まず、対象のWebページを開きます。これには
urllib.request.urlopen()
を使用します。 - 次に、BeautifulSoupのインスタンスを作成します。これには
BeautifulSoup(res, 'html.parser')
を使用します。ここでres
は開いたWebページのリソースで、'html.parser'
はHTMLを解析することを指定しています。 - 最後に、
soup.html.head.title
のようにHTMLの構造に従って任意の要素にアクセスします。
以下に具体的なコードを示します。
import urllib.request
from bs4 import BeautifulSoup
# 対象のサイトURL
url = "https://qiita.com/chanmaru"
# URLリソースを開く
res = urllib.request.urlopen(url)
# インスタンスの作成
soup = BeautifulSoup(res, 'html.parser')
# head内のタイトルタグを取得
site_title = soup.html.head.title
# 取得したタイトル情報を出力
print(site_title.string)
このコードを実行すると、指定したURLのWebページのタイトルが出力されます。
以上がPythonとBeautifulSoupを使ってWebページから特定の要素を抽出する基本的な方法です。これを応用することで、より複雑なWebスクレイピングを行うことが可能になります。