Python模拟登录京东
文章目录
模拟登录的方法
真实用户在登录网站时,是在登录页面填写自己的账号、密码信息,并点击登录按钮。从实现的角度上讲,实际上是执行了一个Http Post请求,向网站服务器提交数据。模拟登录就是通过程序对这种行为进行模拟,所以一是要准备账号、密码等信息,二是要像用户一样进行post。
但是,通常网站都会限制程序的模拟登录,通常的方法也就是在上面提到的两点上进行检测。一是增加要提交的校验信息,二是检测post的行为。
本文介绍使用Python进行模拟登录京东网,使用PyQuery来捕捉京东增加的校验信息,用requests执行post请求。
数据准备
首先找到京东的登录页面https://passport.jd.com/new/login.aspx ,随便提交一次,发现post的地址是https://passport.jd.com/uc/loginService ,以及post数据为:
1 2 3 4 5 6 7 8 9 10 |
uuid:53c85802-XXX-ebdd952dda93 machineNet: machineCpu: machineDisk: SGIARTgLfH:dJGep loginname:XXXX nloginpwd:XXX loginpwd:XXX chkRememberMe:on authcode: |
其中,loginname
是用户名,nloginpwd
和loginpwd
都是密码,uuid
、loginname上面的一组数据(本例中为SGIARTgLfH:dJGep)三者都是用于验证登录的随机字符串。authcode
为验证码,chkRememberMe
为是否自动登录。其他的项留空。
所以,重要的是获取uuid和那组随机数据。这些数据都在登录页面https://passport.jd.com/new/login.aspx 中。检查该页面源码,这些数据都在
文章作者 ladder1984
上次更新 2015-09-13