Py学习  »  Python

1千京豆等于十块钱!用Python实现京东自动登录领京豆!挣外快咯

Python学习交流 • 5 年前 • 385 次点击  

今天带大家进行模拟京东登录,并进行签到获取京豆,1000 个京豆 = 10 元,是不是一个发现了一个「发家致富」的好路子?

废话不多说,下面开始正题。

整体流程如下:

进群:125240963   即可获取数十套PDF哦!需要源码请单独私信!





浏览器在做什么

同样的套路,从浏览器进入到京东的登录页面,按下 F12进入开发者调试页面,在浏览器页面输入登录信息后,点击登录(可以尝试输入一个错误的密码,因为登录后页面直接跳转到了主页面,看不到我们要的数据了),可以看到一个 POST 请求:




本文就采用手动录入验证码的方式。

首先,如何判断页面是否需要输入验证码?

调试时,可以看到有这么一个请求:https://passport.jd.com/uc/showAuthCode:


showAuthCode

其返回值是:

({"verifycode":true})

显然,这个地址是用来判断是否该账号是否需要验证码的。


1.3 会话保持

假设我们已经登录成功,那该如何保持会话呢?也就是我们切换到其他网页后,如何保持会话状态,不用再次登录。

其实在后续访问其他页面时只要在 header 中包含用户 cookie 的话,不需用户名密码即可登录。



3 总结

本文的难点在于京东的登录过程,涉及到了 验证码、cookie 的处理,业务逻辑也稍微有些绕,需要判断是否需要验证码、是否登录成功等。其实,主要的就是在 HTTP 交互过程中抽取我们所要的目标数据。

另外,验证码处理部分还是有些问题,比如前面判断出登录不需要验证码,但是在登录时仍返回「请输入验证码」。还有,有兴趣的同学也可以进行扩展,比如秒杀、抢购等。



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/ZmmZzLuUtx
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/21988
 
385 次点击