2016-05-06 49 views
5

私はScrapyでAmazonを掻き集めようとしています。 しかし、私は= Amazonがボットを検出に非常に優れているからだと思いAmazonを擦っている間にブラックリストに載るのを防ぐ方法

DEBUG: Retrying <GET http://www.amazon.fr/Amuses-bouche-Peuvent-b%C3%A9n%C3%A9ficier-dAmazon-Premium-Epicerie/s?ie=UTF8&page=1&rh=n%3A6356734031%2Cp_76%3A437878031> 
(failed 1 times): 503 Service Unavailable 

このエラーを持っています。 どうすればこの問題を防ぐことができますか?

私はすべてのリクエストの前にtime.sleep(6)を使用しました。

私はAPIを使いたくありません。

私はあなたがアマゾンで非常に注意が必要とAmazonの利用規約およびWebスクレイピングに関連するポリシーに従わなければならないTORとpolipo

+0

tor + polipoは?それは動作しますか? –

+0

@ ji-ruh for amazon – parik

答えて

4

を使用してみました。

AmazonはボットのIPをかなり禁止しています。 DOWNLOAD_DELAYCONCURRENT_REQUESTSを微調整して、ウェブサイトをあまり頻繁に攻撃しないで、良いWebを掻き集める市民にならなければなりません。また、IPアドレス(たとえば、crawleraなど)とuser agentsなどを参照する必要があります。

+2

Crawleraはい、Amazonには動的なページ要素が多いことが多いので、scrapyjs/splashをスタックに追加することをおすすめします。 –

+0

私がCrawleraを使用している場合、Crawleraの推奨どおり速く掻きすることはできますか? CONCURRENT_REQUESTS = 32 CONCURRENT_REQUESTS_PER_DOMAIN = 32 AUTOTHROTTLE_ENABLED = False DOWNLOAD_TIMEOUT = 300' –

0

これは、あなたが面白いかもしれない、basic scrapy setup 2つのミドルウェア、1つはランダムIPアドレス、もう1つはランダムユーザーエージェントです。

+0

私はtorとpolipoを使用しますが、私はブラックリストに載っています。 – parik

+0

あなたがミドルウェアを共有するのに役立つと思うなら、何かを試してみることもできます。 Polipoを使用したことはありません。確認してください! – BB04Deng

+0

今私はCrawleraを使用しています。 – parik

関連する問題