如何通过Django应用程序调用Scrapy Spider

Vin*_*ndo 6 python django web-crawler scrapy

我在django视图中调用scrapy蜘蛛时遇到了麻烦.我怎样才能做到这一点?我尝试按照本教程http://tryolabs.com/Blog/2011/09/27/calling-scrapy-python-script/,但在导入设置中无效.

mgo*_*ohn 2

如果错误来自

from scrapy.conf import settings
Run Code Online (Sandbox Code Playgroud)

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

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

"""settings.py"""
# stuff

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

# more stuff
Run Code Online (Sandbox Code Playgroud)

然后,scrapy.conf.settings您可以使用以下命令来代替 import :

from django.conf import settings
Run Code Online (Sandbox Code Playgroud)

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

self.crawler = CrawlerProcess(settings.SCRAPY_SETTINGS)
Run Code Online (Sandbox Code Playgroud)

如果您还有任何其他问题,请发布您收到的完整错误以及您的视图代码。