2015-03-09 2 views
0

Я хочу создать свой собственный сервис для API scrapyd, который должен вернуть немного больше информации о запуске искателя. Я застрял в самом начале: где я должен разместить модуль, который будет содержать эту услугу. Если мы посмотрим на умолчанию «scrapyd.conf» это есть раздел под названием услуги:Реализация собственной услуги scrapyd

[services] 
schedule.json  = scrapyd.webservice.Schedule 
cancel.json  = scrapyd.webservice.Cancel 
addversion.json = scrapyd.webservice.AddVersion 
listprojects.json = scrapyd.webservice.ListProjects 
listversions.json = scrapyd.webservice.ListVersions 
listspiders.json = scrapyd.webservice.ListSpiders 
delproject.json = scrapyd.webservice.DeleteProject 
delversion.json = scrapyd.webservice.DeleteVersion 
listjobs.json  = scrapyd.webservice.ListJobs 

так это абсолютные пути к каждой услуге в пакете scrapyd, который помещается в папку Расс-пакеты. Есть ли способ разместить мой собственный модуль, содержащий службу не в папке dist-packages?

upd. Понял, что этот вопрос может быть неясным. Scrapy - это основа для анализа данных с веб-сайтов. У меня есть простой сайт django, откуда я могу запускать/останавливать сканеры для определенного региона и т. Д. (http://54.186.79.236 это по-русски). Манипуляция с помощью искателей происходит через scrapyd API. По умолчанию у него есть немного API только для сканеров start/stop/list и их журналов и т. Д. Эти API перечислены в этом документе http://scrapyd.readthedocs.org/en/latest/api.html Так что выше было небольшое введение, на вопрос сейчас. Я хочу расширить существующий API, чтобы получить больше информации от запуска искателя и отобразить его на моем сайте, упомянутом выше. Для этого мне нужно наследовать существующий scrapyd.webservice.WsResource и написать службу. Его нормально с этой частью, если я помещаю этот сервисный модуль в один из путей «sys.path». Но я хочу, чтобы эта служба содержала модуль в папке проекта проекта (по какой-то эстетической причине). Поэтому, если я сохраню его, он утверждает (предсказуемо) «Нет модуля с именем» на запуске scrapyd.

ответ

0

Итак, я решаю свою проблему в соответствии с this.

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