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 相关文章推荐
详解python3中的真值测试
Aug 13 Python
python 2.7.13 安装配置方法图文教程
Sep 18 Python
Python 运行.py文件和交互式运行代码的区别详解
Jul 02 Python
Python实现计算对象的内存大小示例
Jul 10 Python
关于ResNeXt网络的pytorch实现
Jan 14 Python
python爬取本站电子书信息并入库的实现代码
Jan 20 Python
tensorflow之并行读入数据详解
Feb 05 Python
Windows下实现将Pascal VOC转化为TFRecords
Feb 17 Python
Python实现加密接口测试方法步骤详解
Jun 05 Python
用python批量下载apk
Dec 29 Python
python 进制转换 int、bin、oct、hex的原理
Jan 13 Python
Python使用海龟绘图实现贪吃蛇游戏
Jun 18 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文件上传主要代码讲解
2013/09/30 PHP
windows下apache搭建php开发环境
2015/08/27 PHP
PHP使用星号隐藏用户名,手机和邮箱的实现方法
2016/09/22 PHP
PHP进程通信基础之信号量与共享内存通信
2017/02/19 PHP
PHP封装XML和JSON格式数据接口操作示例
2019/03/06 PHP
使用新的消息弹出框blackbirdjs
2008/10/16 Javascript
JavaScript 学习历程和心得分享
2010/12/12 Javascript
原生Js实现按的数据源均分时间点幻灯片效果(已封装)
2010/12/28 Javascript
基于Unit PNG Fix.js有时候在ie6下不正常的解决办法
2013/06/26 Javascript
用js来获取上传的文件名纯粹是为了美化而用
2013/10/23 Javascript
jsMind通过鼠标拖拽的方式调整节点位置
2015/04/13 Javascript
高性能JavaScript DOM编程(1)
2015/08/11 Javascript
KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机的方法
2016/10/05 Javascript
基于JavaScript实现淘宝商品广告效果
2017/08/10 Javascript
Vue-Router实现组件间跳转的三种方法
2017/11/07 Javascript
nodejs连接mysql数据库及基本知识点详解
2018/03/20 NodeJs
jQuery实现table表格信息的展开和缩小功能示例
2018/07/21 jQuery
Angular设置别名alias的方法
2018/11/08 Javascript
详细分析React 表单与事件
2020/07/08 Javascript
Vue清除定时器setInterval优化方案分享
2020/07/21 Javascript
在vscode 中设置 vue模板内容的方法
2020/09/02 Javascript
Python使用回溯法子集树模板获取最长公共子序列(LCS)的方法
2017/09/08 Python
python用列表生成式写嵌套循环的方法
2018/11/08 Python
python之mock模块基本使用方法详解
2019/06/27 Python
Kears+Opencv实现简单人脸识别
2019/08/28 Python
python中如何写类
2020/06/29 Python
解析Tensorflow之MNIST的使用
2020/06/30 Python
Windows下pycharm安装第三方库失败(通用解决方案)
2020/09/17 Python
如何完美的建立一个python项目
2020/10/09 Python
小学生植树节活动总结
2014/07/04 职场文书
学生检讨书怎么写?
2014/10/10 职场文书
晚会闭幕词
2015/01/28 职场文书
Redis IP地址的绑定的实现
2021/05/08 Redis
德劲DE1102数字调谐收音机机评
2022/04/07 无线电
Java8利用Stream对列表进行去除重复的方法详解
2022/04/14 Java/Android
pd.DataFrame中的几种索引变换的实现
2022/06/16 Python