我一直试图在我的垃圾项目中启用下载中间件,但它似乎根本没有被识别。我安装了一些第三方中间件,我不知道它是否正在使用。我甚至尝试过卸载中间件包并运行我的代码,它在运行时没有出现任何错误,说明包不存在或任何因此而引起的混乱。在
我的一切设置.py和其他参数一样,它们在设置中被正确定义设置.py,但感觉下载器中间件根本不工作。在
这是我的设置.py文件
DOWNLOADER_MIDDLEWARE = {
'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware': None,
'scrapy_fake_useragent.middleware.RandomUserAgentMiddleware': 110, #installed with pip
'scrapy.downloadermiddlewares.retry.RetryMiddleware': 190,
'scrapy_proxies.RandomProxy': 200, #installed with pip
'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware': 210,
}
这是我在运行scrapy crawl spider时的日志:
^{pr2}$似乎downlaoder_中间件代码只是被忽略了,因为不管我安装了其他第三方中间件,UserAgentMiddleware是以任何方式启用的。在
我也尝试过在我的蜘蛛网.py与此类似(自定义管道按预期工作),但不管我是否有自定义设置,都会发生同样的事情:
custom_settings = {
'ITEM_PIPELINES': {
'someCustomPipeline': 300,
},
'DOWNLOADER_MIDDLEWARE': {
'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware': None,
'scrapy_fake_useragent.middleware.RandomUserAgentMiddleware': 110, #installed with pip
'scrapy.downloadermiddlewares.retry.RetryMiddleware': 190,
'scrapy_proxies.RandomProxy': 200, #installed with pip
'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware': 210,
}
}
为了禁用所有默认的中间件,文档要求您在
DOWNLOADER_MIDDLEWARE
中显式地将DOWNLOADER_MIDDLEWARES_BASE
中找到的所有中间件设置为None
。正如文件中所说的here?在相关问题 更多 >
编程相关推荐