Community研究與資料分析github.com

拆抖音对标

输入一个抖音账号,全量采集公开作品数据并产出对标调研报告(原始数据 + Markdown + 浅色杂志风 HTML)。适用于 AI Agent 的智能化对标分析。

拆抖音对标 是什麼?

「拆抖音对标」是一个专为 AI Agent(如 Claude Code、Cursor 等)设计的抖音账号对标分析技能。用户只需提供一个抖音账号(支持分享短链、sec_uid、抖音号或昵称),该技能即可自动采集该账号的公开资料、作品列表及合集数据,并生成结构化的对标调研报告。报告包括原始 JSON 数据(`report_data.json`)、详细的 Markdown 九段分析文档,以及一份浅色杂志风格的离线 HTML 报告。该技能严格遵守合规边界:仅采集网页公开可见数据,不破解签名、绕过验证码或访问控制;对采集状态进行精细化分类(如 complete、partial、blocked_empty_body、challenge 等),并在报告中明确区分事实、观察与推断,确保结论有据可查。它使用隔离的 Chrome 配置文件(`~/.douyin-benchmark/chrome-profile`)进行登录态管理,不会干扰用户日常浏览器环境。支持通过环境变量配置浏览器通道(Chrome/Chromium)、无头模式及滚动间隔。首次使用时需运行 `npm ci` 和 `node scripts/login.js` 完成登录态初始化。该技能在 AI Agent 生态中尤其适用于竞品分析、内容策略研究、达人背调等场景。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add 9398-haha/douyin-benchmark

Installed? Explore more 研究與資料分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

拆抖音對標

把公開帳號採集、數據聚合和 HTML 渲染交給腳本;由 agent 基於 report_data.json 撰寫有證據邊界的 Markdown 報告。

遵守邊界

  • 只採集網頁公開可見數據;不破解簽名、不繞過驗證碼或訪問控制。
  • 只使用 ~/.douyin-benchmark/chrome-profile 專用登入態。不要讀取、複製或直接指向用戶日常 Chrome 用戶目錄,不輸出 Cookie 值。
  • 缺失值保持缺失,不改寫為 0。點讚只能作為公開熱度代理,不能稱為播放表現、互動率或轉粉效果。
  • 普通登入框、真實安全驗證、頁面服務異常分別判斷。遇到安全驗證、頁面服務異常或空回應軟攔截後停止;不要循環重試、自動換 IP、自動建立延時任務或承諾稍後完成。

首次準備

在本 Skill 目錄執行:

npm ci
node scripts/login.js

login.js 打開專用瀏覽器,驗證到真實帳號入口後自動儲存並關閉。檢查已有登入態時執行 node scripts/login.js --check。

一鍵執行

優先讓用戶提供抖音 App 的「分享主頁」短鏈。數字抖音號不是 sec_uid;直接拼 /user/<數字> 可能靜默回到資訊流。

OUT="$HOME/douyin-benchmark-output/<帳號標識>"
node scripts/run_benchmark.js "<主頁分享連結/sec_uid/抖音號/暱稱>" "$OUT" \
  --expected-id "<抖音號,可省略>"

預設使用有頭 Chrome,提高可觀察性並匹配真實瀏覽器 UA。無圖形環境才顯式加 --headless。腳本依序執行:

  1. 解析短鏈或 sec_uid;只有暱稱/抖音號時才使用站內搜尋。
  2. 採集資料、作品、合集並寫入 account_full_raw.json。
  3. 有作品時產生 report_data.json 與 調研報告.html。
  4. 全程更新 run_status.json,不在失敗後繼續分析。

先讀狀態,再寫結論

讀取 run_status.json 與 account_full_raw.json.capture:

  • complete:介面返回 has_more=0。可以寫帳號級報告;仍核對主頁作品數與採集數差異。
  • partial:只寫「已採集樣本報告」,在標題附近標出樣本量、主頁總量和覆蓋率;不要使用「全量」「帳號最高」等字眼。
  • blocked_empty_body:作品介面 HTTP 200 但空主體。停止請求,只交付資料快照和診斷;稍後重試必須由用戶決定,且最多一次。
  • challenge:讓用戶在專用瀏覽器完成驗證後再試一次,不嘗試繞過。
  • login_required:頁面是普通登入框,並非安全驗證。執行登入腳本,成功後只重試一次。
  • page_service_error:作品區明確顯示「服務異常,重新重新整理拉取數據」。停止重新整理;確認登入態後最多重試一次。
  • no_post_response:可能是輸入錯誤或頁面/API 變化。先檢查 sec_uid 與有頭頁面,不盲目加滾動次數。
  • endpoint_error:作品介面返回 HTTP/API 錯誤或非 JSON 內容。保留診斷並停止分析,先檢查頁面/API 變化。

撰寫 Markdown

僅在 report_data.json 存在且含可分析作品時,完整讀取 references/report-template.md,按九段結構寫 $OUT/調研報告.md。

把內容分成三類並明確措辭:

  • 事實:JSON 中的公開欄位和計算結果。
  • 觀察:標題、簡介、合集名、封面或實際打開過的影片呈現。
  • 推斷:人設、變現路徑、內容公式;寫出證據和信心水準,不當成事實。

沒有評論正文就不寫「熱評情感」;沒有觀看影片就不聲稱鏡頭、口播、劇情或表演細節。用戶指定自身賽道時,再把可複製清單定向遷移。

驗收

  • account_full_raw.json、run_status.json、report_data.json、調研報告.html、調研報告.md 狀態一致。
  • HTML 和 Markdown 都顯示實際採集樣本、主頁作品數、覆蓋率與 capture_status。
  • 阻塞時檢查 capture.diagnostics.page:只記錄標題、路徑、登入/挑戰/服務異常布爾訊號與影片連結數,不儲存正文或 Cookie。
  • 數字逐項對照 report_data.json;缺失值顯示 —/未知。
  • HTML 可離線打開,外部文字已跳脫;封面失敗不影響正文。
  • HTML 不出現整頁橫向溢出;最新作品標題可讀。發布節奏按發布條數展示最近 12 個月,只有完整採集才把缺月補為 0。
  • Markdown 九段齊全,含數據口徑、證據邊界、可複製清單和不可照搬項。

配置

  • DOUYIN_PROFILE_DIR:專用登入態目錄;預設 ~/.douyin-benchmark/chrome-profile。
  • DOUYIN_BROWSER_CHANNEL:預設 chrome;設 chromium 時先安裝 Playwright Chromium。
  • DOUYIN_HEADLESS=true:顯式啟用無頭模式;預設有頭。
  • DOUYIN_SCROLL_WAIT_MS:滾動間隔下限,預設 1600ms;不要用它做高頻採集。

相關技能