200字
微博超话一键签到(插件版)
2025-10-17
2025-10-22
  • 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双
  • 💻 个人主页——>个人主页欢迎访问
  • 😸 Github主页——>Github主页欢迎访问
  • ❓ 知乎主页——>知乎主页欢迎访问
  • 🏳️‍🌈 CSDN博客主页:请点击——> 一晌小贪欢的博客主页求关注
  • 👍 该系列文章专栏:请点击——>Python办公自动化专栏求订阅
  • 🕷 此外还有爬虫专栏:请点击——>Python爬虫基础专栏求订阅
  • 📕 此外还有python基础专栏:请点击——>Python基础学习专栏求订阅
  • 文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏
  • ❤️ 欢迎各位佬关注! ❤️

前言

纯前端浏览器扩展(Manifest V3):登录后可一键遍历并签到你关注的所有微博超话,支持每日定时自动签到、补签检查与签到状态分析,内置可视化日志与统计信息。无需后端服务,所有数据仅保存在本地。

插件信息

功能特性

  • 一键自动签到:识别“签到”按钮并逐个执行签到,记录成功/失败。
  • 签到状态分析:统计“可签到 / 已签到”数量与完成率,不执行实际签到。
  • 每日定时:在设定时间通过浏览器闹钟自动执行签到,并具备补签逻辑。
  • 登录管理:一键打开登录页与检查登录状态。
  • 本地存储:保存设置与最近一次执行结果,方便查看与调试。
  • 预览模式:preview.html 可在不加载扩展接口的情况下预览界面(使用模拟数据)。

安装与加载(Chrome / Edge)

  1. 下载或克隆本仓库代码。
  2. 打开浏览器的扩展管理页面:
    • Chrome:在地址栏输入 chrome://extensions/
    • Edge:在地址栏输入 edge://extensions/
  3. 打开右上角“开发者模式”。
  4. 点击“加载已解压的扩展程序”,选择本仓库中的 weibo-chaohua-checkin 目录。
  5. 加载成功后,浏览器工具栏会出现“微博超话一键签到”扩展图标,点击打开弹窗使用。

如果仅想预览界面,不依赖扩展接口,可直接双击打开 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()
      1. 通过 https://m.weibo.cn/api/config 检查登录(credentials: 'include')。
      2. 通过 https://m.weibo.cn/api/container/getIndex?containerid=100803_-_followsuper 分页拉取关注的超话卡片(基于 since_id)。
      3. 对每个卡片的 card_group 遍历,识别按钮:签到 / 已签到 / 明日再来 等。
      4. 若可签到,提取按钮 scheme(形如 /api/container/button?...),并在微博页面上下文以 fetch() 调用完成签到。
      5. 汇总统计并存储到 chrome.storage.locallastRunDatelastResult(总数/新签到/已签到/失败)。
    • 通过 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基础学习专栏


image-giWK.png

微博超话一键签到(插件版)
作者
一晌小贪欢
发表于
2025-10-17
License
CC BY-NC-SA 4.0

评论