如何在我的scrapy项目中添加自定义蜘蛛中间件?
假设我想要this一个。正如documentation所说,我添加了
SPIDER_MIDDLEWARES = { 'myproject.middlewares.IgnoreVisitedItems': 543,}
到settings.py以及上面指向_init_.py
文件夹中 spider
的链接的代码。
但我得到了:
ImportError:加载对象'myproject.middlewares.IgnoreVisitedItems'时出错:没有名为middlewares的模块
我在this上尝试了一些事情,但事实并非如此。
这是我的项目结构:
我应该如何使用这个自定义中间件?我只需要一个通用方法来使它工作,而不是专门针对这个项目。
答案 0 :(得分:2)
您的目录结构似乎没有您在项目settings.py文件中引用的名为middlewares
的文件,此外,您的项目名称似乎是cnn
而不是{{1 }}
如果是这种情况,你将不得不做两件事:
将您的设置myproject
条目更改为:
SPIDER_MIDDLEWARES = {'cnn.middlewares.IgnoreVisitedItems':543,}
编辑:但请注意,在大多数情况下,scrapy默认会忽略已访问的请求,除非您强制它使用Request's dont_filter parameter
重新抓取它们