10章フォームとログインでクローリング

Webスクレイピングの基本から次へ進むときに出てくる最初の質問は、「ログインスクリーンの後に得られる情報にどのようにアクセスすればよいか」です。Webは、ソーシャルメディア、ユーザ生成コンテンツなどますますインタラクションを増やす方向に向かっています。フォームやログインは、この種のサイトの一部であり、回避することはほとんど不可能です。しかし、これらも比較的容易に扱えます。

ここまで、スクレイパーの例でのWebサーバとのインタラクションは、情報をリクエストするHTTP GETを使うことでした。本章では、情報をWebサーバに送って保存や分析をするPOSTメソッドに焦点を当てます。

フォームは、基本的にユーザにPOSTリクエストをサブミットさせて、Webサーバが理解して使えるようにします。WebサイトのリンクタグがGETリクエストをフォーマットするのに役立つのと同様に、HTMLフォームはPOSTリクエストをフォーマットするのに役立ちます。もちろん、ちょっとしたコーディングで、これらのリクエストを自分で作り、スクレイパーでサブミットすることもできます。

10.1 Requestsライブラリ

WebフォームをPythonコアライブラリだけで探索することも可能ですが、ちょっとした構文糖衣で、仕事がずっと楽になります。urllibで基本的なGETリクエストだけでは満足できない場合、Pythonのコアライブラリの外の世界を見るのが役立ちます。

Requestsライブラリ(http://www.python-requests.org)は、複雑なHTTPリクエスト、クッキー、ヘッダ、その他多くを扱います。Requestsの開発者Kenneth Reitzは、Pythonのコアツールについて次のように述べています。 ...

Get PythonによるWebスクレイピング 第2版 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.