Python 无法在Scrapy中定义自定义下载程序中间件
我正试图在Scrapy中设置一个定制的downloader中间件类。我怀疑我错过了一些明显的东西,但我已经阅读了几次文档,没有找到解决方案。我对这项极其简单的任务感到有点沮丧,所以希望有人能给我提供一些见解 我已将以下行添加到我的settings.py文件中Python 无法在Scrapy中定义自定义下载程序中间件,python,scrapy,Python,Scrapy,我正试图在Scrapy中设置一个定制的downloader中间件类。我怀疑我错过了一些明显的东西,但我已经阅读了几次文档,没有找到解决方案。我对这项极其简单的任务感到有点沮丧,所以希望有人能给我提供一些见解 我已将以下行添加到我的settings.py文件中 DOWNLOADER_MIDDLEWARES = { 'myproject.middlewares.TestDownloader': 400 } 在添加该行并运行项目后,我得到了一个关于模块中间件不存在的错误。经过一些研究,我发现需要将\
DOWNLOADER_MIDDLEWARES = { 'myproject.middlewares.TestDownloader': 400 }
在添加该行并运行项目后,我得到了一个关于模块中间件不存在的错误。经过一些研究,我发现需要将\uuu init\uuuu.py
文件添加到middleware
文件夹中,以便Python识别它。我这样做了,现在得到以下错误:
NameError: Module 'myproject.middlewares' doesn't define any object named 'TestDownloader'
未编译TestDownloader.py文件,而项目中的所有其他*.py文件都已编译。如果我正确理解我的Python阅读,这意味着它不会被导入到任何地方,但我找不到任何额外的Scrapy设置来进行更改以使其工作
DOWNLOADER_MIDDLEWARES = { 'myproject.middlewares.TestDownloader': 400 }
为此,在myproject
文件夹中创建文件middleware.py
,并在该文件中放入名为TestDownloader
的下载器中间件类
或者将
middleware
文件夹和\uuu init\uuuuuuuuuuuuuuuuuuuuuuuuuupy
放在\uuu init\uuuuuuuuuuuuuuuuuuuuuuuuupy
里面,这应该也能起作用。是的,这是一个我从未想到过的极其简单的解决方案。非常感谢。