在scrapy中将json参数传递给蜘蛛

eng*_*zzy 4 json parameter-passing scrapy scrapyd

我应该向一个蜘蛛传递一些从json文件中获取的参数.我已经读过可以通过scrapyd使用schedule.json,但我不明白如何传递json文件.有人有经验吗?

mar*_*ven 7

您不使用JSON文件传递参数.Scrapyd有一个JSON API,您可以在其中传递参数.(例如$ curl http://localhost:6800/schedule.json -d project=myproject -d spider=somespider -d myargument="value")

您可以处理传递的参数kwargs:

class MySpider(Spider):

    name = 'somespider'

    def __init__(self, *args, **kwargs):
        super(MySpider, self).__init__(*args, **kwargs)
        self.myargument = kwargs.get('myargument', '')
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅http://scrapyd.readthedocs.org/en/latest/api.html.

  • 您本身无法传递文件。您最能做的是传递文件的路径。(例如`-d / path / to / file`),并让您的Spider在其代码中的某个地方处理该问题。 (2认同)