一部のスパイダーではhttp-proxyを有効にし、他のスパイダーでは無効にしたいと考えています。さまざまなスパイダーのための異なる治療設定を設定するにはどうすればいいですか?
私はこれを行うことはできますか?
# settings.py
proxy_spiders = ['a1' , b2']
if spider in proxy_spider: #how to get spider name ???
HTTP_PROXY = 'http://127.0.0.1:8123'
DOWNLOADER_MIDDLEWARES = {
'myproject.middlewares.RandomUserAgentMiddleware': 400,
'myproject.middlewares.ProxyMiddleware': 410,
'scrapy.contrib.downloadermiddleware.useragent.UserAgentMiddleware': None
}
else:
DOWNLOADER_MIDDLEWARES = {
'myproject.middlewares.RandomUserAgentMiddleware': 400,
'scrapy.contrib.downloadermiddleware.useragent.UserAgentMiddleware': None
}
上記のコードが機能しない場合は、他にも提案はありますか?
を使用し、あなたが同じプロジェクトで複数のクモをしたい特定のケースがあります。 – rajat