一些請求,用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
)