Scrapyd:如何将多个设置值传递给scrapy服务

时间:2013-07-30 02:48:09

标签: python urllib2 scrapy urllib web-crawler

以下是scrapy文档中的一个示例:

$ curl http://localhost:6800/schedule.json -d project=myproject -d spider=somespider -d setting=DOWNLOAD_DELAY=2 -d arg1=val1

但如果我想同时设置DOWNLOAD_DELAY = 2和CONCURRENT_REQUESTS = 4,该怎么办? 如何用urllib2做到这一点?

2 个答案:

答案 0 :(得分:4)

有两种解决方案。

首先,试试这个:

$ curl http://localhost:6800/schedule.json -d project=myproject -d spider=somespider -d setting=DOWNLOAD_DELAY=2 -d setting=CONCURRENT_REQUESTS=4 -d arg1=val1

第二个:在settings.py文件夹(包含myprojectpipelines.py的目录)中新建一个名为items.py的文件。并将所有设置放入其中。这是一个example

答案 1 :(得分:0)

您可以通过将列表传递给设置参数来实现

import requests
r = requests.post('http://localhost:6800/schedule.json', data={
        'project': 'your_project',
        'spider': 'your_spider',
        'url': url,
        'setting': ['key1=value1', 'key2=value2']
        })