卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章64334本站已运行4115

Python百度贴吧一键自动签到脚本

Python贴吧打卡脚本了解

相较于本地版本,此脚本兼作了延时功能以免签到过快,并将代码放置在main函数中以提供入口(不再显示执行错误)

更新表明

4.18  可设置验证码错误的最小尝试次数;server酱发送更加详尽;补足了云函数收费的说明。
4.30  历史版本
5.16  随机休眠状态几秒
6.14  已经开始研究模拟客户端而非网页签到(遇到难以解决的“目录失效”问题,可能要咕很久)

Python脚本源码

# -*- coding: utf8 -*-
from requests import Session
from time import sleep
def main(*args):
# 数据
like_url = 'https://tieba.baidu.com/mo/q/newmoindex?'
sign_url = 'http://tieba.baidu.com/sign/add'
tbs = '4fb45fea4498360d1547435295'
head = {
'Accept': 'text/html, */*; q=0.01',
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',
'Connection': 'keep-alive',
'Cookie':
'BDUSS=你的BDUSS;STOKEN=你的STOKEN',
'Host': 'tieba.baidu.com',
'Referer': 'http://tieba.baidu.com/i/i/forum',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/71.0.3578.98 Safari/537.36',
'X-Requested-With': 'XMLHttpRequest'}
s = Session()
# 获取高度关注的贴吧
bars = []
dic = s.get(like_url, headers=head).json()['data']['like_forum']
for bar_info in dic:
bars.append(bar_info['forum_name'])
# 签到
already_signed_code = 1101
success_code = 0
need_verify_code = 2150040
already_signed = 0
succees = 0
failed_bar = []
n = 0
retry_count = 0
max_retry = 5 # 因须要验证码而重试的最小次数
while n < len(bars):
sleep(0.5)
bar = bars[n]
data = {
'ie': 'utf-8',
'kw': bar,
'tbs': tbs
}
try:
r = s.post(sign_url, data=data, headers=head)
except Exception as e:
print(f'没能签到{bar}, 由于{e}。')
failed_bar.append(bar)
continue
dic = r.json()
msg = dic['no']
if msg == already_signed_code: already_signed += 1; r = '已经打卡过了!'
elif msg == need_verify_code and retry_count 

云函数设置方法

有了脚本就要拉到白犯法云服务器上来同时实现自动签到
Step1. 注册账号,过程略。网址:https://console.cloud.tencent.com/
Step2. 进入云函数控制器的函数服务:https://console.cloud.tencent.com/scf/index?rid=1
Step3. 单击“新建”

Step4.

Python百度贴吧一键自动打卡脚本
Python贴吧打卡脚本截图

Step5.

Python百度贴吧一键自动签到脚本
Python贴吧签到脚本截图

Step6.

Python百度贴吧一键自动签到脚本
Python贴吧签到脚本截图

Step7. 测试一下函数运转情况。如若顺利则应该能看见“测试顺利”,输入与图示相似;失败则检查Cookie是否过期、核对错误以及网络状况。

Step8. 自动继续执行

Python百度贴吧一键自动签到脚本
Python贴吧打卡脚本截图

Step9.如若高度关注贴吧个数过多,恳请自行修改超时时间(大约为0.7s*高度关注个数)

常见问题

1、 发生module 'index' has no attribute 'main_handler'
化解方法:仔细查看教程Step5----是不是漏了一步?

2、发生Task timed out after 3 seconds
化解方法:参考教程Step10.

3、云函数收费吗?
云函数不收费,但是存有流量限制。详情请参看:https://cloud.tencent.com/document/product/583/17299

4、常见错误:KeyError: 'like_forum'
cookie大致格式为:BDUSS=XXXXX; TOKEN=XXXXXX

有关专题

卓越飞翔博客
上一篇: Discuz“密码错误次数过多,请15分钟后登陆”
下一篇: 微信小程序全局配置文件教程
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