最近在爬一个网站,通过登录之后,获取信息。
遇见的问题:
采取的selenium模拟登陆。因为有验证码的关系,直接用requests实现登陆不太方便,所以采用的selenium模拟登陆。
登陆之后,使用selenium中的get_cookies获取的cookie 并不能直接拿回数据,和数据所在的请求接口中的cookie有区别。
真实数据所在的cookie多了一个参数。
经过一番的js调试,想要模拟出set-cookie的过程,直接破解cookie来拿回数据。
一番调试之后,发现js的层级关系过于复杂,选择了放弃。
后来选择了Session保持会话的功能来获取数据。
通过抓包之后发现:
数据所在请求接口之前,先访问了这样一个页面:
接着往上寻找,
发现这样一个页面请求:
对两个框中的url进行拼接。
是不是可以得到url?接着用session进行保持会话即可。
代码如下:
def session_keep(self): try: url = '