2015-03-16 2 views
1

Я пытаюсь создать iron.io работника, используя scrapy.Железный рабочий и scrapy

Согласно iron.io, мы должны поместить все зависимости для кода в самом рабочем.

Я создал папку под названием module, которая будет иметь все сторонние модули и установленную процедуру через pip.

pip install scrapy -t module/ 

При попытке запуска Scrapy через python module/scrapy/__init__.py Я получаю

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' 
+0

Это странный способ запустить scrapy, почему вы так делаете? – alecxe

+0

может быть, вы могли бы сообщить мне, как я могу сделать то же самое для скрипирования, не будет установлено через пип на железного работника. –

+0

Я просто имел в виду, почему вы используете scrapy с помощью 'python module/scrapy/__ init __. Py'? – alecxe

ответ

0

Вы, вероятно, будет лучше использовать Scrapy из кода металлист, а не вызывать его из командной строки, так же, как это имеет на первой странице http://scrapy.org/ или в учебнике: http://doc.scrapy.org/en/0.24/intro/tutorial.html

Чтобы использовать это в IronWorker, после того, как вы выполнили настройку pip, обязательно добавьте:

в файл .worker. Затем в вашем рабочем сценарии вы импортируете его:

import scrapy 

Затем используйте его, как указано в приведенной выше ссылке.

+0

Мне нравится @alecxe ответ, как запустить scrapy из скрипта. Ваш ответ правилен относительно того, как установить скрипинг на железного работника. –

1

Если вы не имеете Scrapy исполняемым доступны, вы можете запустить через Scrapycmdline:

python module/scrapy/cmdline.py 

Вы можете также бег Scrapy из сценарий. Here is a very detailed answer.

+0

Спасибо. Я получаю эту ошибку https://gist.github.com/harikt/cbf26a32904439fcb7b4 –

+0

Мне нравится ваш ответ, как запустить scrapy из скрипта. Поскольку мы можем установить scrapy на работника по пипсу, я чувствую, что это будет более точно. Благодаря! –

+0

@HariKT оцените его, спасибо. Счастливый веб-соскабливание. – alecxe

Смежные вопросы