铁工人和scrapy

时间:2015-03-16 13:55:39

标签: python scrapy iron.io

我正在尝试使用scrapy创建一个iron.io工作者。

根据iron.io,我们需要将代码的所有依赖项放在worker本身中。

我创建了一个名为module的文件夹,它将包含所有第三方模块并通过pip安装scrapy。

pip install scrapy -t module/

尝试通过python module/scrapy/__init__.py运行scrapy时,我正在

Traceback (most recent call last):
  File "module/scrapy/__init__.py", line 10, in <module>
    __version__ = pkgutil.get_data(__package__, 'VERSION').decode('ascii').strip()
  File "/usr/lib/python2.7/pkgutil.py", line 578, in get_data
    loader = get_loader(package)
  File "/usr/lib/python2.7/pkgutil.py", line 464, in get_loader
    return find_loader(fullname)
  File "/usr/lib/python2.7/pkgutil.py", line 474, in find_loader
    for importer in iter_importers(fullname):
  File "/usr/lib/python2.7/pkgutil.py", line 424, in iter_importers
    if fullname.startswith('.'):
AttributeError: 'NoneType' object has no attribute 'startswith'

2 个答案:

答案 0 :(得分:1)

如果您没有Scrapy可执行文件,则可以通过Scrapy运行cmdline

python module/scrapy/cmdline.py

您还可以从脚本运行ScrapyHere is a very detailed answer

答案 1 :(得分:0)

您可能最好从IronWorker代码中使用Scrapy,而不是从命令行调用它,就像它在http://scrapy.org/的首页或教程中一样:http://doc.scrapy.org/en/0.24/intro/tutorial.html < / p>

要在IronWorker中使用此功能,在完成pip安装后,请务必添加:

pip 'scrapy' 

到您的.worker文件。然后在您的工作脚本中,您将导入它:

import scrapy

然后像上面的教程链接中所说的那样使用它。