0

我在~/portia/slyd/data/projects/scrap设置时有一个 portia scrapy 项目scrap.middlewares.RandomUserAgentMiddleware在 DOWNLOADER_MIDDLEWARES中使用,RandomUserAgentMiddleware~/portia/slyd/data/projects/scrap/middlewares.py.

部署项目后,生成的 egg 不包含middlewares.py,所以我收到此错误:

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

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

编辑:

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

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

4

1 回答 1

0

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

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

更多信息可以在官方 scrapy 文档中找到。

于 2014-09-17T20:57:06.683 回答