这是一个求助帖,今天在练习爬虫时模拟登录拉勾网。有一个challenge参数,虽然用chrome断点判断出了它的值,也知道在哪个请求里可以得到哪个值,但是生成challenge参数的请求我怎么也构造不出来,因为他是一个post请求,它的请求体是一个request payload,但是不是字典形式的,而且每次都不一样。以下是我的分析过程。
首先,我们找到登陆的data
可以看到有一个password和challenge参数使我们不能确定的,那我们全局搜索一下,很容易找到这两个参数的生成位置,如下图。
password的生成方式很简单就能看的懂,但是,这个challenge参数等于a,那a又是等于什么呢?那么就用chrome断点调试一下,得到了a也就是challenge的值,如下图:
等我们鼠标停留在上面自动回显示出a(challenge)的值。然后我们把challenge的值复制下来,放到全局去搜索,也确实找到了响应体中包含这个值的连接,如下图:
可以看到一个类似于“gt_judgement…”的连接响应体包含的有challenge的值。
现在只要构造出这个连接的请求方式,然后让它返回响应就可以了。
但是我分析这个连接,发现这是一个post请求,请求体是一个Request Payload, 关键人家还是一个每次请求都会变的一个值,看下图:
看到途中那一大串字符串了吗,不是字典,我也不知道是什么,反正我就是不知道何从下手,我都不知道这三千多个变的字符从哪里来的,所以,各位,帮忙分析一下吧。