ImportError:加载对象'scrap.middlewares.RandomUserAgentMiddleware'时出错:没有名为scrap.middlewares的模块

时间:2014-09-17 19:31:56

标签: python scrapy scrapyd

我在~/portia/slyd/data/projects/scrap设置中设置了一个portia scrapy项目,以便在DOWNLOADER_MIDDLEWARES中使用scrap.middlewares.RandomUserAgentMiddlewareRandomUserAgentMiddleware中定义了~/portia/slyd/data/projects/scrap/middlewares.py

部署项目后,生成的鸡蛋不包含middlewares.py,因此我收到此错误:

ImportError: Error loading object 'scrap.middlewares.RandomUserAgentMiddleware': No module named scrap.middlewares

如何告诉scrapyd-deploy采用自定义中间件?

编辑:

我的settings.py就是:http://pastebin.com/8gFU3YEw

我也尝试在生成的鸡蛋中手动包含middlewares.py,但它没有解决它,仍然是同样的错误。

1 个答案:

答案 0 :(得分:0)

它们应放在settings.py文件中。应声明DOWNLOADER_MIDDLEWARES变量,其中包含要使用的自定义中间件列表。这里有一个应该涵盖你案例的例子:

DOWNLOADER_MIDDLEWARES = {
    'scrap.middlewares.RandomUserAgentMiddleware': 5,
}

更多信息可以在official scrapy documentation

中找到