前言
目前主流的QQ邮箱登录都是本地浏览器登录
- 1 载入网址 w.mail.qq.com/cgi-bin/log… 如下图所示

- 2 输入账号密码,登录成功以后获取Cookie,然后交给爬虫去干活。
- 3 但是最近QQ的安全策略日趋严格,所以会出现本地网页无法登录,必须使用一键登录,如下图所示。

解决方案
大体思路还是必须通过用户的手机QQ扫描二维码登录,再回到登录页面进行跳转。比如51信用卡给用户的提示

至于进行跳转的是爬虫还是直接在本地浏览器操作,这个都可以商榷。下面是操作步骤。
- 1 载入QQ邮箱Web页面的登录网址 mail.qq.com/cgi-bin/log… 如下图所示


-
2 有了pt_login_sig这个值以后可以本地执行Get请求地址为
-
ssl.ptlogin2.qq.com/ptqrlogin?u…
这里只需要替换login_sig的Value就行,其他的可以不用修改。一般会返回两种结果
ptuiCB('66','0','','0','二维码未失效。(3635426236)', '')
这种表示二维码可用默认为2分钟
或者
ptuiCB('0','0','ssl.ptlogin2.mail.qq.com/check_sig?p…', 'CeShi')
这个时候需要请求一下返回的网址,直接请求,不需要做任何替换。 如果执行成功会直接登录邮箱并且会收到提醒消息如图

- 3 最后在刚才卡住的页面执行跳转 地址为 ssl.ptlogin2.mail.qq.com/check_sig?u…
后续就会跳转成功。继续执行后面的操作