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 相关文章推荐
Python操作sqlite3快速、安全插入数据(防注入)的实例
Apr 26 Python
python实现中文输出的两种方法
May 09 Python
Python易忽视知识点小结
May 25 Python
python中itertools模块zip_longest函数详解
Jun 12 Python
python 常用的基础函数
Jul 10 Python
在Pycharm中执行scrapy命令的方法
Jan 16 Python
Python3显示当前时间、计算时间差及时间加减法示例代码
Sep 07 Python
如何基于Python代码实现高精度免费OCR工具
Jun 18 Python
Python本地及虚拟解释器配置过程解析
Oct 13 Python
举例讲解Python装饰器
Dec 24 Python
python画图时设置分辨率和画布大小的实现(plt.figure())
Jan 08 Python
python解决OpenCV在读取显示图片的时候闪退的问题
Feb 23 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+DBM的同学录程序(5)
2006/10/09 PHP
关于PHP结束标签的使用细节探讨及联想
2013/03/04 PHP
编写php应用程序实现摘要式身份验证的方法详解
2013/06/08 PHP
Symfony2使用Doctrine进行数据库查询方法实例总结
2016/03/18 PHP
php实现图片缩略图的方法
2016/03/29 PHP
一个JS小玩意 几个属性相加不能超过一个特定值.
2009/09/29 Javascript
Jquery cookie操作代码
2010/03/14 Javascript
JavaScript 原型学习总结
2010/10/29 Javascript
JavaScript获取当前网页最后修改时间的方法
2015/04/03 Javascript
基于javascript代码实现通过点击图片显示原图片
2015/11/29 Javascript
Web开发必知Javascript技巧大全
2016/02/23 Javascript
Bootstrap教程JS插件滚动监听学习笔记分享
2016/05/18 Javascript
JavaScript获取IP获取的是IPV6 如何校验
2016/06/12 Javascript
js 截取或者替换字符串中的数字实现方法
2016/06/13 Javascript
AngularJs 指令详解及示例代码
2016/09/01 Javascript
微信公众号支付H5调用支付解析
2016/11/04 Javascript
详解jQuery插件开发方式
2016/11/22 Javascript
jQuery实现下拉菜单动态添加数据点击滑出收起其他功能
2018/06/14 jQuery
React 组件中的 bind(this)示例代码
2018/09/16 Javascript
vue.js实现图书管理功能
2019/09/24 Javascript
python批量修改文件后缀示例代码分享
2013/12/24 Python
Python下rrdtool模块的基本使用方法
2015/11/13 Python
Python自定义类的数组排序实现代码
2016/08/28 Python
Python开发微信公众平台的方法详解【基于weixin-knife】
2017/07/08 Python
Python2和Python3.6环境解决共存问题
2018/11/09 Python
Apache,wsgi,django 程序部署配置方法详解
2019/07/01 Python
Python matplotlib绘制饼状图功能示例
2019/09/10 Python
Python内置加密模块用法解析
2019/11/25 Python
python实现从wind导入数据
2019/12/03 Python
python中uuid模块实例浅析
2020/12/29 Python
Zavvi美国:英国娱乐之家
2017/03/19 全球购物
招聘专员岗位职责
2014/03/07 职场文书
松材线虫病防治方案
2014/06/15 职场文书
小学生作文批改评语
2014/12/25 职场文书
北京导游词
2015/02/12 职场文书
2015年中学体育教师工作总结
2015/10/23 职场文书