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 相关文章推荐
Pyramid将models.py文件的内容分布到多个文件的方法
Nov 27 Python
python正则表达式中的括号匹配问题
Dec 14 Python
python使用paramiko实现远程拷贝文件的方法
Apr 18 Python
Python的Tornado框架的异步任务与AsyncHTTPClient
Jun 27 Python
利用django如何解析用户上传的excel文件
Jul 24 Python
Python实现Logger打印功能的方法详解
Sep 01 Python
pycharm在调试python时执行其他语句的方法
Nov 29 Python
python实现批量处理将图片粘贴到另一张图片上并保存
Dec 12 Python
Python操作Elasticsearch处理timeout超时
Jul 17 Python
opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器
Nov 13 Python
记一次python 爬虫爬取深圳租房信息的过程及遇到的问题
Nov 24 Python
Django+Django-Celery+Celery的整合实战
Jan 20 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和ACCESS写聊天室(五)
2006/10/09 PHP
PHP取得一个类的属性和方法的实现代码
2011/05/22 PHP
CI框架中site_url()和base_url()的区别
2015/01/07 PHP
php定时执行任务设置详解
2015/02/06 PHP
php微信公众号开发之音乐信息
2018/10/20 PHP
php+lottery.js实现九宫格抽奖功能
2019/07/21 PHP
phpstudy隐藏index.php的方法
2020/09/21 PHP
背景音乐每次刷新都可以自动更换
2007/02/01 Javascript
js实现网站首页图片滚动显示
2013/02/04 Javascript
jquery在IE、FF浏览器的差别详细探讨
2013/04/28 Javascript
node.js中的fs.createReadStream方法使用说明
2014/12/17 Javascript
用js动态添加html元素,以及属性的简单实例
2016/07/19 Javascript
Vue.js动态组件解析
2016/09/09 Javascript
KnockoutJS 3.X API 第四章之数据控制流foreach绑定
2016/10/10 Javascript
JS无缝滚动效果实现方法分析
2016/12/21 Javascript
详解在 Angular 项目中添加 clean-blog 模板
2017/07/04 Javascript
Vuex中实现数据状态查询与更改
2019/11/08 Javascript
8个非常实用的Vue自定义指令
2020/12/15 Vue.js
[06:13]DOTA2进化论(修改版)
2013/10/08 DOTA
Python map和reduce函数用法示例
2015/02/26 Python
Python装饰器入门学习教程(九步学习)
2016/01/28 Python
对django layer弹窗组件的使用详解
2019/08/31 Python
django使用F方法更新一个对象多个对象字段的实现
2020/03/28 Python
完美解决Django2.0中models下的ForeignKey()问题
2020/05/19 Python
PyCharm 2020.1版安装破解注册码永久激活(激活到2089年)
2020/09/24 Python
使用before和:after伪类制作css3圆形按钮
2014/04/08 HTML / CSS
中国电子产品批发商/跨境电商/外贸网:Sunsky-online
2020/04/20 全球购物
市场拓展计划书
2014/05/03 职场文书
学雷锋标兵事迹材料
2014/08/18 职场文书
搞笑老公保证书
2015/02/26 职场文书
质量承诺书格式范文
2015/04/28 职场文书
2015年端午节活动方案
2015/05/05 职场文书
有关浪费资源的建议书
2015/09/14 职场文书
在Python中如何使用yield
2021/06/07 Python
联想win10摄像头打不开怎么办?win10笔记本摄像头打不开解决办法
2022/04/08 数码科技
Android中的Launch Mode详情
2022/06/05 Java/Android