Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法在Scrapy中定义自定义下载程序中间件_Python_Scrapy - Fatal编程技术网

Python 无法在Scrapy中定义自定义下载程序中间件

Python 无法在Scrapy中定义自定义下载程序中间件,python,scrapy,Python,Scrapy,我正试图在Scrapy中设置一个定制的downloader中间件类。我怀疑我错过了一些明显的东西,但我已经阅读了几次文档,没有找到解决方案。我对这项极其简单的任务感到有点沮丧,所以希望有人能给我提供一些见解 我已将以下行添加到我的settings.py文件中 DOWNLOADER_MIDDLEWARES = { 'myproject.middlewares.TestDownloader': 400 } 在添加该行并运行项目后,我得到了一个关于模块中间件不存在的错误。经过一些研究,我发现需要将\

我正试图在Scrapy中设置一个定制的downloader中间件类。我怀疑我错过了一些明显的东西,但我已经阅读了几次文档,没有找到解决方案。我对这项极其简单的任务感到有点沮丧,所以希望有人能给我提供一些见解

我已将以下行添加到我的settings.py文件中

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
里面,这应该也能起作用。

是的,这是一个我从未想到过的极其简单的解决方案。非常感谢。