Posted in Python onJanuary 16, 2014
#-*-coding:utf-8-*- ''' Created on 2014年1月10日 @author: hhdys ''' import urllib.request,http.cookiejar,re class Baidu: def login(self): cj = http.cookiejar.CookieJar() opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj)) opener.addheaders = [('User-agent', 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36')] resp=opener.open('http://weigou.baidu.com/') for c in cj: print(c.name,"====",c.value) getapiUrl = "https://passport.baidu.com/v2/api/?getapi&class=login&tpl=mn&tangram=true" resp2=opener.open(getapiUrl) getapiRespHtml = resp2.read().decode("utf-8") foundTokenVal = re.search("bdPass\.api\.params\.login_token='(?P<tokenVal>\w+)';", getapiRespHtml) if foundTokenVal : tokenVal = foundTokenVal.group("tokenVal") print(tokenVal) staticpage = "http://zhixin.baidu.com/Jump/index?module=onesite" baiduMainLoginUrl = "https://passport.baidu.com/v2/api/?login" postDict = { 'charset':"utf-8", 'token':tokenVal, 'isPhone':"false", 'index':"0", 'staticpage': staticpage, 'loginType': "1", 'tpl': "mn", 'callback': "parent.bd__pcbs__n1a3bg", 'username':"*****", #用户名 'password':"*****", #密码 'mem_pass':"on", "apiver":"v3", "logintype":"basicLogin" } postData = urllib.parse.urlencode(postDict); postData = postData.encode('utf-8') resp3=opener.open(baiduMainLoginUrl,data=postData) for c in cj: print(c.name,"="*6,c.value) if __name__=="__main__": print("="*10,"开始") bd=Baidu() bd.login()
python3.3教程之模拟百度登陆代码分享
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@