現在、Scrapy Pythonライブラリを使用しています。処理DOWNLOAD_DELAYが連続した要求に対して機能しない
最初に私はで自分自身をログに記録するFitbitのログインページ(https://www.fitbit.com/login)にFormRequestの呼び出しを行います。その後、私はFitbitのAPI(https://api.fitbit.com)に100回の要求に近づけます。
APIを強調しないために(そして禁止されないように)、settings.pyファイルのDOWNLOAD_DELAYを使用してリクエスト間に遅延を設定したいと考えました。しかし、それは動作していません。
私はチュートリアル(http://scrapy.readthedocs.io/en/latest/intro/tutorial.html)でテストしていましたが、そこで正常に動作していました。
あなたはどう思いますか?私はAPI(そのような種類のアクセスを処理するはずです)を要求しているのでしょうか?
EDIT:
class FitbitSpider:
start_urls = ["https://www.fitbit.com/login"]
def parse(self, response):
yield scrapy.FormRequest(url,formdata,callback=after_login)
def after_login(self, response):
for i in range(100):
yield scrapy.Request("https://api.fitbit.com/[...]")
EDIT 2:ここで私のsettings.pyファイルです:
BOT_NAME = 'fitbitscraper'
SPIDER_MODULES = ['fitbitscraper.spiders']
NEWSPIDER_MODULE = 'fitbitscraper.spiders'
DOWNLOAD_DELAY = 20 #20 seconds of delay should be pretty noticeable
どのチュートリアルですか?どのようなコードをテストしましたか?擬似的な解決策が必要ない場合は、擬似コードではなく、実際のコードを表示してください。 – furas
http://scrapy.readthedocs.io/en/latest/intro/tutorial.html。遅れが観察されない限り、こすれは適切に働いています。コードは300行であるので、私はここでそれを与えることはできません(トピックとは無関係でしょう、と私は信じています)。 – Xema
あなたの 'settings.py'を表示してください。また、それが機能していないことをどうやって見つけましたか?完全な情報を提供することが最善です。 –