Scrapy 发送Request Payload
首先要打开 F12 进入调试模式 然后 查看是用什么方法获取的
如果是Json:
1. json.dumps 转化成Json
yield Request(
url="xxxxx.com",
method="POST",
body=json.dumps(data),
headers={'Content-Type': 'application/json'},
callback=self.parse_json,
)
2. ajax方式 基于第一种
yield scrapy.Request(
method="POST",
url="xxx.com",
headers={
'Ajax-method': 'AjaxMethodFactory',
},
body="你需要写入的Request Playload",
callback=self.parse,
)
3. JsonRequest 直接发起请求
当然还有一种更屌的方法
直接导入 scrapy 中 http的JsonRequest的包 就可以像requests方式一样发起post请求 携带 json参数
yield scrapy.http.JsonRequest(
url=url,
data={
"title": "",
"noticeType": "22",
"purchaseType": "1",
"pageNum": str(i),
"pageSize": "100"
},
callback=self.parse
)