`
xfcode
  • 浏览: 23340 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

python3.3教程之模拟百度登陆

阅读更多
模拟百度的登陆,开发环境使用了python3。

代码:
#-*-coding:utf-8-*-
'''
Created on 2014年1月10日
@author: hhdys
@edit: www.jbxue.com
'''
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教程之模拟百度登陆代码分享

    复制代码 代码如下:#-*-coding:utf-8-*-”’Created on 2014年1月10日 @author: hhdys”’import urllib.request,http.cookiejar,reclass Baidu: def login(self): cj = http.cookiejar.CookieJar() ...[(‘User-a

    基于Python3.3+Selenium3.0框架实战Web自动化测试实战(百度网站实测项目)

    ### 基于Python3.3+Selenium3.0框架实战Web自动化测试实战(百度网站实测项目) #### 一、Python与Selenium简介 在软件测试领域,自动化测试是提高测试效率、确保软件质量的重要手段之一。Python作为一种高级编程...

    Python示例-从基础到高手PDF

    第 18 章 如何将 Mac OS X10.9 下的 Python2.7 升级到最新的 Python3.3 第 19 章 使用 python 构建基于 hadoop 的 mapreduce 日志分析平台 第 20 章 报警监控平台扩展功能 url 回调的设计及应用 [python 语言] 第...

    Python入门网络爬虫之精华版

    Python入门网络爬虫之精华版 Python学习网络爬虫主要分3个大的版块:抓取,分析,存储 另外,比较常用的爬虫框架Scrapy,这里最后也详细介绍一下。 首先列举一下本人总结的相关文章,这些覆盖了入门网络爬虫需要...

    Python Selenium实现无可视化界面过程解析

    在Python自动化测试和网页爬虫领域,Selenium是一个强大的工具,它可以模拟用户行为与网站进行交互。当我们在处理大量网页数据时,有时并不需要显示浏览器的可视化界面,而是希望程序在后台默默地工作,这就需要使用...

    selenium+python自动化测试之鼠标和键盘事件

    这段代码首先打开了百度首页,并在搜索框中输入了“selenium python”,接着模拟了全选、复制和粘贴的操作。 #### 四、总结 通过本文的学习,我们可以看到Selenium + Python为自动化测试提供了极其丰富的功能。无论...

    Python爬虫解析笔记.md

    ### Python网络爬虫知识点解析 #### 一、错误处理与异常捕获 错误处理在网络爬虫开发中至关重要,因为网络状况、服务器响应等都可能不稳定或出现错误。正确的错误处理方式能够确保爬虫程序的健壮性和稳定性。 ###...

    基于树莓派、Arduino做的人脸识别门禁系统python源码+介绍PPT+项目说明+实训报告+示例图片.zip

    基于树莓派、Arduino做的人脸识别门禁系统python源码+介绍PPT+项目说明+实训报告+示例图片.zip ## 二、系统的总体设计 2 ### 2.1 人脸识别门禁系统方案设计(设计流程图) 2 ### 2.2 系统主要功能实现 2 1.调用百度...

    毕业设计,基于树莓派+Django+bootstrap、摄像头、继电器、DHT11温湿度传感器、LED开发的智能家居监控系统

    software:主要使用了 python2.7 + django1.11 + bootstrap3.3 hardware:树莓派3B+、摄像头、继电器、DHT11温湿度传感器、LED等等 系统环境:基于debian7定制的树莓派官方系统raspbian 第三方接入:face++人脸比对...

    py爬虫GushiwenSpider-master-new

    根据提供的文件信息,我们可以了解到这是一个关于Python爬虫项目的介绍,项目名为“py爬虫GushiwenSpider-master-new”。该项目的主要功能是从古诗文网站抓取数据,并且分享了一个百度网盘链接供用户下载源代码。 #...

    python和pywin32实现窗口查找、遍历和点击的示例代码

    titlename = "百度一下,你就知道-MozillaFirefox" # 获取窗口句柄 hwnd = win32gui.FindWindow(classname, titlename) # 获取窗口左上角和右下角坐标 left, top, right, bottom = win32gui.GetWindowRect(hwnd) `...

    代码之美(中文完整版).pdf

    5.4 版本2:模拟BNF语法——复杂度O(N) 5.5 版本3:第一个复杂度O(log N)的优化 5.6 版本4:第二次优化:避免重复验证 5.7 版本5:第三次优化:复杂度 O(1) 5.8 版本 6:第四次优化:缓存(Caching) 5.9 从故事中学到...

Global site tag (gtag.js) - Google Analytics