python模拟登录百度贴吧(百度贴吧登录)实例


Posted in Python onDecember 18, 2013

 

# -*- coding:utf-8 -*-
# python3.3.3
import sys,time,re,urllib.parse,urllib.request,http.cookiejar,random,math,os.path,hashlib,json,binascii,threading
"""cookie"""
cookie=http.cookiejar.LWPCookieJar()
#cookie.load('f:/cookie.txt',True,True)
chandle=urllib.request.HTTPCookieProcessor(cookie)
"""获取数据"""
def getData(url):
    r=urllib.request.Request(url)
    opener=urllib.request.build_opener(chandle)
    u=opener.open(r)
    #chandle.cookiejar.save('f:/cookie.txt',True,True)
    data=u.read()
    try:
        data=data.decode('utf-8')
    except:
        data=data.decode('gbk','ignore')
    return data
def postData(url,data):
    data=urllib.parse.urlencode(data);data=bytes(data,'utf-8')
    r=urllib.request.Request(url,data)
    opener=urllib.request.build_opener(chandle)
    u=opener.open(r)
    #chandle.cookiejar.save('f:/cookie.txt',True,True)
    data=u.read()
    try:
        data=data.decode('utf-8')
    except:
        data=data.decode('gbk','ignore')
    return data
def login(name,pwd):
    url='http://www.baidu.com'
    getData(url)
    par={
        "apiver":'v3',
        "callback":'bd__cbs__oug2fy',
        "class":'login',
        "logintype":'dialogLogin',
        "tpl":'tb',
        "tt":'1385013373144'
    }
    url='https://passport.baidu.com/v2/api/?getapi&%s' % urllib.parse.urlencode(par)
    token=re.findall('"token" : "(.*?)"',getData(url))[0]
    par.update({"isphone":'false',"username":name,"token":token})
    url='https://passport.baidu.com/v2/api/?logincheck&?%s' % urllib.parse.urlencode(par)
    data={
        "charset":'GBK',
        "mem_pass":'on',
        "password":pwd,
        "ppui_logintime":'1612376',
        "quick_user":'0',
        "safeflg":'0',
        "splogin":'rate',
        "u":'http://tieba.baidu.com/'
    }
    url='https://passport.baidu.com/v2/api/?login'
    par.update(data)
    bdu=re.findall('hao123Param=(.*?)&',postData(url,par))[0]
    par={
        "bdu":bdu,
        "t":'1385013373144'
    }
    url='http://user.hao123.com/static/crossdomain.php?%s' % urllib.parse.urlencode(par)
    getData(url)
    print(json.loads(getData('http://tieba.baidu.com/f/user/json_userinfo')))
"""------输入帐号密码------"""
login('帐号','密码')
# -*- coding:utf-8 -*-
# python3.3.3
import sys,time,re,urllib.parse,urllib.request,http.cookiejar,random,math,os.path,hashlib,json,binascii,threading
"""cookie"""
cookie=http.cookiejar.LWPCookieJar()
#cookie.load('f:/cookie.txt',True,True)
chandle=urllib.request.HTTPCookieProcessor(cookie)
"""获取数据"""
def getData(url):
    r=urllib.request.Request(url)
    opener=urllib.request.build_opener(chandle)
    u=opener.open(r)
    #chandle.cookiejar.save('f:/cookie.txt',True,True)
    data=u.read()
    try:
        data=data.decode('utf-8')
    except:
        data=data.decode('gbk','ignore')
    return data
def postData(url,data):
    data=urllib.parse.urlencode(data);data=bytes(data,'utf-8')
    r=urllib.request.Request(url,data)
    opener=urllib.request.build_opener(chandle)
    u=opener.open(r)
    #chandle.cookiejar.save('f:/cookie.txt',True,True)
    data=u.read()
    try:
        data=data.decode('utf-8')
    except:
        data=data.decode('gbk','ignore')
    return data
def login(name,pwd):
    url='http://www.baidu.com'
    getData(url)
    par={
        "apiver":'v3',
        "callback":'bd__cbs__oug2fy',
        "class":'login',
        "logintype":'dialogLogin',
        "tpl":'tb',
        "tt":'1385013373144'
    }
    url='https://passport.baidu.com/v2/api/?getapi&%s' % urllib.parse.urlencode(par)
    token=re.findall('"token" : "(.*?)"',getData(url))[0]
    par.update({"isphone":'false',"username":name,"token":token})
    url='https://passport.baidu.com/v2/api/?logincheck&?%s' % urllib.parse.urlencode(par)
    data={
        "charset":'GBK',
        "mem_pass":'on',
        "password":pwd,
        "ppui_logintime":'1612376',
        "quick_user":'0',
        "safeflg":'0',
        "splogin":'rate',
        "u":'http://tieba.baidu.com/'
    }
    url='https://passport.baidu.com/v2/api/?login'
    par.update(data)
    bdu=re.findall('hao123Param=(.*?)&',postData(url,par))[0]
    par={
        "bdu":bdu,
        "t":'1385013373144'
    }
    url='http://user.hao123.com/static/crossdomain.php?%s' % urllib.parse.urlencode(par)
    getData(url)
    print(json.loads(getData('http://tieba.baidu.com/f/user/json_userinfo')))
