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

 更新时间:2014年01月16日 14:36:13   作者:  
因工作需要,研究了一下模拟百度的登陆,开发环境使用了python3,大家参考使用吧

复制代码 代码如下:

#-*-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()

相关文章

  • Python利用Turtle绘制哆啦A梦和小猪佩奇

    Python利用Turtle绘制哆啦A梦和小猪佩奇

    turtle库是python的基础绘图库,经常被用来介绍编程知识的方法库,是标准库之一,利用turtle可以制作很多复杂的绘图。本文将为大家介绍通过turtle库绘制制哆啦A梦和小猪佩奇,感兴趣的小伙伴可以学习一下
    2022-04-04
  • 关于Python函数对象的名称空间和作用域

    关于Python函数对象的名称空间和作用域

    这篇文章主要介绍了关于Python函数对象的名称空间和作用域,数据的名称是储存到栈区,而数据的内容是储存到堆区,当我们要去使用数据的内容时,我们可以通过数据的名称来直接去表示数据的内容,需要的朋友可以参考下
    2023-04-04
  • Python手搓邮件发送客户端

    Python手搓邮件发送客户端

    这篇文章主要为大家详细介绍了如何使用Python手搓邮件发送客户端,支持发送邮件,附件,定时发送以及个性化邮件正文,感兴趣的可以了解下
    2025-01-01
  • pandas 对每一列数据进行标准化的方法

    pandas 对每一列数据进行标准化的方法

    今天小编就为大家分享一篇pandas 对每一列数据进行标准化的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Python函数式编程指南(二):从函数开始

    Python函数式编程指南(二):从函数开始

    这篇文章主要介绍了Python函数式编程指南(二):从函数开始,本文讲解了定义一个函数、使用函数赋值、闭包、作为参数等内容,需要的朋友可以参考下
    2015-06-06
  • python中函数传参的几种实现方式

    python中函数传参的几种实现方式

    这篇文章主要介绍了python中函数传参的几种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • 用python实现操纵mysql数据库插入

    用python实现操纵mysql数据库插入

    大家好,本篇文章主要讲的是用python实现操纵mysql数据库插入,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • python 爬虫百度地图的信息界面的实现方法

    python 爬虫百度地图的信息界面的实现方法

    这篇文章主要介绍了python 爬虫百度地图的界面的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • python妹子图简单爬虫实例

    python妹子图简单爬虫实例

    这篇文章主要介绍了python妹子图简单爬虫,实例分析了Python爬虫程序所涉及的页面源码获取、进度显示、正则匹配等技巧,需要的朋友可以参考下
    2015-07-07
  • Python编写生成验证码的脚本的教程

    Python编写生成验证码的脚本的教程

    这篇文章主要介绍了Python编写生成验证码的脚本的教程,验证码在web编程中几乎是必备的功能,需要的朋友可以参考下
    2015-05-05

最新评论