scrapy 发送一般的post请求采用formdata 进行请求,当发送payload方式的post请求时,使用formdata 请求就无法达到我们需要的效果。发现 FromRequest并不支持传request payload
解决办法:使用Request,添加body,并注明请求方法为post即可
必须要注意的点:
1、请求头一定要加上‘Content-Type’: 'application/json’
2、body 用json.dumps()转一下
代码实现如下:
yield scrapy.Request(url=url, body=json.dumps(data), method='POST', headers=self.headers, cookies=self.cookies, callback=self.parse, dont_filter=True)