もちブログ

とある技術職会社員の雑記

BeautifulSoupでWebスクレイピングしてみた

f:id:mochi1103blog:20191104135209p:plain

今回はPythonのWebスクレイピングモジュール「BeautifulSoup(以下BS)」を使った、Webページのスクレイピングを紹介します!

準備

.py形式のファイルで使用するにはモジュールをインストールする必要があります。
以下のコマンドでインストールすることができます

pip install beautifulsoup4

またBSのメソッドを使うにはインポートする必要があるので、
pyファイルの先頭で

from bs4 import BeautifulSoup

と書くのを忘れないように!

使い方

def scraping(){
   html = "<html>...</html>"
   soup = BeautifulSoup(html)
}

ただしBeautifulSoup()はURLを引数として扱えないため、
urllib3などと組み合わせると任意のWebページのHTMLを取得できます。

def scraping(){
   http = urllib3.PoolManager()
   r = http.request('GET', url)
   soup = BeautifulSoup(r.data, "html.parser")
}

これで変数soupには取得したHTMLが格納されています。


  • aタグを全て取得したいとき

例えば取得したHTMLに含まれるaタグを全て取得したい時は

data = soup.find_all('a')

とすることで取得できます。

また

data = soup.find('a')

もしくは

data = soup.a

とすることで指定タグの先頭だけ取り出すことができます。


以上がBeautifulSoupを使ったWebスクレイピングのご紹介となります。
詳しくはkondou.com - Beautiful Soup 4.2.0 Doc. 日本語訳 (2013-11-19最終更新)をご覧ください