自动化采集成都工贸职业技术学院及其下属二级学院、部门公众号在指定日期范围内的文章发布情况,生成可视化统计图表与逐篇明细表。支持阅读量追踪——通过 Fiddler 抓包获取微信认证 token,调用微信内部 API 获取真实阅读量、点赞数、转发数等数据。
完整的公众号 → 网站/搜索源映射见 references/accounts.md。核心数据源分两类:
从用户输入中提取目标日期范围。常见表达:
对以下数据源同时发起 WebFetch,抓取新闻列表:
主号:
https://www.cdgmxy.edu.cn/html/gmxy/xwzx_xyyw/ (成都工贸职业技术学院主号)
https://www.cdsjs.com/html/cdsjs/xwzx_xyyw/ (成都市技师学院主号)
二级学院(有网站的 7 个):
https://jxx.cdgmxy.edu.cn/ (机械工程学院 — 机械学生之家)
https://dqx.cdgmxy.edu.cn/ (电气工程学院 — 五彩电气)
https://dzx.cdgmxy.edu.cn (信息工程学院 — 信芯之火)
https://qcx.cdgmxy.edu.cn/ (汽车工程学院 — 工贸汽车人)
https://jmx.cdgmxy.edu.cn/ (财贸管理学院 — 魅力财贸)
https://gdx.cdgmxy.edu.cn/ (轨道交通学院 — 成都工贸轨道交通)
https://tdxx.cdgmxy.edu.cn/ (铁道工程学院 — 成工贸马小匠)
部门网站:
https://xsc.cdgmxy.edu.cn/ (党委学工部 — 工贸学工在线数据源)
提示词策略: WebFetch 时使用类似 "列出这个页面上 YYYY年MM月的所有新闻标题和日期,全部列出来,不要遗漏" 的 prompt。
翻页策略: 多数网站新闻列表有分页(index_2.html, index_3.html ...),首页只能看到最新几条。如果用户要求的日期范围覆盖较早时间,需要继续翻页抓取。翻到新闻日期早于用户要求范围时停止。
Note: 技师学院(cdsjs.com)和工贸职院(cdgmxy.edu.cn)的新闻高度重叠(一套班子两块牌子),去重时注意:相同标题但日期可能略有偏差(通常差1-2天)。
对于以下无网站同步的公众号,使用搜狗微信文章搜索:
工贸学工在线:
WebFetch https://weixin.sogou.com/weixin?type=2&query=工贸学工在线&ie=utf8
成都工贸团委:
WebFetch https://weixin.sogou.com/weixin?type=2&query=成都工贸团委&ie=utf8
成都技师团委:
WebFetch https://weixin.sogou.com/weixin?type=2&query=成都技师团委&ie=utf8
成都工贸学生事务中心:
WebFetch https://weixin.sogou.com/weixin?type=2&query=成都工贸学生事务中心&ie=utf8
工贸国际:
WebFetch https://weixin.sogou.com/weixin?type=2&query=工贸国际&ie=utf8
搜狗限制说明:
&page=2 ~ &page=10
补充搜索策略: 对于搜狗索引不足的账号,可以改用内容关键词搜索(如 "成都工贸 五四表彰 2026"、"成都工贸 心理情景剧")从侧面挖掘文章。同时搜狗搜索结果中可能包含微信文章直接链接(mp.weixin.qq.com/s?...),这些链接可用于后续阅读量抓取。
当用户要求查看阅读量时,使用 Fiddler token + 微信内部 API 方式获取真实阅读量。
微信阅读量数据只在微信客户端环境下返回,普通浏览器请求拿不到。需要通过以下流程:
https://mp.weixin.qq.com/mp/getappmsgext 获取阅读量
必须由用户手动完成以下步骤:
python fetch_reads.py 功能1,输入任意一篇文章链接即可生成
mp.weixin.qq.com、URL 含 /mp/profile_ext 的请求
--token-url 参数
⚠️ token 有效期有限(通常几小时),过期需重新抓包。
scripts/fetch_reads.py
API 模式(推荐,可获取真实阅读量):
# 将文章URL列表写入临时文件
# 然后用 token 模式批量抓取
C:\Users\aokec\.workbuddy\binaries\python\versions\3.13.12\python.exe \
C:\Users\aokec\.workbuddy\skills\cdgm-wechat-monitor\scripts\fetch_reads.py \
--token-url "https://mp.weixin.qq.com/mp/profile_ext?__biz=xxx&uin=xxx&key=xxx&pass_ticket=xxx" \
--article-urls /tmp/wx_urls.txt \
--output json \
--delay 5.0
浏览器模式(回退方案,可能拿不到真实阅读量):
C:\Users\aokec\.workbuddy\binaries\python\versions\3.13.12\python.exe \
C:\Users\aokec\.workbuddy\skills\cdgm-wechat-monitor\scripts\fetch_reads.py \
"https://mp.weixin.qq.com/s/xxx" \
--output json \
--timeout 20
统计每个公众号在指定日期范围内的发文章数,生成汇总表。如包含阅读量数据,同时汇总阅读量统计(总阅读量、篇均阅读量、最高阅读量文章)。
使用 show_widget 工具生成图表,图表规范:
图表1:发文章数柱状图
(公众号数量 × 40) + 80 像素
图表2:阅读量柱状图(有阅读量数据时)
(公众号数量 × 40) + 80 像素
用 Markdown 表格列出每个公众号的所有文章:
不含阅读量:
## 【公众号名称】— X篇
| 日期 | 标题 |
|:---:|---|
| MM-DD | 文章标题1 |
| MM-DD | 文章标题2 |
含阅读量:
## 【公众号名称】— X篇
| 日期 | 标题 | 阅读 | 点赞 | 在看 |
|:---:|---|:---:|:---:|:---:|
| MM-DD | 文章标题1 | 1234 | 56 | 12 |
| MM-DD | 文章标题2 | 567 | 23 | 5 |
输出整体统计摘要:
当用户要求查看阅读量时,AI 应:
/mp/profile_ext 请求,Ctrl+U 复制 URL
fetch_reads.py --token-url
如果用户不愿/无法完成 Fiddler 抓包:
共 2 个版本