← 返回 Skill 列表
extension
分类: 数据与分析无需 API Key

全网热点抓取

抓取各大平台热点/热搜/热榜(百度、微博、知乎、B站、头条、抖音,可选小红书、快手),支持按平台筛选、一键抓全部、按 AI/户外 标签归类选题,并能搜话题对应的文章/笔记,输出 Markdown 或 JSON。当用户问"今天有什么热点""什么在火""找选题灵感""蹭热点""搜 XX 相关的文章/笔记"时使用。

person作者: user_f49ef6dehubcommunity

多平台热点话题抓取

用途

从多个内容平台抓取当前热点/热搜,为内容创作(公众号、小红书、视频号等)提供选题灵感。

快速开始(零依赖,开箱即用)

python3 scripts/fetch_hot.py

一条命令抓取 6 大平台(百度/头条/微博/知乎/B站/抖音)的热度前十,输出 Markdown 表格。无需安装任何依赖,下载即用。

支持的平台

| 类型 | 平台 | 依赖 | |------|------|------| | 零依赖(默认) | 百度热搜、今日头条热榜、微博热搜、知乎热榜、B站热搜、抖音热榜 | 无,纯 Python 标准库 | | 可选增强 | 小红书热榜、快手热榜 | 需安装 Playwright(见下文) |

何时使用

  • 用户询问"今天有什么热点 / 热搜 / 热榜"
  • 用户需要某个平台(微博、知乎、B站等)的热门话题
  • 用户为内容号找选题,需要按领域(AI、户外等)筛热点

零依赖抓取(默认)

python3 scripts/fetch_hot.py                      # 抓取全部 6 平台
python3 scripts/fetch_hot.py --platform baidu     # 只抓百度热搜
python3 scripts/fetch_hot.py --limit 15           # 每个源最多 15 条
python3 scripts/fetch_hot.py --tag ai             # 只保留 AI 相关热词
python3 scripts/fetch_hot.py --keyword "AI,芯片"   # 按关键词过滤
python3 scripts/fetch_hot.py --json               # 输出 JSON(供程序二次处理)

参数说明

| 参数 | 说明 | |------|------| | --platform | 逗号分隔的平台(英文 id 或中文名,如 baidu 或 百度),见 configs/platforms.json | | --limit | 每个源最多抓取的条数,默认 10(即热度前十) | | --tag | 预置标签:ai / outdoor,展开为 config 中的关键词组 | | --keyword | 逗号分隔的自定义关键词,标题包含任一即保留 | | --json | 输出 JSON 而非 Markdown | | --insecure | 禁用 SSL 证书验证(公司代理/证书异常环境下使用) |

话题 → 文章搜索(挖内容对标)

看到热点后,可进一步搜索围绕它写的内容(文章/视频),做选题参考。

python3 scripts/fetch_articles.py --keyword "AI"       # 搜头条上「AI」的内容
python3 scripts/hot_to_articles.py --top 10            # 抓热点,自动搜前10个热词的文章
python3 scripts/hot_to_articles.py --tag ai --top 5    # 只搜 AI 相关热词的文章
  • fetch_articles.py:单话题搜索,输出标题 + 作者 + 原文链接(当前支持头条,纯 HTTP 零依赖)
  • hot_to_articles.py:抓热点 → 自动逐个搜对应文章,一条命令出「热搜词 → 相关内容」清单

热点标准流程(热搜 → 最火爆内容 → 最热3篇)

一条命令跑完完整流程:抓该平台前 10 热搜 → 直接抓该平台当天最火爆的内容 → 按互动数据综合评分 → 筛出最热 3 篇。

python3 scripts/hot_pipeline.py --platform 今日头条   # 头条完整流程
python3 scripts/hot_pipeline.py --platform 小红书     # 小红书完整流程
python3 scripts/hot_pipeline.py --platform 哔哩哔哩   # B站完整流程

统一标准(所有平台一致):

  • ① 抓该平台前 10 条热搜
  • ② 直接抓该平台当天最火爆的内容(10 篇,不按热搜词关联)
  • ③ 按互动数据综合评分(阅读×0.01 + 赞×1 + 评×5 + 转×10),筛出最热 3 篇

各平台用的互动数据:头条=阅读+赞+评+转、小红书=点赞、B站=播放+弹幕。

小红书笔记搜索(拿链接做评论引流)

搜小红书上的相关笔记,输出笔记链接(标题 + 作者 + 点赞),用于拿链接去评论区引流。

python3 scripts/fetch_xhs_notes.py --keyword "徒步"         # 搜「徒步」的爆款笔记(默认最热排序+500赞过滤)
python3 scripts/fetch_xhs_notes.py --keyword "徒步" --limit 15
python3 scripts/fetch_xhs_notes.py --keyword "徒步" --min-like 2000   # 只要 2000 赞以上的爆款
python3 scripts/fetch_xhs_notes.py --keyword "徒步" --min-like 0      # 不过滤(全部笔记)
  • 默认「最热排序 + 点赞≥500 过滤」,只返回高赞爆款(引流价值高)
  • 需 Playwright + 登录小红书(首次扫码,登录态保存到 ~/.xhs_cookies.json 复用)
  • 注意:小红书在公司网络会被拦截,需在手机热点/家庭网络下运行

小红书 / 快手热榜(可选,需 Playwright)

小红书、快手官方接口有 JS 签名反爬,纯标准库无法绕过,因此通过 Playwright 渲染聚合站「偷渡鱼」获取,一次可抓 30 个平台的热榜(含小红书、快手、微博、抖音等)。

首次使用(一次性安装)

pip install playwright
playwright install chromium

抓取

python3 scripts/fetch_xhs.py                 # 抓小红书热榜(默认前十)
python3 scripts/fetch_xhs.py --platform 快手  # 抓快手热榜
python3 scripts/fetch_xhs.py --all           # 一键抓全部平台的热榜
python3 scripts/fetch_xhs.py --all --limit 5 # 全部平台各抓前 5 条
python3 scripts/fetch_xhs.py --list          # 仅列出所有可用平台名
python3 scripts/fetch_xhs.py --json          # 输出 JSON

容错与网络环境

各平台的可达性因网络环境而异(公司/校园网关可能拦截微博、B站、GitHub 等域名)。脚本对每个源独立容错:抓取失败的源自动跳过,不影响其他源,失败原因输出到 stderr。换到无网关限制的网络(如家庭宽带)可抓到全部源。

自定义平台

编辑 configs/platforms.json 即可增删平台或调整关键词组,无需改动脚本:

  • sources[].enabled:设为 false 可临时关闭某源
  • sources[].url:替换为可用的接口地址
  • sources[].referer:设为对应平台域名(如 https://weibo.com/),多数平台要求 Referer 匹配否则返回 403
  • tag_keywords:按需补充 ai / outdoor 等标签的关键词组
  • 新增平台时需在 scripts/fetch_hot.py 的 PARSERS 中补充对应解析函数

输出格式

默认输出 Markdown 分节表格,每个平台一节,含排名、热点标题、热度。--json 输出统一结构:

{
  "百度热搜": [
    {"title": "...", "url": "...", "hot": "..."}
  ]
}

已知限制

  • 小红书、快手官方接口均有 JS 签名(x-s)+ 登录态反爬,需通过 fetch_xhs.py(Playwright)获取,无法纳入零依赖脚本。
  • 抖音官方接口需 JS 签名(a_bogus),已通过 tophub 聚合站曲线获取热门视频榜。
  • 36氪热榜接口已失效、首页对爬虫返回反爬页,未纳入脚本。