python urllib2 模拟网站登陆

时间:2023-03-08 22:55:43
python urllib2 模拟网站登陆

python urllib2 模拟网站登陆

1. 可用浏览器先登陆,然后查看网页源码,分析登录表单

2. 使用python urllib2,cookielib 模拟网页登录

import urllib,urllib2,cookielib
#urllib2 支持 http,https def loginWeb(site,user,pwd):
'''
模拟网页登陆,登陆网址,用户名,密码不能为空
登录post form 表单逻辑需要对应登录网站,可以使用火狐浏览器firebug插件查看登陆请求的网址和参数
'''
formValue={'account':user,
'password':pwd,
#这里可以根据网站添加相应的form表单
} #启用cookie自动管理
cj=cookielib.CookieJar()
opender=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
#伪装浏览器访问
opender.addheaders=[('User-Agent','Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36')]
#绑定结果
re=opender.open(site,urllib.urlencode(formValue))
print re.getcode()
print re.read() #这里可以把抓取的网页内容,做 解析,判断是否登陆成功的逻辑 #登陆成功之后的带着cookie的页面访问
pc='https://console.oray.com'#比如个人中心页面
pcre=opender.open(pc)
print pcre.getcode()
print pcre.read() if __name__ == '__main__': site='https://console.oray.com/passport/login'
user='uname'
password='upwd'
loginWeb(site, user, password)

https://gist.github.com/kennethreitz/973705