微博内容获取技能
用途
自动抓取指定微博用户在给定时间范围内的所有微博,生成:
weibo_final.json:结构化数据文件weibo_resource_library.md:按日期分组的 Markdown 资料库
使用前置条件(必须先告知用户)
在执行任何操作前,先向用户展示以下前置要求清单:
⚠️ 使用本技能前,请确认以下操作已完成:
1. ✅ 在 WorkBuddy 中激活 web-access skill(输入 /web-access 或让 AI 调用)
2. ✅ 在弹出的 Chrome 浏览器中访问 https://m.weibo.cn 并确认已登录微博账号
3. ✅ 验证 CDP Proxy 正在运行:
PowerShell:Invoke-WebRequest -Uri "http://127.0.0.1:3456/targets" -UseBasicParsing
返回 JSON 数组则正常
未完成以上步骤将导致连接失败或长文内容缺失。
等用户确认后,再继续执行。
执行流程
Step 1:加载 web-access skill
# 在 AI 对话中
Skill("web-access")
确认 CDP Proxy 运行在 127.0.0.1:3456。
Step 2:确认输出目录
默认输出到当前工作目录(cwd)。如需自定义,让用户指定路径。
Step 3:运行抓取脚本
使用 Node.js 22.x 执行技能内置脚本:
$node = "C:\Users\tianz\.workbuddy\binaries\node\versions\22.12.0\node.exe"
$script = "C:\Users\tianz\.workbuddy\skills\weibo-content-fetcher\scripts\fetch_weibo.js"
$uid = "7994205115" # 目标微博用户 UID
$startDate = "2026-05-12" # 替换为实际开始日期
$endDate = "2026-05-14" # 替换为实际结束日期
$outputDir = "C:\Users\tianz\WorkBuddy\2026-05-14-task-11" # 替换为实际输出目录
& $node $script $uid $startDate $endDate $outputDir
关键注意事项(勿遗漏):
- Node.js 必须使用绝对路径(受管理运行时)
- hostname 必须使用
127.0.0.1,不能用localhost(IPv6 会 ECONNREFUSED) - 如遇 JSON 解析失败,检查是否有 UTF-8 BOM,用
buf.replace(/^\uFEFF/, '')处理
Step 4:验证输出
检查生成的两个文件:
weibo_final.json:确认条数符合预期weibo_resource_library.md:确认内容完整,长文是否已展开
Step 5:如遇乱码或内容缺失
若某些微博文本为乱码(?????),说明字符编码异常,排查步骤:
- 检查 CDP 响应是否用
res.setEncoding('utf8')读取(而非 Buffer concat) - 若是通过 PowerShell 保存的临时文件,改用 Node.js HTTP 直接读取并用
utf8编码
若某些长文内容缺失(isLongText=true 但 text_full 为空),排查步骤:
- 确认微博账号已登录
- 增加详情页等待时间(3000ms → 5000ms)
- 手动在 Chrome 中打开该微博详情页,确认能正常加载
API 参数说明
| 字段 | 说明 |
|------|------|
| UID | 目标微博用户 UID(命令行第一个参数) |
| containerid | 107603{UID},自动拼接 |
| API 基础 URL | https://m.weibo.cn/api/container/getIndex |
| 详情页 URL 模板 | https://m.weibo.cn/detail/{mblogId} |
常用账号 UID 参考
| 账号 | UID | |------|-----| | @三角洲行动赛事 | 7994205115 |
输出文件说明
weibo_final.json
每条微博包含以下字段:
{
"id": "微博ID",
"created_at": "发布时间(UTC)",
"text": "HTML格式正文",
"text_full": "纯文本完整正文(长文才有)",
"isLongText": false,
"reposts_count": 0,
"comments_count": 0,
"attitudes_count": 0,
"pics": ["图片URL数组(来自API)"],
"pics_detail": ["图片URL数组(来自详情页DOM,更完整)"]
}
weibo_resource_library.md
按日期分组,每条微博包含:发布时间、完整正文(已去除 HTML 标签)、配图链接、互动数据、微博详情链接。
参考文档
- 详细前置条件和故障排查:
references/prerequisites.md - 抓取脚本源码:
scripts/fetch_weibo.js
微信扫一扫