# -*- coding: utf-8 -*-
'''#百度错误代码:
err_code:40  请输入验证码完成发帖
'''
import urllib,urllib2,cookielib,re;
import json;
def sign():sign_url='http://tieba.baidu.com/sign/add';print '正在尝试签到';tbs=get_tbs();print '获取喜欢的贴吧ing...';like_tieba='http://tieba.baidu.com/f/like/mylike';resp=urllib2.urlopen(like_tieba).read();re_like_tieba='<a href="\/f\?kw=.*?" title=".*">(.*?)<\/a>';find_like_tieba=re.findall(re_like_tieba,resp);print '我喜欢的贴吧:'for mylike_tieba in find_like_tieba:print mylike_tieba;#构造签到数据头:sign_request={'ie':'utf-8','kw':mylike_tieba,'tbs':tbs}sign_request=urllib.urlencode(sign_request);sign_request=urllib2.Request(sign_url,sign_request);sign_resp=urllib2.urlopen(sign_request);#print sign_resp;sign_resp=json.load(sign_resp);print sign_resp;if sign_resp['error']=='' :user_sign_rank = int(sign_resp['data']['uinfo']['user_sign_rank']);                      #第几个签到cont_sign_num = int(sign_resp['data']['uinfo']['cont_sign_num']);                        #连续签到cout_total_sing_num = int(sign_resp['data']['uinfo']['cout_total_sing_num']);            #累计签到print "签到成功,第%d个签到,连续签到%d天,累计签到%d天" %(user_sign_rank, cont_sign_num, cout_total_sing_num);else :#签到失败处理if not sign_resp['error']==u'亲,你之前已经签过了':find_like_tieba.append(mylike_tieba);print  'wtf';#else:#print 'hello';#print type(sign_resp['error']);def get_tbs():tbs_url='http://tieba.baidu.com/dc/common/tbs';tbs_resp=urllib2.urlopen(tbs_url).read();print tbs_resp;tbs=re.search('"tbs":"(?P<tbs>.*?)"',tbs_resp).group('tbs');print 'tbs:',tbs;return tbs;def checkAllCookiesExist(cookieNameList, cookieJar) :cookiesDict = {};for eachCookieName in cookieNameList :cookiesDict[eachCookieName] = False;allCookieFound = True;for cookie in cookieJar :if(cookie.name in cookiesDict) :cookiesDict[cookie.name] = True;for eachCookie in cookiesDict.keys() :if(not cookiesDict[eachCookie]) :allCookieFound = False;break;return allCookieFound;def baidu(username,password):#尝试登录百度test_url='http://yun.baidu.com';login_path='https://passport.baidu.com/v2/api/?login';try:cookie=cookielib.CookieJar();opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie));urllib2.install_opener(opener);opener.addheaders=[('User-agent','Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.43 Safari/537.31')];#获取cookiebaiduMainUrl = "http://www.baidu.com/";resp = urllib2.urlopen(baiduMainUrl);#获取奇葩的tokenprint "to get token value";getapiUrl = "https://passport.baidu.com/v2/api/?getapi&class=login&tpl=mn&tangram=true";getapiResp = urllib2.urlopen(getapiUrl);#print "getapiResp=",getapiResp;getapiRespHtml = getapiResp.read();foundTokenVal = re.search("bdPass\.api\.params\.login_token='(?P<tokenVal>\w+)';", getapiRespHtml);if(foundTokenVal):tokenVal = foundTokenVal.group("tokenVal");print "tokenVal=",tokenVal;else:print 'foundTokenVal is null';post_dic={'staticpage':'http://www.baidu.com/cache/user/html/v3Jump.html','charset':'UTF-8','token':tokenVal,'tpl':'mn','apiver':'v3',#'tt':,#'codestring':,'isPhone':'false','safeflg':0,'u':'http://www.baidu.com/','quick_user':0,#'usernamelogin':1,'splogin':'rate','username':username,'password':password,#'verifycode':'','mem_pass':'on',#'ppui_logintime':14791'callback':'parent.bd__pcbs__c5crjq',};postdata=urllib.urlencode(post_dic);req=urllib2.Request(login_path,postdata);resp=urllib2.urlopen(req)#data=urllib2.urlopen(test_url).read();cookiesToCheck = ['BDUSS', 'PTOKEN', 'STOKEN', 'SAVEUSERID'];loginBaiduOK = checkAllCookiesExist(cookiesToCheck, cookie);if(loginBaiduOK):print "+++ Emulate login baidu is OK, ^_^";#return 'ok'print 'ok'else:print "--- Failed to emulate login baidu !"#return 'failed';print 'failed';sign();print '尝试结束,看疗效...';#return data;except Exception,e:print str(e);#我喜欢的贴吧
#http://tieba.baidu.com/f/like/mylike?
#re:<a href="\/f\?kw=.*?" title=".*">.*?<\/a>
user='youremail'
password='yourpassword'
baidu(user,password);

