Back to skills
extension
Category: OtherNo API key required

抖音爆款爬虫

爬取抖音热榜和热点视频数据,使用 OpenClaw browser tool 从抖音网页版抓取真实数据。搜索功能因验证码限制,自动回退到热榜数据。

personAuthor: terrycarter1985hubclawhub

抖音爆款爬虫 Skill

功能概述

使用 OpenClaw browser tool 自动化浏览器操作,爬取抖音热榜和热点视频数据。

⚠️ 重要限制

  • 搜索页面被验证码拦截 — 直接访问 douyin.com/search/xxx 会触发验证码,无法绕过
  • 热榜页面稳定可用douyin.com/hot 可正常访问,包含 50 条热榜 + 10 条热点视频
  • 搜索请求回退到热榜 — 当用户请求搜索时,返回当前热榜数据并说明限制

使用方法(OpenClaw browser tool)

获取热榜数据

1. browser navigate → https://www.douyin.com/hot
2. 等待页面加载(~3秒)
3. browser act evaluate → 执行下方 JS 提取数据

提取数据的 JavaScript

提取热点视频

(function(){
  var results = [];
  var links = document.querySelectorAll('a[href*="/video/"]');
  var seen = {};
  links.forEach(function(el) {
    var href = el.getAttribute('href') || '';
    if (seen[href]) return;
    seen[href] = true;
    var text = el.innerText.trim();
    var parts = text.split('\n').filter(function(s) { return s.trim(); });
    results.push({
      title: parts.slice(2).join(' ').substring(0, 100) || text.substring(0, 100),
      duration: parts[0] || '',
      play_count: parts[1] || '',
      url: 'https://www.douyin.com' + href
    });
  });
  return JSON.stringify(results, null, 2);
})()

提取热榜列表

(function(){
  var results = [];
  document.querySelectorAll('a[href*="/hot/"]').forEach(function(el) {
    var heading = el.querySelector('h3, [class*="title"]');
    var text = heading ? heading.innerText.trim() : el.innerText.trim().split('\n')[0];
    var href = el.getAttribute('href') || '';
    if (text && text.length > 1) {
      results.push({
        title: text,
        url: 'https://www.douyin.com' + href
      });
    }
  });
  return JSON.stringify(results, null, 2);
})()

自然语言请求处理

| 用户说 | 意图 | 操作 | |--------|------|------| | "搜索一下海鲜视频" | search | 返回热榜数据 + 说明搜索受限 | | "看看抖音热榜" | hot | 获取热榜数据 | | "找一些海鲜售卖相关的视频文案" | search | 返回热榜数据 + 说明搜索受限 | | "抖音有什么热门" | hot | 获取热榜数据 | | "分析这个视频链接:xxx" | analyze | 访问指定视频链接,提取信息 |

关键词提取规则

  • 从自然语言中移除"搜索"、"找"、"看看"、"视频"等功能词
  • 保留核心搜索词备用
  • 搜索请求统一回退到热榜,并告知用户搜索功能因验证码限制暂不可用

命令行脚本(备选)

# 获取热榜
node scripts/douyin_scraper.js hot 20

# 搜索(回退到热榜)
node scripts/douyin_scraper.js search "海鲜" 10

注意事项

  1. 遵守抖音平台规则 — 合理使用,避免频繁请求
  2. 请求间隔 — 建议间隔 2-3 秒
  3. 数据用途 — 仅供学习和研究
  4. 验证码 — 搜索页面会触发验证码,这是平台正常防护

使用前请确保遵守相关法律法规和平台规则!