【Python】BeautifulSoupの使い方入門
pipコマンドでBeautifulSoupをインストールしたら使い始められます。
# Windowsだとpython -m が必要
python -m pip install beautifulsoup4
さて、BeautifulSoupの使い方についてです。
BeautifulSoupのサンプルコード
from bs4 import BeautifulSoup
import requests
target_url = 'https://example.com'
r = requests.get(target_url)
soup = BeautifulSoup(r.text, 'html.parser')
title = soup.select('title')
print(title[0])
# 出力: <title>pip: Python環境構築ガイド - python.jp</title>
print(title[0].string)
# 出力: pip: Python環境構築ガイド - python.jp
BeautifulSoupのサンプルコードの解説
一行ずつ行きます。
from bs4 import BeautifulSoup
bs4というパッケージの中にあるので、from bs4と記載。
4の部分はインストールしたときのバージョンに依るのでしょう。
import requests
requestsモジュールをインポートします。これとBSをセットで使うパターンが一番簡単なのでしょうね。
soup = BeautifulSoup(r.text, 'html.parser')
title = soup.select('title')
r.text には該当URLのページHTMLドキュメントが入っています。html.parserで綺麗に整形します。
title属性のページタイトルを取ってきます。
soup.select(str)のstrは、CSSと同様のセレクタ記載方式で、取得したいページのセレクタを記載します。
print(title[0])
# 出力: <title>pip: Python環境構築ガイド - python.jp</title>
print(title[0].string)
# 出力: pip: Python環境構築ガイド - python.jp
soup.selectで取得した値は配列に格納されます。
そのまま出力するとHTMLタグまで取得できてしまいます。
なので、.string を行うことにより、中のテキストのみを取得することが出来ます。