python模拟登录百度贴吧(百度贴吧登录)实例
发布时间:2023-11-20 14:30:56
![]() |
# -*- 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('帐号','密码')


猜你喜欢
- 代码如下:Dim strName, iLoop For Each strName 
- 使用sqlplus连接Oracle首先以下操作均需要在oracle用户下执行,注意短横线 (su - oracle)推荐方式1.sqlplu
- 前言mysql中的explain命令可以用来查看sql语句是否使用了索引,用了什么索引,有没有做全表扫描。可以帮助我们优化查询语句。expl
- 1. 错误的类型Error: 所有错误的父类型错误的子类型包括:ReferenceError: 引用的变量不存在TypeErro
- 前言众所周知我们获取的第一手数据往往都是比较杂乱无章的,这些文件保存一般都是csv文件或者是excel文件,读取转换成DataFrame还有
- 使用python进行websocket的客户端压力测试,这个代码是从github上 找到。然后简单修改了下。大神运用了进程池,以及线程池的内
- mysql 创建的优化就是加索引,可是有时候会遇到加索引都没法达到想要的效果的情况,加上了所以,却还是搜索的全数据,原因是sqlEXPLAI
- 主要代码是参考:https://github.com/SoulDGXu/NLPVisualizationSystem/tree/master
- 人工智能是一种未来性的技术,目前正在致力于研究自己的一套工具。一系列的进展在过去的几年中发生了:无事故驾驶超过300000英里并在三个州合法
- 1.首先准备好VS2019以及mysql数据库,两者都可以去官网下载,我们直接描述连接过程。2.连接:第一步:打开mysql的安装目录,我本
- 单继承时super()和__init__()实现的功能是类似的class Base(object):def __init__(self):p
- 前言在pandas模块中,通常我们都需要对类型为DataFrame的数据进行操作,其中最为常见的操作便是拼接了。比如我们将两个Excel表格
- 一、说在前面 需求:有一张长为960,宽为96的图片,需要将其分割成10张96*96的图
- 从这篇开始,用一个新的系列文章去介绍和学习MySQL。为什么要学习MySQL,从产品角度来说,大部分软件的数据库服务还是采取关系型数据库,主
- 将套接字流重定向到标准输入或输出流#!/usr/bin/env python3"""测试socket-stre
- 已经pip安装好第三方库了,但是在pycharm中import还是标红,像下图:我记得上次重装系统,出现这种情况的时候,我重启一下pycha
- Asyncore模块提供了以异步的方式写入套接字服务客户端和服务器的基础结构。只有两种方式使一个程序在单处理器上实现“同时做不止一件事”。多
- 首先下载 MySQLdb #encoding=GBK import MySQLdb #import sys # #reload(sys) #
- 一个简单的验证码爬取程序本文介绍了在Python2.7环境下爬取网站验证码:思路就是获取验证码对应的url,然后发起requst请求,读取该
- 有关换行的问题首先提一个问题,如下。python程序代码如下:print("I'm Bob. What's you