scrapy_redis起始url访问时添加参数
scrapy_redis的起始访问是默认不带参数的,但大部分情况需要携带参数,解决办法就是重写make_request_from_data方法
class PinganSpider(RedisSpider): # scrapy.Spider)
redis_key = '爬虫名:start_urls'
# 重写make_requests
def make_request_from_data(self, data):
req_data = json.loads(data)
print(req_data)
url = req_data['url']
print(url)
return scrapy.FormRequest(
url,
formdata=req_data['data'],
# meta={'req_data': req_data}
)
redis调度器写入:
lpush 爬虫名:start_urls '{"url": "起始url", "data": json格式的数据}'