python之百度贴吧自动签到相关推荐

  1. python+selenium百度贴吧自动签到

    #-*- coding:utf-8 -*- from selenium import webdriver import time import os import random from seleni ...

  2. Github Actions - 实现百度贴吧自动签到

    声明:本文章参考 ghosx 的 tieba 代码仓库. 希望我的文章能给你带来帮助. 欢迎访问我的个人博客:codeupbetter.com,学习各种好玩的知识. 文章首更于个人博客,个人博客的排版 ...

  3. python玩微信小程序游戏_使用python实现微信小程序自动签到功能

    功能描述目标 完成多账号微信小程序每天自动签到 输出 签到成功则向微信群发送签到成功的信息 否则提示用户签到失败,需手动签到 包管理 requests itchat time threading 程序 ...

  4. nodejs 版利用 github actions 进行百度贴吧自动签到

    nodejs + github actions 实现百度贴吧自动签到 前段时间想用云函数的方式进行百度贴吧的签到,无奈云函数的超时时间最多只能为60秒,还没开始签就结束了,所以就改用了 github ...

  5. 利用腾讯云Python函数实现机场每日自动签到领流量

    利用腾讯云Python函数实现机场每日自动签到领流量 基于项目 https://github.com/zhjc1124/ssr_autocheckin 修改 sspanel自动签到脚本(腾讯云函数) ...

  6. Python + GitHub Actions 实现 CSDN 自动签到与抽奖(非 selenium 版本)

    文章目录 [1x00]技术栈 [2x00]代码实现签到与抽奖 [3x00]签到结果通知 [03x01]Server 酱 [03x02]企业微信 [03x03]钉钉 [4x00]自动签到 [5x00]完 ...

  7. 使用python实现微信小程序自动签到2.0

    微信小程序自动签到 功能描述 目标 输出 包管理 程序的结构设计 步骤1 步骤2 步骤3 步骤4 代码实现 使用findler抓包工具查看请求类型 再次使用findler抓包,查看请求内容 使用多线程 ...

  8. Python实现云之家自动签到

    起因 偶然看到一个同事设置闹钟,提醒自己下班打开.就突发奇想,既然身为后台开发是不是可以用程序来实现自动打卡的功能呢? 于是开起来fiddler进行抓包,发现设置代理,云之家无法进行签到功能.既然电脑 ...

  9. 百度贴吧自动签到脚本 python3

    52上看到有人分享的,代码逻辑实在不敢恭维,做了一些逻辑功能方面的更改,添加了一些注释,代码直接贴下面了: # -*- coding:utf-8 -*- import requests,datetim ...

最新文章

  1. Spring之AOP由浅入深
  2. 【扫盲】什么是FTP、FTPS 和 SFTP?
  3. 《数据库系统实训》实验报告——系统安装与数据库搭建
  4. 在python中使用什么工具管理模块_怎么使用Python pip(管理模块工具)
  5. 点击率预测的贝叶斯平滑
  6. qt 创建文件_xmake从入门到精通2:创建和编译工程
  7. java实现蛇蛇大作战_蛇蛇大作战3D旋涡版
  8. 人生不值得,我在用python.1_关于python
  9. opencv Scharr、Canny、LOG边缘提取效果对比
  10. linux中iptables乱码,xshell连接CentOS6.5 iptables或ls 输出乱码-Go语言中文社区
  11. 设置input框只能输入6位为数字的支付密码
  12. iOS开发之地图代理不起作用(提示vImage decode failed, falling back to CG path.)
  13. 博士申请 | 香港城市大学刘晨老师组招收机器学习方向全奖博士/博后/硕士/RA...
  14. JavaScript做浏览器检测
  15. hoolilaw案例分析:在美国如何治理扰民邻居
  16. 网络摄像头IPC国标GB28181协议国标安防视频流媒体平台EasyGBS视频流不上线排查步骤
  17. CAD软件 CAD控件 CAD三维控件 CAD手机平板控件。
  18. Swagger:搭建Swagger API接口文档
  19. Leetcode5238 找出给定方程的正整数解
  20. gearman 实例一枚

热门文章

  1. Adversarial Attack on Attackers: Post-Process to Mitigate Black-Box Score-Based Query Attacks
  2. https://www.yearbookchina.com
  3. 腾讯2021/2022春季校招,内推实习生和校招生,名额不限
  4. MATLAB第2次作业,matlab作业二
  5. 微信小程序那点事儿(必看踩坑实用解决BUG)------持续更新(2)
  6. 大学生生涯人物访谈(程序员篇)
  7. STM32中的看门狗
  8. VS2017中自用部分插件的设置的翻译或功能介绍——Word Highlight With Margin
  9. Oracle Database SQL Language Reference 笔记(3)—— 伪列(续)
  10. 优秀笔记课件——Google 及其它搜索引擎的高级使用