がdownload_delayとConcurrent_requestsためscrapyのドキュメントを見て期待通りに動作していない、私が理解することです:私は「CONCURRENT_REQUESTS」を持つ場合:1秒の25とdownload_delayを、それがかつてscrapyは25ページを要求していることを意味し、scrapyすべての25がダウンロードされるのを待ってから1秒待ってから、再度25ページを要求します。私が0秒のdownload_delayを使用している場合、1秒の遅延なしで上記と同じ処理を行います。しかし、私がスクレーパーでこれらの設定を使用したとき、私のネットワーク使用量がちょうどちょうど私は0秒の遅延と比較して、0秒の遅延と比較して、0秒の遅延平均0.3Mbps(最大0.4Mbps)。ScrapyのDownload_Delayと同時要求
class DetailsxxxSpider(scrapy.Spider):
name = "details"
allowed_domains = ["www.xxx.com"]
download_delay = 1
custom_settings = {'CONCURRENT_REQUESTS': 25}
def start_requests(self):
engine = create_engine('sqlite:///temp.db')
Base.metadata.bind = engine
DBSession = sessionmaker(bind=engine)
session = DBSession()
urls = session.query(Temp.url).filter_by(status = "Insert").all()
# print urls
for url in urls:
yield Request(url[0])
クロール率1秒の遅延を使用するときに0秒の遅延を使用して、1800頁/分の平均は43ページ/ページ/分率は、理想的には、900ページをする必要がありますけれども分である/分:ここに私のコードです。 1秒の遅延を使用すると、download_delayがリクエストごとに設定されているようです。
私はすべてのリクエストに対してプロキシを使用しています。私は何が欠けていますか? 25リクエストが1秒になると、Delayを設定できる方法はありますか? 私は理想的には900ページ/分のスピードが欲しい。どんな助けもありがとう。
download_delayあなたは= 1をdownload_delay使用する場合、それはそう秒で同じWebサイトからの連続したリクエストの間
を待機する時間であるおかげで
連続リクエストごとに遅延を設定するのではなく、25リクエストが1秒になるようにダウンロード遅延を設定する方法はありますか? –
これはスクラピーの設定で行うことはできないようです。 –