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 #//输出返回的页面

参考技术A

因为这个页面的登录表单是用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实现网页登陆验证(自动登录),试了很多百度上的代码(虽然才几行),就是登录不成功,问题在哪?的主要内容,如果未能解决你的问题,请参考以下文章

python 实现v2ex的自动登录并签到

[转载]python实现带验证码网站的自动登陆

如何自动登录网站?

怎么能够批量自动提交网页登陆,自动填表输入?

#私藏项目实操分享#Python模拟登录,selenium模块,Python识别图形验证码实现自动登录

c#添加webBrowser控件,如何实现自动填写打开的网页中的登录帐号,密码,并且自动登陆?