2016-03-10 2 views
0

Я использую Scrapyd для использования scrapy как webservice.Использование Scrapyd с аргументами

Я хотел бы использовать завиток команду с параметрами, как это:

curl http://myip:6800/schedule.json -d project=default -d spider=myspider -d domain=www.google.fr 

Но я не знаю, как получить домен параметра в Crawler.

import scrapy 
from scrapy.spiders import CrawlSpider, Rule 
from scrapy.linkextractors import LinkExtractor 

class MyItem(Item): 
    url = Field() 

class HttpbinSpider(CrawlSpider): 

    name = "expired" 
    start_urls = [domain] 

Мне нужно передать иногда один домен или кратные в аргументах.

Thank's!

ответ

1

Это не возможно из-за недостающей функции в терапии.

Пользователи обычно обойти это с помощью сериализации аргументы свернуться , а затем десериализации в инициализации паука().

curl http://myip:6800/schedule.json -d project=default -d spider=myspider -d domains='["www1.example.com", "www2.example.com"]' 

Код:

class MySpider(Spider): 
    def __init__(self, domains=None): 
     domains = json.loads(domains) 
     # do something with domains... 
Смежные вопросы