【问题标题】:Scrapy do not get setting fetch from curl scrapyd settingsScrapy 没有从 curl scrapyd 设置中获取设置
【发布时间】:2018-08-04 18:06:23
【问题描述】:

我想通过以下方式将设置发送给爬虫:

curl http://127.0.0.1:6800/ -d project=project -d spider=spider -d 
setting=request_user=2

或者使用scrapyd python api:

scrapyd.schedule(project,spider,settings={'request_user':2})

然后从蜘蛛内部:

from scrapy.utils.project import get_project_settings
settings=get_project_settings()
request_user=settings.get('request_user')

但是,我总是得到request_user==None,这意味着爬虫永远不会收到来自scrapyd schedule 的设置。怎么了?

提前致谢

【问题讨论】:

    标签: curl scrapy settings scrapyd


    【解决方案1】:

    request_user 是蜘蛛变量,而不是设置。所以你可以像这样将它传递给蜘蛛:

    Scrapyd JSON API:

    curl http://127.0.0.1:6800/schedule.json -d project=project -d spider=spider -d request_user=2
    

    Scrapyd python API:

    scrapyd.schedule(project,spider,request_user=2)
    

    更多信息:

    Scrapyd JSON API 中的调度:https://scrapyd.readthedocs.io/en/stable/api.html#schedule-json

    Scrapyd python API 中的调度:https://python-scrapyd-api.readthedocs.io/en/latest/usage.html#schedule-a-job-to-run

    【讨论】:

      猜你喜欢
      • 2014-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-07
      • 2014-12-07
      • 1970-01-01
      • 1970-01-01
      • 2014-06-22
      相关资源
      最近更新 更多