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中操作字符串之rstrip()方法的使用
May 19 Python
分享6个隐藏的python功能
Dec 07 Python
python使用pil库实现图片合成实例代码
Jan 20 Python
python去除拼音声调字母,替换为字母的方法
Nov 28 Python
Python Threading 线程/互斥锁/死锁/GIL锁
Jul 21 Python
Django使用Jinja2模板引擎的示例代码
Aug 09 Python
详解用Python为直方图绘制拟合曲线的两种方法
Aug 21 Python
Python Sympy计算梯度、散度和旋度的实例
Dec 06 Python
python使用SQLAlchemy操作MySQL
Jan 02 Python
Python实现自动访问网页的例子
Feb 21 Python
Python爬虫教程之利用正则表达式匹配网页内容
Dec 08 Python
pytest fixtures装饰器的使用和如何控制用例的执行顺序
Jan 28 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 用checkbox一次性删除多条记录的方法
2010/02/23 PHP
php实现图片添加水印功能
2014/02/13 PHP
php实现每日签到功能
2018/11/29 PHP
jQuery Ajax之$.get()方法和$.post()方法
2009/10/12 Javascript
对象无length属性时IE6/IE7中无法将其转换成伪数组(ArrayLike)
2011/07/31 Javascript
jQuery EasyUI API 中文文档 - TimeSpinner时间微调器
2011/10/23 Javascript
javascript仿php的print_r函数输出json数据
2013/09/13 Javascript
JavaScript中的连字符详解
2013/11/28 Javascript
jQuery实现按钮只点击一次后就取消点击事件绑定的方法
2015/06/26 Javascript
你所未知的3种Node.js代码优化方式
2016/02/25 Javascript
Node.js的MongoDB驱动Mongoose基本使用教程
2016/03/01 Javascript
AngularJS入门教程之服务(Service)
2016/07/27 Javascript
js HTML5手机刮刮乐代码
2020/09/29 Javascript
Angular工具方法学习
2016/12/26 Javascript
JavaScript Date 知识浅析
2017/01/29 Javascript
jQuery插件FusionCharts绘制ScrollColumn2D图效果示例【附demo源码下载】
2017/03/22 jQuery
Angular学习教程之RouterLink花式跳转
2018/05/03 Javascript
jQuery中each和js中forEach的区别分析
2019/02/27 jQuery
Node.js如何优雅的封装一个实用函数的npm包的方法
2019/04/29 Javascript
vue实现虚拟列表功能的代码
2020/07/28 Javascript
Python栈算法的实现与简单应用示例
2017/11/01 Python
浅谈flask源码之请求过程
2018/07/26 Python
解决django中form表单设置action后无法回到原页面的问题
2020/03/13 Python
python程序输出无内容的解决方式
2020/04/09 Python
解决python DataFrame 打印结果不换行问题
2020/04/09 Python
Python如何利用Har文件进行遍历指定字典替换提交的数据详解
2020/11/05 Python
HTML5 创建canvas元素示例代码
2014/06/04 HTML / CSS
英语专业学子个人的自我评价
2013/10/02 职场文书
采购员岗位职责
2013/11/15 职场文书
电子技术专业中专生的自我评价
2013/12/17 职场文书
毕业生求职自荐信怎么写
2014/01/08 职场文书
职工代表大会主持词
2014/04/01 职场文书
2014离婚协议书范文两篇
2014/09/15 职场文书
2015年化工厂工作总结
2015/05/04 职场文书
在JavaScript中如何使用宏详解
2021/05/06 Javascript
分享python函数常见关键字
2022/04/26 Python