使用scrapy版本0.16。尝试根据this gist创建一个可从脚本运行的独立蜘蛛。导入以上内容会产生以下结果:
Traceback (most recent call last):
File "./spiderctl.py", line 8, in <module>
from scrapy.conf import settings
File "/usr/local/lib/python2.6/dist-packages/scrapy/conf.py", line 4, in <module>
from scrapy.project import crawler
ImportError: cannot import name crawler
文件conf.py包含以下行:
from scrapy.project import crawler
但文件scrapy.project只是一个注释,该模块已被弃用,用户应改为实现from_crawler类方法。我如何在上面的代码的上下文中实现它?
答案 0 :(得分:1)
我认为你是scrapy
的旧版本,因为最新版本没有你提到的那一行:
https://github.com/scrapy/scrapy/blob/master/scrapy/conf.py
更新:
嗯,就在那里:https://github.com/scrapy/scrapy/commit/e8e5a62c20b3d217cc55038f30e495ca183bbba7#L1R0
尝试安装最新版本,看看它是否有效:
python setup.py install
答案 1 :(得分:1)
您可以在this new FAQ中找到此问题的答案:
基本上,您需要使用from_crawler
类方法以不同方式访问抓取工具,而不是从crawler
导入scrapy.project
。