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采用Django开发自己的博客系统
Sep 29 Python
python中numpy.zeros(np.zeros)的使用方法
Nov 07 Python
Python中将变量按行写入txt文本中的方法
Apr 03 Python
pytorch中tensor的合并与截取方法
Jul 26 Python
Python编程flask使用页面模版的方法
Dec 28 Python
python3操作注册表的方法(Url protocol)
Feb 05 Python
python json.dumps中文乱码问题解决
Apr 01 Python
Python rabbitMQ如何实现生产消费者模式
Aug 24 Python
几款好用的python工具库(小结)
Oct 20 Python
基于Python实现天天酷跑功能
Jan 06 Python
python非标准时间的转换
Jul 25 Python
Python requests用法和django后台处理详解
Mar 19 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在线生成二维码代码(google api)
2013/06/03 PHP
PHP中使用substr()截取字符串出现中文乱码问题该怎么办
2015/10/21 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
2017/09/16 PHP
doctype后如何获得body.clientHeight的方法
2007/07/11 Javascript
JavaScript中的isXX系列是否继续使用的分析
2011/04/16 Javascript
jquery提取元素里的纯文本不包含span等里的内容
2013/09/30 Javascript
jquery选择器原理介绍($()使用方法)
2014/03/25 Javascript
jquery form 加载数据示例
2014/04/21 Javascript
纯JS实现可拖拽表单的简单实例
2016/09/02 Javascript
js实现定时进度条完成后切换图片
2017/01/04 Javascript
JavaScript正则表达式替换字符串中图片地址(img src)的方法
2017/01/13 Javascript
JavaScript实现图像模糊化的方法实例
2017/01/15 Javascript
几种响应式文字详解
2017/05/19 Javascript
浅谈angular4生命周期钩子
2017/09/05 Javascript
实例分析js事件循环机制
2017/12/13 Javascript
实时监控input框,实现输入框与下拉框联动的实例
2018/01/23 Javascript
vue如何通过id从列表页跳转到对应的详情页
2018/05/01 Javascript
如何从0开始用node写一个自己的命令行程序
2018/12/29 Javascript
微信小程序商品详情页底部弹出框
2019/11/22 Javascript
Python高级应用实例对比:高效计算大文件中的最长行的长度
2014/06/08 Python
理解python多线程(python多线程简明教程)
2014/06/09 Python
Python基于pygame实现图片代替鼠标移动效果
2015/11/11 Python
windows下安装Python的XlsxWriter模块方法
2018/05/03 Python
对python捕获ctrl+c手工中断程序的两种方法详解
2018/12/26 Python
Python2 Selenium元素定位的实现(8种)
2019/02/25 Python
Python爬虫基于lxml解决数据编码乱码问题
2020/07/31 Python
详解CSS3中强大的filter(滤镜)属性
2017/06/29 HTML / CSS
澳大利亚拥有最佳跳伞降落点和最好服务的跳伞项目运营商:Skydive Australia
2018/03/05 全球购物
韩国现代百货官网:Hmall
2018/03/21 全球购物
华为C++笔试题
2014/08/05 面试题
土地转让协议书范本
2014/04/15 职场文书
船舶工程技术专业求职信
2014/08/07 职场文书
高中生国庆节演讲稿范文2014
2014/09/21 职场文书
讲座通知范文
2015/04/23 职场文书
《1942》观后感
2015/06/08 职场文书
高一数学教学反思
2016/02/18 职场文书