6

我无法在我的 django 视图中调用scrapy spider。我怎样才能做到这一点?我尝试按照本教程http://tryolabs.com/Blog/2011/09/27/calling-scrapy-python-script/但在导入设置中不起作用。

4

2 回答 2

2

如果错误来自

from scrapy.conf import settings

这可能是因为scrapy 根本找不到它所期望的设置文件。由于在 Django 中习惯于使用settingsdjango 自己的配置,因此如果您不使用该术语将是最清楚的。

您可以在 Django 设置中指定您的 scrapy 设置:

"""settings.py"""
# stuff

SCRAPY_SETTINGS = {
    ... # put your usual scrapy keys and values here
}

# more stuff

然后,您可以使用以下命令代替导入scrapy.conf.settings

from django.conf import settings

在脚本中引用scrapy设置的地方,您应该将 CrawlerProcess 的参数更改为 settings.SCRAPY_SETTINGS

self.crawler = CrawlerProcess(settings.SCRAPY_SETTINGS)

如果您还有任何问题,请发布您遇到的完整错误以及您查看的代码。

于 2014-02-26T20:45:32.273 回答
0

或者,您也可以像这样创建设置对象:

from scrapy.settings import Settings
settings = Settings()
settings.setmodule('path.to.scrapy.settings', priority='project')
于 2015-05-12T02:06:19.590 回答