Pythonクローリング&スクレイピングデータ収集を読んでWebページの取得とスクレイピングのライブラリについて

Pythonで簡単にWebページを取得できるライブラリRequests

Webページを簡単に取得するには、Reuestsを使うと簡単にWebページを取得できる。
Requestsは、以下のことが簡単にできる。
・HTTPヘッダの追加
Basic認証
・自動文字エンコード
・レスポンスボディがgzip形式や、Deflate形式でも自動的に解凍してくれる。
・複数のページをクロールする場合、HTTPヘッダやBasic認証などの設定を使いまわせる。

HTMLのスクレイピングで使用するライブラリ

ライブラリには
lxml
Beatiful Soup
pyquery
がある。

lxmlは、C言語で書かれたXML処理の著名なライブラリであるlibxml2とlibxsltのPythonバインディング
libxml2とlibxsltはC言語で記載されているため、高速に動作する。

Beutiful SoupはシンプルかつAPIでデータを抜き出せるのが特徴。
古くから人気があるライブラリ。目的に応じて内部パーサーを切り替えられる。

pyqueryは、JavaScriptライブラリのJQueryと同じようなインターフェースでスクレイピングできる。

スクレイピングを行うためのライブラリは数多くあるが、
最初に1つだけ使い方を覚えるのであれば、lxmlがおすすめとのこと。

理由としては、スクレイピングは比較的重い処理なので、
高速に処理をしようとすると必然的にC言語拡張であるlxmlを使うことになるのと
また、問題が生じたときにlxmlの知識が必要になるため。

 

Pythonクローリング&スクレイピング -データ収集・解析のための実践開発ガイド-

作者: 加藤耕太 出版社/メーカー: 技術評論社 発売日: 2016/12/16 メディア: 大型本 この商品を含むブログ (3件) を見る