微信截图情报采集(通用型)
> 把微信电脑版(朋友圈 / 群聊 / 任意窗口)里的供求/交易信息,自动整理成可检索台账 + 每日匹配情报。
> 仅用桌面截图,不碰微信协议、不逆向、不上传聊天内容,合规安全。
它解决什么
你(或你的同行)每天在微信里刷到大量供求信息——谁要什么、谁在出什么货、哪有房源、哪个客户在收什么。人工抄表又慢又漏。
这个 Skill 让你截图就能入库:滚一遍朋友圈/群,脚本自动切块、用 OCR+文字密度预筛掉生活/广告噪音,
AI 再把候选图识别成结构化字段,自动去重、自动匹配「谁要的↔谁出的」,生成带红黄绿灯的情报报告。
通用:默认只内置跨行业通用的「交易信号词」(供应/求购/出售/转让/二手/价格…),不绑定任何行业;
换房产、茶叶、服装、二手车、工程机械…,只需要在采图时传 --keywords 你的行业词即可。
跨行业逻辑统一:供求关系(供/求)适用于任何买卖;匹配按「品类+规格+品牌+地区」通用配对。
适用前提(合规硬约束)
- Windows + 微信电脑版已登录。
- 采集那一步需在可见桌面下运行(锁屏/最小化会截到空屏,脚本会优雅跳过)。
- 因为只靠截图,所以不能全自动后台跑——需要你先把微信停在目标窗口、电脑不锁屏,再触发。
(可接入定时任务:每晚 20:00 前保持微信停在朋友圈+不锁屏即可。) - 采集脚本依赖 Windows GUI(pyautogui / pygetwindow / ctypes),仅 Windows 可用;
识别/入库/匹配/报告本身是纯 Python,跨平台。
依赖安装
pip install openpyxl pyautogui pygetwindow opencv-python Pillow numpy
pip install rapidocr-onnxruntime # 中文OCR预筛(可选,缺失时自动退化为纯文字密度预筛)
一键使用流程
- 建台账(首次):
bash python scripts/build_ledger.py 情报台账.xlsx
打开删掉示例行即可。 - 采集截图(微信停在朋友圈/目标群,电脑不锁屏):
bash # 房产业务示例(务必传自己的行业词) python scripts/wechat_moments_capture.py --manual --stop-on-repeat --crop --max-shots 200 \ --keywords "房源,小区,户型,租,售,中介,按揭,学区,满五,电梯房,毛坯" # 茶叶 python scripts/wechat_moments_capture.py --manual --crop --keywords "普洱,生茶,熟茶,茶饼,357克,古树" # 二手车 python scripts/wechat_moments_capture.py --manual --crop --keywords "二手车,轿车,SUV,里程,上牌,过户,首付" # 采群聊而非朋友圈 python scripts/wechat_moments_capture.py --manual --crop --window-title "货源交流群" --keywords "你的行业词" # 图文帖多的行业(如房产配图/商品图)开启图多信号增强 python scripts/wechat_moments_capture.py --manual --crop --image-boost --keywords "房源,户型,租,售"
输出moments_capture/日期/crops/(候选图 + manifest.json)。 - AI 识别(由 Agent 读取 crops/ 候选图,过滤噪音,提取 13 字段写成 JSON):
字段见references/field_standard.md,过滤规则见references/filter_rules.md。
识别时务必结合第 2 步的--keywords行业词判断,避免把无关帖误收。 - 入库去重:
bash python scripts/append_entries.py --ledger 情报台账.xlsx --entries entries.json - 重算匹配:
bash python scripts/match_lib.py 情报台账.xlsx - 生成高亮报告:
bash python scripts/build_highlight_report.py --ledger 情报台账.xlsx
得到供求匹配情报_高亮_日期.html(红=高度吻合 / 黄=部分 / 绿=一般)。
脚本参数速查
| 脚本 | 关键参数 | 说明 |
|---|---|---|
| wechat_moments_capture.py | --manual |
假定目标窗口已打开,只滚动截图 |
--stop-on-repeat |
滚到底(相邻帧重复)自动停 | |
--crop |
截图后切块+去重+双信号预筛 | |
--keywords "a,b,c" |
你的行业关键词用于OCR命中(换行业必传) | |
--window-title "群名" |
目标窗口标题,默认"朋友圈";群聊传群名 | |
--image-boost |
图多信号增强:保留文字少但图多的帖(房产配图/商品图等行业更准;默认关) | |
--max-shots N |
最大截图数(默认60;覆盖完整一天建议 200) | |
--calibrate |
只打印窗口坐标,调试用 | |
| append_entries.py | --ledger / --entries |
入库;entries 可为 JSON 文件或 -(stdin) |
| match_lib.py | 位置参数=台账路径 | 重算供↔求匹配,写回并导出 CSV/MD |
| build_highlight_report.py | --ledger / --out |
生成 HTML 高亮报告 |
| region_fill.py | --ledger |
辅助:按来源名归一化后批量补全地区 |
匹配逻辑(通用,不限于某一行业)
- 配对基础 = 品类(category)相同(不同品类不配对,如房产不配对茶叶);
- 精确配对 = 品类 + 规格/型号 都相同;
- 等级:高度吻合=同类同规格 且 (品牌一致 或 同区域) → 红;
部分吻合=同类同规格 或 (品牌一致 或 同区域) → 黄;
一般吻合=仅品类相同 → 绿。 - 已含去重(同一人对同一规格只留一条最优)+ 剔除自匹配(同一人既求又供)。
目录结构
wechat-moments-intel/
├── SKILL.md
├── README.md
├── scripts/
│ ├── wechat_moments_capture.py # ① 截图采集(切块+OCR/文字密度预筛)
│ ├── append_entries.py # ④ 入库去重
│ ├── match_lib.py # ⑤ 供↔求匹配(品类+规格+品牌+区域,红黄绿)
│ ├── build_highlight_report.py # ⑥ HTML 高亮报告
│ ├── build_ledger.py # 建空台账
│ ├── region_fill.py # 辅助:地区批量补全
│ └── moments_capture/
│ └── scan_shot_dates.py # ② OCR 边界扫描,定位目标日期区间
└── references/
├── field_standard.md # 13 字段标准(通用)
└── filter_rules.md # 交易帖 vs 噪音过滤规则
合规红线
- 绝不调用微信私有接口、不逆向、不 Hook、不读取本地聊天数据库。
- 只做"屏幕截图 → 图像识别",与你肉眼看朋友圈再手抄等价。
- 联系方式等隐私字段,对外分享报告前务必脱敏。