Install
openclaw skills install social-media-analysis社交媒体舆情数据分析工具。从飞书多维表格读取 URL,下载媒体,分析内容,生成摘要。
openclaw skills install social-media-analysis脚本清单:
scripts/run_backfill.js - Clawhub 入口(依次跑多渠道回填 + 微博回填)extract-douyin-images.js - 抖音图集下载parse-douyin-video.js - 抖音视频/音频下载parse-weibo.js - 微博图集下载backfill-weibo-content-analysis.js - 微博正文回填到「内容解析」backfill-content-analysis-by-source.js - 多渠道原文URL回填「内容解析」parse-xiaohongshu.js - 小红书图集下载parse-toutiao-playwright.js - 今日头条 Playwright 渲染下载parse-bilibili.js - B 站视频下载build-content-analysis.js - 统一内容解析生成(100字内,带兜底)使用场景: (1) 分析飞书多维表格中的社交媒体数据 (2) 批量下载媒体文件(图片/视频) (3) 生成 100 字内容解析 (4) 用户提到"舆情分析"、"社交媒体分析"
1. 创建字段 → 2. 链接检查 → 3. 下载媒体 → 4. 抽帧分析 → 5. 更新表格
# 链接是否有效(单选)
# 包含多媒体类型(单选:图片/视频)
# 内容解析(文本)
| 平台 | 方法 |
|---|---|
| 抖音 | 脚本解析(不能用 HEAD) |
| 微博/今日头条/B 站 | HEAD 请求 |
| 快手 | 特殊处理 |
| 平台 | 视频 | 图集 |
|---|---|---|
| 抖音 | parse-douyin-video.js | extract-douyin-images.js |
| 微博 | yt-dlp | parse-weibo.js |
| 今日头条 | yt-dlp | parse-toutiao-playwright.js |
| B 站 | yt-dlp | - |
# 视频抽帧(每 5 秒)
ffmpeg -i video.mp4 -vf "fps=1/5" frames/frame_%03d.jpg
# 图片分析
image frame_001.jpg "描述画面内容"
node scripts/build-content-analysis.js \
--title "标题" \
--text "正文" \
--platform "微博" \
--media-type "视频" \
--visual "抽帧/图片识别结果"
规则:
content_analysis,不可为空。curl -X PUT "https://open.feishu.cn/open-apis/bitable/v1/apps/APP/tables/TBL/records/REC" \
-H "Authorization: Bearer TOKEN" \
-d '{"fields": {"链接是否有效": "是", "包含多媒体类型": "视频", "内容解析": "..."}}'
APP_ID="cli_a93d6e8a913a5bc8"
APP_SECRET="<your_secret>"
TOKEN=$(curl -s -X POST https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal \
-H "Content-Type: application/json" \
-d "{\"app_id\": \"$APP_ID\", \"app_secret\": \"$APP_SECRET\"}" | jq -r '.tenant_access_token')
| 工具 | 用途 |
|---|---|
yt-dlp | 微博/B 站视频下载 |
ffmpeg | 视频抽帧 |
node | 运行 JS 脚本 |
playwright | 今日头条渲染 |
# 判断类型
node scripts/extract-douyin-images.js URL /tmp/check
# 视频
node scripts/parse-douyin-video.js URL --download
# 图集
node scripts/extract-douyin-images.js URL ./images
判断类型:
yt-dlp --list-formats URL 2>&1 | grep -q "No video formats"
# 有 "No video formats" = 图文,无 = 视频
下载方法:
| 类型 | 方法 |
|---|---|
| 视频 | yt-dlp -o video.mp4 URL |
| 图文(1-9 张) | 浏览器获取 + curl 下载 |
图文下载脚本:
# 方法 1:浏览器获取图片 URL
node -e "
const { chromium } = require('playwright');
(async () => {
const browser = await chromium.launch({ headless: true });
const page = await browser.newPage();
await page.goto('https://weibo.com/USER/ID', { waitUntil: 'domcontentloaded' });
await page.waitForTimeout(5000);
const images = await page.evaluate(() => {
return Array.from(document.querySelectorAll('img[src*=\\\"sinaimg\\\"]'))
.map(img => img.src.replace('orj360', 'mw690'));
});
console.log(images.join('\n'));
await browser.close();
})().catch(console.error);
"
# 方法 2:curl 下载
curl -sL "IMAGE_URL" -o "images/image-01.jpg"
注意:
# 文章图片
node scripts/parse-toutiao-playwright.js URL ./output
# 视频(yt-dlp 原生支持)
yt-dlp -o video.mp4 URL
yt-dlp -o video.mp4 URL
# 判断类型
yt-dlp --dump-json URL | jq '.duration'
# 视频
yt-dlp -o video.mp4 URL
# 图集(需 Cookie)
node scripts/parse-xiaohongshu.js URL ./images
# 1. 检查链接
node scripts/parse-douyin-video.js URL --download
# 2. 抽帧
ffmpeg -i video.mp4 -vf "fps=1/5" frames/frame_%03d.jpg
# 3. 分析
image frames/frame_001.jpg "描述画面"
# 4. 更新表格
curl -X PUT "..." -d '{"fields": {...}}'
# 见 WORKFLOW_V2.md 完整脚本
WORKFLOW_V2.md - 完整工作流脚本memory/2026-03-23.md - 执行记录