Я создаю сканер с помощью scrapy и запускаю его на удаленной машине, на которой работает scrapyd. Мой паук довольно длинный и сложный, поэтому я поместил некоторые функции в другой файл def.py
.
Мой проект выглядит так
./
|-- my_project
| |-- __init__.py
| |-- items.py
| |-- pipelines.py
| |-- settings.py
| `-- spiders
| |-- __init__.py
| |-- spider.py
`-- scrapy.cfg
`-- def.py
Я импортирую свою функцию в свой паук со следующим кодом
from def.py import get_questions
и использовать его в моем пауке.
Он отлично работает на моем локальном компьютере, но если я отправлю запрос на сканирование в scrapyd, он не сможет найти def.py
. (ImportError
)
Я использую scrapyd-deploy
из пакета pypi scrapyd-client
scrapyd-deploy my_spider
Можно ли включить файл def.py
или включить функции при отправке запроса на scrapyd
?
Я бы предпочел не иметь паука с сотнями строк кода.
def.py
в папкуspider
? вы все еще можете импортировать его, используяprojectname.spiders.def import def.py
- person William Kinaan   schedule 04.08.2015