具体情况是爬取某个gps平台的数据,先用selenium驱动网页,然后具体数据使用requests获取。以下是请求的代码片段:
问题是Requests请求返回后header的content_length与实际的不一样,小了很多,因此返回包body中的数据有缺失。下图是调试过程中的content_length的返回值
post的data参数较多,但仔细对过了,应该没有什么问题,否则服务器也不会正常响应,但就是不返回主要数据。
有没有达人知道,为什么会出现上述问题?在哪些情况下,页面能正常返回,但影响返回数据的大小?
requests 头你都设置了吗?
应该是参数缺失,你没有对应的参数,实际数据也不会返回给你,你使用代理游览器和实际写接口请求的数据返回的不一样,证明一定是参数的问题
一般两点情况导致这种情况发生:
1、首先搞清楚浏览器用的发送形式是get、还是post,然后发送的参数不能少,动态变化的参数要跟着改变。多参数少参数都有返回,只是返回的未必是你的需求,建议不要改参数数量
2、cookie要设置完整。
肯定漏参数,拿去postman跑一次,看看相同数据能提交吗。
能的话就是head,cookies漏了
python requests两次结果不一样_不完整的Http读取和Python中Requests库
https://blog.csdn.net/weixin_29022821/article/details/113312688