一些请求,用requests或者postman没有问题,而用scrapy出现问题。
一部分原因是因为headers写的不够准确,还有一部分则是因为参数的原因。
scrapy发送post请求,参数的value必须是字符串,requests则没有那么严格。
def start_requests(self):
yield scrapy.FormRequest(
url='https://www.******.com/jobs/positionAjax.json?city=%E5%B9%BF%E5%B7%9E&needAddtionalResult=false',
formdata={
'first': 'true',#这里不能给bool类型的True,requests模块中可以
'pn': '1',#这里不能给int类型的1,requests模块中可以
'kd': 'python'
},这里的formdata相当于requests模块中的data,key和value只能是键值对形式
callback=self.parse
)