"""------输入帐号密码------"""
login('帐号','密码')
Python 相关文章推荐
17个Python小技巧分享
Jan 23 Python
Python自定义函数定义,参数,调用代码解析
Dec 27 Python
python画折线图的程序
Jul 26 Python
Python2和Python3的共存和切换使用
Apr 12 Python
python将四元数变换为旋转矩阵的实例
Dec 04 Python
Python 项目转化为so文件实例
Dec 23 Python
python批量修改xml属性的实现方式
Mar 05 Python
新版Pycharm中Matplotlib不会弹出独立的显示窗口的问题
Jun 02 Python
python名片管理系统开发
Jun 18 Python
详解Open Folder as PyCharm Project怎么添加的方法
Dec 29 Python
python中四舍五入的正确打开方式
Jan 18 Python
python使用pywinauto驱动微信客户端实现公众号爬虫
May 19 Python
python抓取京东商城手机列表url实例代码
Dec 18 #Python
python获取糗百图片代码实例
Dec 18 #Python
python算法学习之计数排序实例
Dec 18 #Python
python算法学习之基数排序实例
Dec 18 #Python
python算法学习之桶排序算法实例(分块排序)
Dec 18 #Python
python计算最大优先级队列实例
Dec 18 #Python
python计算最小优先级队列代码分享
Dec 18 #Python
You might like
php以fastCGI的方式运行时文件系统权限问题及解决方法
2015/05/11 PHP
PHP实现页面静态化深入讲解
2021/03/04 PHP
JAVASCRIPT style 中visibility和display之间的区别
2010/01/22 Javascript
JS 自定义带默认值的函数
2011/07/21 Javascript
JavaScript代码简单实现求杨辉三角给定行的最大值
2013/10/29 Javascript
第二章之Bootstrap 页面排版样式
2016/04/25 Javascript
实例讲解JavaScript中instanceof运算符的用法
2016/06/08 Javascript
Json解析的方法小结
2016/06/22 Javascript
Vue 创建组件的两种方法小结(必看)
2018/02/23 Javascript
vue的常用组件操作方法应用分析
2018/04/13 Javascript
详解vue 路由跳转四种方式 (带参数)
2019/04/28 Javascript
react中Suspense的使用详解
2019/09/01 Javascript
js+springMVC 提交数组数据到后台的实例
2019/09/21 Javascript
jQuery实现简单全选框
2020/09/13 jQuery
vue-cli4.0多环境配置变量与模式详解
2020/12/30 Vue.js
详解Vue2的diff算法
2021/01/06 Vue.js
使用python装饰器验证配置文件示例
2014/02/24 Python
Python的Flask框架与数据库连接的教程
2015/04/20 Python
Python上传package到Pypi(代码简单)
2016/02/06 Python
python中解析json格式文件的方法示例
2017/05/03 Python
Python中py文件引用另一个py文件变量的方法
2018/04/29 Python
完美解决Pycharm无法导入包的问题 Unresolved reference
2018/05/18 Python
python实现的爬取电影下载链接功能示例
2019/08/26 Python
Python容器使用的5个技巧和2个误区总结
2019/09/26 Python
python Manager 之dict KeyError问题的解决
2019/12/21 Python
pytorch 常用线性函数详解
2020/01/15 Python
解决pip安装的第三方包在PyCharm无法导入的问题
2020/10/15 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
2021/01/05 Python
美国高级工作服品牌:Carhartt
2018/01/25 全球购物
机械电子工程毕业生自荐信
2013/11/23 职场文书
体育教师求职信
2014/06/30 职场文书
端午节寄语2015
2015/03/23 职场文书
教师工作证明范本
2015/06/12 职场文书
在 Golang 中实现 Cache::remember 方法详解
2021/03/30 Python
微信小程序用户授权最佳实践指南
2021/05/08 Javascript
前端vue+express实现文件的上传下载示例
2022/02/18 Vue.js