Python, BeautifulSoup でスクレイピング

Python

Python でスクレイピングするといえば BeautifulSoup です。

インストール

$ pip install beautifulsoup4

使い方

import requests
from bs4 import BeautifulSoup

response = requests.get(URL)
soup = BeautifulSoup(response.text, "html.parser")

HTML 形式のテキストを渡すことで BeautifulSoup オブジェクトを作ることができます。第2引数のパーサーを指定しないと warning が出ます。

aタグ(リンク)を全部取得する

anchors = soup.find_all('a')
for anchor in anchors:
    print(anchor.get('href'))

全てのタグを取得するには find_all を使用します。aタグを指定することで BeautifulSoup オブジェクト内のすべてのaタグオブジェクトのリストを取得できます。

属性を取得するには get を使います。アンカーテキストを取得したい場合には

for anchor in anchors:
    print(anchor.string)

とすることでテキストのみを取得することができます。

タイトルとURLをコピーしました