scrapy_redis起始url需要参数时解决办法

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格式的数据}'

你可能感兴趣的:(爬虫,python,redis)