{"skill":{"slug":"douyin-scraper-nl","displayName":"Douyin Scraper","summary":"抖音爆款视频和文案爬虫。**支持自然语言搜索**（如\"搜索一下海鲜视频\"、\"帮我找抖音上的减肥餐\"、\"看看小龙虾相关内容\"），AI agent 自动提取关键词后调用 Playwright 抓取搜索结果与热榜，输出 JSON/CSV/Markdown。当用户说\"搜索一下xxx\"、\"找一下xxx视频\"、\"帮我搜xxx...","description":"---\nname: douyin-scraper\ndescription: 抖音爆款视频和文案爬虫。**支持自然语言搜索**（如\"搜索一下海鲜视频\"、\"帮我找抖音上的减肥餐\"、\"看看小龙虾相关内容\"），AI agent 自动提取关键词后调用 Playwright 抓取搜索结果与热榜，输出 JSON/CSV/Markdown。当用户说\"搜索一下xxx\"、\"找一下xxx视频\"、\"帮我搜xxx\"、\"抖音上xxx\"、\"看看xxx相关内容\"、\"抖音热榜\"、\"抖音爆款\"等等场景时加载此技能。\n---\n\n# 抖音爆款爬虫 Skill\n\n使用 Playwright 自动化浏览器操作，爬取抖音爆款视频和文案数据。\n**核心入口：自然语言一句话即可触发搜索。**\n\n---\n\n## 🗣️ 自然语言入口（核心用法）\n\n当用户用自然语言提出搜索请求，AI agent 应当：\n\n1. **从句子中提取搜索关键词**\n2. **直接调用 `scripts/scraper.py nl` 子命令**（推荐，最省事）\n\n### 自然语言关键词提取规则\n\n1. 去掉搜索动作词：搜索一下 / 搜一下 / 帮我搜 / 帮我找 / 找一下 / 看看 / 查一下 / 来一些 …\n2. 去掉平台词：抖音上的 / 抖音里 / 抖音 …\n3. 去掉内容类型尾词：视频 / 文案 / 图文 / 笔记 / 内容 / 相关的 / 之类的 / 等等 …（除非它本身就是搜索主题的一部分，比如\"美食视频解说\"中的\"视频解说\"是主题就保留）\n\n### 入口短语 → 关键词 → 命令 映射表\n\n| 用户输入                              | 提取关键词     | 推荐命令                                                                                        |\n|---------------------------------------|----------------|-------------------------------------------------------------------------------------------------|\n| 搜索一下海鲜视频                      | 海鲜           | `python scripts/scraper.py nl \"搜索一下海鲜视频\"`                                               |\n| 帮我找抖音上的减肥餐                  | 减肥餐         | `python scripts/scraper.py nl \"帮我找抖音上的减肥餐\"`                                            |\n| 搜一下韩国医美图文笔记                | 韩国医美       | `python scripts/scraper.py nl \"搜一下韩国医美图文笔记\"`                                          |\n| 看看抖音热榜有什么                    | (热榜)         | `python scripts/scraper.py nl \"看看抖音热榜有什么\"`                                              |\n| 找一些海鲜售卖相关的视频文案          | 海鲜售卖       | `python scripts/scraper.py nl \"找一些海鲜售卖相关的视频文案\"`                                    |\n| 抖音爆款 小龙虾                       | 小龙虾         | `python scripts/scraper.py nl \"抖音爆款 小龙虾\"`                                                 |\n\n`nl` 子命令会自己做关键词提取并执行 search/hot，AI agent 不必手动拼参数。\n\n如果 agent 想自己控制更细，也可以直接：\n\n```bash\npython scripts/scraper.py search --keyword \"海鲜\" --limit 10\n```\n\n---\n\n## 📦 安装\n\n```bash\ncd /root/.openclaw/workspace/douyin-scraper\n./install.sh             # 一键 Python venv + Playwright Chromium\n```\n\n或最小化（仅运行已带的 Python 脚本，不抓真实页面也能演示）：\n\n```bash\n# scraper.py 在缺少 playwright 时会回退到本地演示数据，\n# 关键词提取与命令路由依然真实可用，便于联调。\npython3 scripts/scraper.py nl \"搜索一下海鲜视频\"\n```\n\n---\n\n## 🔧 命令一览\n\n```bash\n# 1) 自然语言（推荐，AI agent 从用户原话直传即可）\npython scripts/scraper.py nl \"搜索一下海鲜视频\"\npython scripts/scraper.py nl \"看看抖音热榜有什么\"\n\n# 2) 关键词搜索\npython scripts/scraper.py search --keyword \"海鲜\" --limit 10\npython scripts/scraper.py search --keyword \"海鲜售卖\" --limit 20 --output seafood.json\n\n# 3) 抖音热榜\npython scripts/scraper.py hot --limit 20\npython scripts/scraper.py hot --category \"美食\" --limit 20 --output food_hot.json\n```\n\n所有命令都会向 stdout 打印一份可读摘要（标题/作者/链接/播放量/点赞），同时支持\n`--output` 写 JSON 或 `--format csv` 写 CSV，方便链路后续消费。\n\n---\n\n## 📊 输出结构\n\n```json\n[\n  {\n    \"title\": \"海鲜相关视频 1\",\n    \"description\": \"...\",\n    \"author\": \"作者1\",\n    \"play_count\": 10000,\n    \"like_count\": 1000,\n    \"comment_count\": 100,\n    \"share_count\": 50,\n    \"url\": \"https://www.douyin.com/search/海鲜\",\n    \"tags\": [\"海鲜\", \"热门\"],\n    \"publish_time\": \"2026-05-18\",\n    \"mock\": true\n  }\n]\n```\n\n> `mock: true` 表示当前条目来自本地演示数据（Playwright 不可用、被反爬阻断、或未登录抖音）。\n> 真实抓取需要：本机已安装 Playwright + Chromium，并已登录抖音（参见进阶用法）。\n\n---\n\n## 🤝 与其他 Skill 配合\n\n- `douyin-download` —— 拿到链接后下载视频\n- `video-merger` —— 合并视频\n- `eachlabs-video-edit` —— 视频编辑\n\n---\n\n## ⚠️ 使用须知\n\n1. 遵守抖音平台规则，避免高频请求\n2. 数据仅供学习和研究使用\n3. 真实抓取请先登录账号（cookies/profile），并使用合理的 delay\n4. 注意 IP 风控\n\n---\n\n更多详情见 `README.md`。示例触发短语见 `examples/search_requests.txt`。\n","tags":{"latest":"3.1.0"},"stats":{"comments":0,"downloads":511,"installsAllTime":0,"installsCurrent":0,"stars":0,"versions":7},"createdAt":1778324974091,"updatedAt":1779087526242},"latestVersion":{"version":"3.1.0","createdAt":1779087503499,"changelog":"本地工作区版本：新增 nl 子命令，把'搜索一下海鲜视频'这类自然语言一句话直接路由成关键词搜索/热榜命令，并补全 SKILL.md 入口短语映射表。","license":"MIT-0"},"metadata":null,"owner":{"handle":"terrycarter1985","userId":"s17brwfrqyjhbjgadkvar20h8x8492g8","displayName":"terrycarter1985","image":"https://avatars.githubusercontent.com/u/1542987?v=4"},"moderation":{"isSuspicious":false,"isMalwareBlocked":false,"verdict":"clean","reasonCodes":["review.llm_review"],"summary":"Review: review.llm_review","engineVersion":"v2.4.24","updatedAt":1780090831798}}