Skip to content

Latest commit

 

History

History
96 lines (78 loc) · 5.09 KB

README.md

File metadata and controls

96 lines (78 loc) · 5.09 KB

基于Python的微博超话签到脚本

更新:支持青龙面板,前往nodejs分支查看教程

再次更新: Python 版本现支持全部签到及多用户签到,请根据需要自定设置

更正!:微博国际版升级为轻享版后仍可抓包,如是 ios 请使用 Stream, Thor 已废

更新 ❗:由于未知原因,部分账号目前会触发验证,暂时无法通过脚本处理,部分情况下通过一次验证后当日不会再次触发

更新!:若从未使用过微博轻享版(原国际版)签到过超话,请先手动签到至少一个,然后再尝试运行脚本,否则会有软件版本验证问题

好消息✅:IOS 的同学可以试试这个 捷径一键签到@dsttl3 出品

项目简介

  1. 基于Python实现微博超话关注列表的获取及签到
  2. 根据签到结果选择不同渠道进行通知(钉钉, 微信, QQ)
  3. 可通过腾讯云或阿里云实现每日定期签到

文件结构

weibo_supertopic_sign/
| -- notify/
|          | -- __init__.py
|          | -- dingdingbot.py -> 钉钉机器人通知(钉钉)
|          | -- notifier.py -> 全通知渠道运行
|          | -- qmsgchan.py -> Qmsg酱通知(QQ)
|          | -- serverchan.py -> Server酱通知(微信)
| -- __init__.py
| -- config.json -> 本地参数json文件
| -- config.py -> 从环境或本地获取参数
| -- index.py -> 脚本入口文件
| -- requirements.txt -> 安装依赖时所用文本
| -- supertopicsign.py -> 微博超话关注列表的获取及签到
| -- utils.py -> 系统打印设置

抓包说明

  • 打开 微博国际版 -> 关注的超话 -> 超话社区
  • 开始抓包 -> 超话社区界面下拉刷新 -> 停止抓包
  • 会话记录 中 搜索 cardlist 点进去即可得到 ROW_URL 参数 IUVcLT.png

参数说明

变量名称 变量含义
ROW_URL(必需) 微博国际版手机端抓包得到的原始链接
需包含aid, gsid, from, s,通过 ';' 分隔多用户参数
SIGN_ONCE_COUNT(必需) 一次运行时签到的超话数
DING_SECRET(可选) 钉钉机器人密钥
DING_WEBHOOK(可选) 钉钉机器人webhook
SERVER_KEY(可选) Server酱 Key
QMSG_KEY(可选) Qmsg酱 Key
IS_SORT(可选) 结果是否根据等级排序
INCREASE -> 按等级升序
DECREASE -> 按等级降序
DISP_TYPE(必需) 结果是否展示等级信息
DEFAULT -> 默认成功简略显示
DETAIL-> 成功签到显示等级

更新说明

2022-9-17

python 云函数分支 更新签到参数,支持多用户签到,全超话签到

通过单次执行数量限制避免云函数超时,通过多次触发 cron 签到全部超话

2022-2-24

添加测试程序 方便调试纠错
     测试前填写好 test/config.json 中参数 直接运行test/test_index.py 即可      结果可在 test/data 文件夹中查看 均以 json 文件形式保存

使用说明

  1. 本地使用
    下载代码至本地 要求环境 Python 3.6.8 及以上
    填写好目录中 config.json 中的参数
    打开命令行 运行如下命令
    pip install -r requirements.txt
    python index.py
  2. 腾讯云函数运行
    • 登录 腾讯云, 打开右上角 控制台, 找到 我的资源 -> 云函数,点击打开, 找到 函数服务 -> 新建, 选择 自定义创建, 设置 函数名称, 选择 本地上传ZIP包, 上传 supertopic_sign_v1.0.5 提取码 dvl9,点击完成,完成新建云函数
    • 进入 函数管理 -> 函数配置 -> 设置执行超时时间 -> 设置环境变量
    • 进入 触发管理 -> 创建触发器 -> 选择 自定义触发周期 -> 设置corn表达式 -> 提交 即完成设置

注意事项

为避免过快请求触发检测机制 程序中相关延时设置较为保守 若发现云端执行时程序无法签到所有超话 可尝试以下方法

  1. 修改代码段中延时时间
//supertopicsign.py 68
time.sleep(random.randint(5, 10))
//supertopicsign.py 154
time.sleep(random.randint(15, 30))
  1. 使用 SIGN_TYPE 和 SIGN_LIST 参数对超话进行分批次签到

注意事项2

目前发现存在微博账号 其数据返回结构体与一般账号存在差异 会导致无法正确获取相关参数
如果发现自己的账号存在这种情况且不知道怎么解决 请在ISSUE中提出并贴出数据的返回结构
我会尽力解决并更新程序