【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 を行うことにより、中のテキストのみを取得することが出来ます。


この記事が気に入ったらサポートをしてみませんか?