Python クローリング/スクレイピング

代表的なPythonスクレピングライブラリ(サードパーティ)

ライブラリ 特徴
lxml + cssselect C言語ライブラリをバインディングしているので高速に処理できる。
Beautiful Soup html用やxml用など用途にあわせてパーサーを切り替えられる。
pyquery jQueryのインターフェースに近く、Webエンジニアには馴染みやすい。

 

クローリング

$ pip install requests  #ライブラリのインストール

>>> import requests
>>> res = requests.get(“URL“)
>>> res.text  #str型でボディ要素を取得できる

スクレピング(lxml + cssselect)

$ pip install lxml
$ pip install cssselect

>>> import lxml.html
>>> tree = lxml.html.parse(“file_name“)  #htmlファイルをパース
>>> html = tree.getroot()  #HtmlElementオブジェクトを取得
>>> html.cssselect(“cssセレクタ“)  #cssセレクタに対応した要素を取得