スクレイピングとは
スクレイピングとはWebサイトからデータを抽出する手法のこと。
そのため、HTMLの構造を把握して目的のデータのみ抽出する条件を指定することがスクレイピングの主な作業になります。
事前準備
インストールするライブラリ
requests
Beautiful Soup
lxml
requests
requestsはURLを渡すことで目的のWebページを直接取得できます。
Beautiful Soup
取得したWebページを解析して、目的のデータを抽出するライブラリ。
HTMLタグや属性などさまざまな条件を指定できる。
XML
パーサー。
プログラミング言語の構文を解析する役割。
実践
Webページのリクエスト
r = request.get(URL)
print(r.txt) #レスポンスの内容
requestはもう使わない。
Beautiful Soupオブジェクトの作成
HTMLを取得できたらパーサーを指定し、BeautifulSoupオブジェクトを作成。
from bs4 import BeautifulSoup
html_doc = """htmlをここに入れる"""
soup = BeautifulSoup(html_doc, "lxml")
要素の取得
BeautifulSoupオブジェクトを作成できたら要素を取得する。
基本的な方法はタグ名をつなげて書く方法。
soup.title #titleタグの要素を取得
soup.a #aタグの要素を取得
find_allメソッドで条件に合う要素をすべて検索
find_allメソッドは指定した条件に一致した要素をすべて取得できる。
soup.find_all(['title', 'a'])
ほかにもたくさんのメソッドがあります。
気になる方は以下を参考にして下さい。