17章リモートでスクレイピング
前章では、Webスクレイパーを複数のスレッドやプロセスで実行しましたが、相互の通信は限られており、前もって計画しなければなりませんでした。本章では、このアイデアの論理的帰結として、クローラを別々のプロセスに留まらず、まったく別のマシンで実行します。
本章は本書の技術的な章の最後を飾ります。これまでPythonアプリケーションをすべて自分のコンピュータのコマンドラインから実行してきました。確かに、MySQLを現場のサーバ環境を複製する目的でインストールしたかもしれません。しかし、現場と同じではありません。諺にもあるように、可愛い子には旅させよ(If you love something, set it free)です。
本章では、スクリプトを別のマシンから、あるいは同じマシンでも別のIPアドレスから実行するためのいくつかの手法を述べます。このステップは、いますぐ必要ではないからという理由で後にしたいという誘惑に駆られるでしょうが、(有料ホスティングアカウントでの個人用Webサイトなどを)既に持っているツールでどれだけ簡単に始められるか、Pythonスクレイパーを自分のラップトップから実行するのを止めたらどれだけ楽になるかを知ったらきっと驚くことでしょう。
17.1 なぜリモートサーバを使うか
リモートサーバを使うのは、Webアプリを広範な利用者に向けてローンチするときには、自明なステップだと思えるでしょうが、私たちが自分のために作成したツールはローカルに実行されるのがほとんどでした。リモートプラットフォームに決めた人の動機は、普通、より強力で柔軟な能力の必要性と、別のIPアドレスが必要という2つが主です。
17.1.1 IPアドレスブロックを避ける ...
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.