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.3使用tkinter开发猜数字游戏示例
Mar 14 Python
Python实现栈的方法
May 26 Python
简析Python的闭包和装饰器
Feb 26 Python
Python随机数用法实例详解【基于random模块】
Apr 18 Python
更换Django默认的模板引擎为jinja2的实现方法
May 28 Python
python re正则匹配网页中图片url地址的方法
Dec 20 Python
Python玩转加密的技巧【推荐】
May 13 Python
Django项目主urls导入应用中views的红线问题解决
Aug 10 Python
Python实现的爬取豆瓣电影信息功能案例
Sep 15 Python
详解Python IO编程
Jul 24 Python
matplotlib交互式数据光标mpldatacursor的实现
Feb 03 Python
python-for x in range的用法(注意要点、细节)
May 10 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.ini中文版(2)
2006/10/09 PHP
PHP常用技术文之文件操作和目录操作总结
2014/09/27 PHP
配置php.ini实现PHP文件上传功能
2014/11/27 PHP
javascript 密码强度验证规则、打分、验证(给出前端代码,后端代码可根据强度规则翻译)
2010/05/18 Javascript
safari,opera嵌入iframe页面cookie读取问题解决方法
2010/06/23 Javascript
Jquery显示和隐藏元素或设为只读(含Ligerui的控件禁用,实例说明介绍)
2013/07/09 Javascript
node.js应用后台守护进程管理器Forever安装和使用实例
2014/06/01 Javascript
javascript常用函数(2)
2015/11/05 Javascript
第一次接触神奇的Bootstrap基础排版
2016/07/26 Javascript
深入理解Node.js的HTTP模块
2016/10/12 Javascript
NPM 安装cordova时警告:npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to
2016/12/20 Javascript
jQuery实现 上升、下降、删除、添加一行代码
2017/03/06 Javascript
react-native fetch的具体使用方法
2017/11/01 Javascript
详解如何在微信小程序中愉快地使用sass
2018/07/30 Javascript
layui框架与SSM前后台交互的方法
2019/09/12 Javascript
vue实现移动端返回顶部
2020/10/12 Javascript
[03:59]5分钟带你了解什么是DOTA2(第二期)
2017/02/07 DOTA
pygame播放音乐的方法
2015/05/19 Python
python Spyder界面无法打开的解决方法
2018/04/27 Python
python实现换位加密算法的示例
2018/10/14 Python
Python 文件数据读写的具体实现
2020/01/24 Python
python GUI库图形界面开发之PyQt5窗口背景与不规则窗口实例
2020/02/25 Python
浅谈pytorch中torch.max和F.softmax函数的维度解释
2020/06/28 Python
Pycharm github配置实现过程图解
2020/10/13 Python
matplotlib之pyplot模块之标题(title()和suptitle())
2021/02/22 Python
Nike瑞士官网:Nike CH
2021/01/18 全球购物
毕业生自荐信的主要内容
2013/10/29 职场文书
自荐信要包含哪些内容
2013/11/06 职场文书
外贸学院会计专业应届生求职信
2013/11/14 职场文书
课程设计的心得体会
2014/09/03 职场文书
竞选大学学委演讲稿
2014/09/13 职场文书
机关单位工作失职检讨书
2014/11/20 职场文书
停电通知范文
2015/04/16 职场文书
会计工作自我鉴定范文
2019/06/21 职场文书
解决persistence.xml配置文件修改存放路径的问题
2022/02/24 Java/Android
如何用H5实现好玩的2048小游戏
2022/07/23 HTML / CSS