在爬某个数据网站的时候,遇到了缺少参数的情况,
不知道哪里出了问题,写的代码是这样的
这个爬虫写了蛮久的,所以不爬出来有点不甘心,但是耽搁的时间实在太长了
然后某网站的请求头是这样的
在post请求时,因为参数值中有反斜杠,需要在构建参数时用\进行转义,用data字符串形式进行参数传递。
检查是不是需要携带token或者是headers里加了什么料。
param 参数没有,
。。。很明显,你这提交的数据和他们表单提交的少第一个参数啊
而且sign签名算法,应该是每次都不一样的把。你先把第一个参数补上再看看有没有其他问题。
在传递json格式数据时(content-type: application/json),使用json参数
改为如下代码试试:
r = requests.post(url=url, headers=headers, json=headers_sign)
你的params参数,不要加反斜杠,直接用json字符格式,因为你后面还用了json.dumps,这样在对方接收到params时,无法正确解析得到params 里面的参数,自然会提示你缺少参数格式了
网站多少
问题解决了。谢谢大家帮忙,原因是,/也是参数 需要再加一个反斜杠转义。