こんにちは!
今スクレイピングでとあるサイトからデータを収集しております。
データの件数は100万件近くあります。
間隔としては、リクエストするたびにsleep()を0〜3秒のランダムに実行するようにしました。
ただ、100万件のデータを集めるとなると結構時間がかかってしまうので並行処理をしようと思っています。使うコンピューターのCPUが1つしかないので、並列処理はできません。
そこで、疑問がわきました。そもそもSleepする目的は、同じIPアドレスからのアクセスを特定されてブロックされないため(あと、サイトの負担を軽減するためとか、?)だと思います。しかし、並行処理してしまうと結局同じコンピューターからのアクセスが増えるので平均値を考えた時にsleepを設定してもしなくても変わりないのではないでしょうか?
また、CPUが一つしかない中で分散して処理できる方法がありましたら教えていただきたいです。
知見のある方、何卒回答よろしくお願いします。
> 今スクレイピングでとあるサイトからデータを収集しております。データの件数は100万件近くあります。
その「とあるサイト」の所有者・管理者から許可をもらっていますか? 過去にクローラを作ってアクセスしたら業務妨害とかで逮捕されたという事例もありますので、お気を付けください。