🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双
💻 个人主页——>个人主页欢迎访问
😸 Github主页——>Github主页欢迎访问
❓ 知乎主页——>知乎主页欢迎访问
🏳️🌈 CSDN博客主页:请点击——> 一晌小贪欢的博客主页求关注
👍 该系列文章专栏:请点击——>Python办公自动化专栏求订阅
🕷 此外还有爬虫专栏:请点击——>Python爬虫基础专栏求订阅
📕 此外还有python基础专栏:请点击——>Python基础学习专栏求订阅
文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏
❤️ 欢迎各位佬关注! ❤️
前言
纯前端浏览器扩展(Manifest V3):登录后可一键遍历并签到你关注的所有微博超话,支持每日定时自动签到、补签检查与签到状态分析,内置可视化日志与统计信息。无需后端服务,所有数据仅保存在本地。
插件信息
- GitHub仓库:微博超话一键签到(插件版)
- 个人博客:微博超话一键签到(插件版)
功能特性
- 一键自动签到:识别“签到”按钮并逐个执行签到,记录成功/失败。
- 签到状态分析:统计“可签到 / 已签到”数量与完成率,不执行实际签到。
- 每日定时:在设定时间通过浏览器闹钟自动执行签到,并具备补签逻辑。
- 登录管理:一键打开登录页与检查登录状态。
- 本地存储:保存设置与最近一次执行结果,方便查看与调试。
- 预览模式:
preview.html可在不加载扩展接口的情况下预览界面(使用模拟数据)。
安装与加载(Chrome / Edge)
- 下载或克隆本仓库代码。
- 打开浏览器的扩展管理页面:
- Chrome:在地址栏输入
chrome://extensions/ - Edge:在地址栏输入
edge://extensions/
- Chrome:在地址栏输入
- 打开右上角“开发者模式”。
- 点击“加载已解压的扩展程序”,选择本仓库中的
weibo-chaohua-checkin目录。 - 加载成功后,浏览器工具栏会出现“微博超话一键签到”扩展图标,点击打开弹窗使用。
如果仅想预览界面,不依赖扩展接口,可直接双击打开
weibo-chaohua-checkin/preview.html。
使用指南
-
首次登录:
- 在弹窗点击“打开登录页面”,将在新标签页打开微博登录页;完成登录后回到弹窗点击“检查登录”。
- 登录成功后,弹窗“登录状态”会显示“登录有效”。
-
立即签到:
- 点击“
一键自动签到”,扩展会遍历你关注的所有超话,逐项执行签到并在表格与日志中实时展示结果。
- 点击“
-
分析签到状态(不执行签到):
- 点击“
分析签到状态”,统计今日已签到/可签到的数量与签到完成率,仅用于查看,不会改变状态。
- 点击“
-
每日自动签到:
- 在“设置”面板勾选“启用每日自动签到”,选择执行时间(本地时区),点击“保存设置”。
- 弹窗会显示“下次执行时间”。到点后,后台脚本会自动执行签到并更新下一次闹钟。
- 如果当天到达设定时间时扩展未运行,下一次启动时会触发一次“补签”检查以完成当日任务。
-
停止执行:
- 在签到或分析进行中,可随时点击“停止”。
-
清除缓存:
- 点击“清除缓存”会清空本地
localStorage(弹窗侧的预览/非扩展环境),扩展运行时主要使用chrome.storage.local存储。
- 点击“清除缓存”会清空本地
权限说明
manifest.json 中声明的权限与用途:
storage:保存扩展设置与最近一次执行结果(如数量统计)。alarms:创建每日定时闹钟并在到点时自动签到。scripting:在微博页面上下文执行脚本(携带正确 Cookie/Referer),确保签到接口调用有效。tabs:查询或创建微博相关标签页,用于在页面上下文执行脚本。host_permissions:https://m.weibo.cn/*:读取登录状态、获取关注的超话列表、执行签到接口。https://passport.weibo.com/*:打开登录页并完成登录流程。
工作原理(技术实现)
-
背景脚本
background.js(MV3 Service Worker):- 读取设置(
enableDaily,dailyTime)后建立闹钟(chrome.alarms),按本地时区每日触发。 - 在闹钟触发或消息请求时执行
autoCheckin():- 通过
https://m.weibo.cn/api/config检查登录(credentials: 'include')。 - 通过
https://m.weibo.cn/api/container/getIndex?containerid=100803_-_followsuper分页拉取关注的超话卡片(基于since_id)。 - 对每个卡片的
card_group遍历,识别按钮:签到/已签到/明日再来等。 - 若可签到,提取按钮
scheme(形如/api/container/button?...),并在微博页面上下文以fetch()调用完成签到。 - 汇总统计并存储到
chrome.storage.local:lastRunDate、lastResult(总数/新签到/已签到/失败)。
- 通过
- 通过
checkMakeup()实现补签:当设定时间已过且当天尚未执行时,启动/安装后自动跑一次,并重置下一次闹钟。
- 读取设置(
-
弹窗脚本
popup.js:- 提供登录管理、执行签到/分析、日志与统计、表格渲染、设置读取/保存等 UI 功能。
- 支持“预览模式”(不在扩展环境时自动启用),使用模拟数据展示界面与流程,方便无扩展环境下查看。
-
页面上下文执行:
- 通过
chrome.scripting.executeScript在微博标签页的主世界执行fetch(),以确保请求头(Cookie/Referer/Sec-Fetch 等)符合页面规则;若无现成微博标签页,扩展会创建一个标签页并在其中执行。
- 通过
数据存储键
settings:{ enableDaily: boolean, dailyTime: 'HH:MM' }lastRunDate:'YYYY-MM-DD'lastResult:{ ts, totalTopics, checkedInBefore, newlyCheckedIn, failedCheckin }nextRun:下次定时触发的时间戳(毫秒)
文件结构
weibo-chaohua-checkin/
├── manifest.json # 扩展清单(Manifest V3)
├── background.js # 背景脚本(定时与补签、消息处理)
├── popup.html # 弹窗界面结构
├── popup.js # 弹窗交互逻辑(签到/分析/设置/日志/表格)
├── preview.html # 预览页面(不依赖扩展接口)
└── styles.css # 基本样式
常见问题(FAQ)
-
登录失败或提示未登录?
- 请先点击“打开登录页面”并在新标签页完成登录;随后回到弹窗点击“检查登录”。
- 请确保未启用无痕模式或阻止第三方 Cookie;必要时清理浏览器缓存后重试。
-
“下次执行时间”显示未设置?
- 勾选“启用每日自动签到”并点击“保存设置”。
- 在某些系统上,浏览器 Service Worker 会因长时不活动而休眠;保持浏览器运行或定期打开扩展弹窗,确保闹钟能够触发。
-
签到失败的原因?
- 接口策略调整或频率限制、网络异常、Cookie 失效等均可能导致失败;可稍后重试并查看弹窗日志。
-
表格中未显示任何超话?
- 请确认你在微博已关注超话;也可以在移动端页面(
m.weibo.cn)的“我的超话”验证是否可正常访问。
- 请确认你在微博已关注超话;也可以在移动端页面(
-
能否在预览模式下实际签到?
- 不能。预览模式仅用于界面查看与流程演示,不会访问微博接口,也不会创建闹钟。
隐私与安全
- 本扩展不会采集、上传任何个人数据;所有请求均直接与微博官方接口通信。
- 设置与执行结果仅保存在本地存储(
chrome.storage.local)。 - 请遵守微博平台使用规范,合理控制签到频率。
开发与调试
- 依赖:Chromium 系浏览器,支持 Manifest V3。
- 调试入口:
chrome://extensions(或edge://extensions)打开“开发者模式”,查看“服务工作线程(Service Worker)”日志与控制台输出。 - 关键逻辑:
- 定时与补签:
background.js中的setupAlarm()与checkMakeup()。 - 页面执行:
ensureWeiboTab()+chrome.scripting.executeScript()。 - 弹窗交互:
popup.js中的事件绑定与表格渲染。
- 定时与补签:
- UI 预览:直接打开
preview.html,不需要加载扩展即可查看界面与交互流程(模拟数据)。
版本信息
- 当前版本:
0.2.0 - 说明:支持每日定时自动签到、补签检查、状态分析与预览模式;界面包含统计、表格与日志。
免责声明
本项目仅用于个人学习与效率提升,所有接口与网页资源归微博平台所有。请勿用于违反平台规则的用途。由于平台接口或策略调整导致的功能不可用,作者不承担相关责任。
如需反馈问题或提交改进建议,欢迎发起 Issue 或 Pull Request。
希望对初学者有帮助;致力于办公自动化的小小程序员一枚
希望能得到大家的【❤️一个免费关注❤️】感谢!
求个 🤞 关注 🤞 +❤️ 喜欢 ❤️ +👍 收藏 👍
此外还有办公自动化专栏,欢迎大家订阅:Python办公自动化专栏
此外还有爬虫专栏,欢迎大家订阅:Python爬虫基础专栏
此外还有Python基础专栏,欢迎大家订阅:Python基础学习专栏
