python实现网页登陆验证(自动登录),试了很多百度上的代码(虽然才几行),就是登录不成功,问题在哪?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python实现网页登陆验证(自动登录),试了很多百度上的代码(虽然才几行),就是登录不成功,问题在哪?相关的知识,希望对你有一定的参考价值。
请问各位大神问题出在哪里?谢谢
import urllib,urllib2,httplib,cookielib #//使用的python模块
url = 'http://hi.baidu.com/go/login'
values = 'username' : 'XXXX',
'password' : 'XXXXX' # //post提交的数据
data = urllib.urlencode(values) # //对提交的数据进行编码
req = urllib2.Request(url, data) #//形成一个url请求
response = urllib2.urlopen(req) #//发送签名的请求
the_page = response.read() #//读取返回的页面
print the_page #//输出返回的页面
因为这个页面的登录表单是用javascript生成的,
除了userName(注意不是你写的username), password等字段外,
你还必须提供很多隐藏字段的信息(包括codeString, safeFlag, u, isPhone等等)
图片是登录表单的源代码,这里的hidden数据你都要在values里给定,才能正确模拟登录行为
python 实现v2ex的自动登录并签到
之前有了实现模拟登陆coursera的经验,我们可以模仿着来模拟登陆V2EX,因为这个网站的登陆不需要验证码,所以先从这个网站下手。
先打开登陆页面,按F12,用错误的用户名和密码登陆一次。
关键的就是form_data中提交发送的数据。连续试了几次发现用户名和密码是自动生成的会变的每次,所以我们需要先获取用户名和密码。
这里我们就用到BeautifulSoup来提取我们需要的数据。这里的once值每次也是随机生成的
成功登陆后,我们可以获取签到奖励和余额。
运行结果:
完整代码:https://github.com/Vxee/python-V2EX
以上是关于python实现网页登陆验证(自动登录),试了很多百度上的代码(虽然才几行),就是登录不成功,问题在哪?的主要内容,如果未能解决你的问题,请参考以下文章