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のコアツールについて次のように述べています。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access