当前位置:  编程技术>python

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

    来源: 互联网  发布时间:2014-09-04

    本文导语:  代码如下:#-*-coding:utf-8-*-'''Created on 2014年1月10日 @author: hhdys'''import urllib.request,http.cookiejar,reclass Baidu:    def login(self):        cj = http.cookiejar.CookieJar()        opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))  ...

代码如下:

#-*-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='(?Pw+)';", 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的简单爬虫代码
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Python3中内置类型bytes和str用法及byte和string之间各种编码转换
  • gvim7.3支持python3的问题
  • Python3通过request.urlopen实现Web网页图片下载
  • 新装python3在Ubuntu中左右键显示乱码
  • 在Python3中使用urllib实现http的get和post提交数据操作
  • Python3实现生成随机密码的方法
  • python3编写C/S网络程序实例教程
  • python3.3实现乘法表示例
  • python3.0 字典key排序
  • Python3实现的腾讯微博自动发帖小工具
  • python3使用urllib示例取googletranslate(谷歌翻译)
  • Python3实现连接SQLite数据库的方法
  • 让python同时兼容python2和python3的8个技巧分享
  • python3图片转换二进制存入mysql
  • python3访问sina首页中文的处理方法
  • python3使用tkinter实现ui界面简单实例
  • Mac OS X10.9安装的Python2.7升级Python3.3步骤详解
  • Python3.0与2.X版本的区别实例分析
  • python3.3使用tkinter开发猜数字游戏示例
  • Python3基础之条件与循环控制实例解析
  • Python3基础之list列表实例解析


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3