源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

python3.3教程之模拟百度登陆代码分享

  • 时间:2022-01-03 15:23 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:python3.3教程之模拟百度登陆代码分享
[u]复制代码[/u] 代码如下:
#-*-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()
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部