最近使用scrapy爬取某公共资源网站,发现该网站返回的是json数据,我就正常的使用 yield scrapy.FormRequest(url=url,formdata=data,dont_filter=True,callback=self.fy_parse_detail,headers=headers)去请求数据,结果返回的是:
改成:
yield scrapy.Request(url=url,body=json.dumps(data),dont_filter=True,callback=self.fy_parse_detail,headers=headers,method=‘POST‘)
结果数据就返回成功了:
注意:请求头中要把
‘Content-Type‘: ‘application/json;charset=UTF-8‘加上,不然也会获取不到数据: