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.