BeautifulSoupでWebスクレイピングしてみた
今回は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最終更新)をご覧ください