从 AI Skills 学实战技能(一):如何获取抖音、B 站、微博等平台热点话题

0 阅读3分钟

最近在研究 AI Agent 的 Skills 生态时,我发现一个很有意思、也非常实用的 Skill:

hot-topics

GitHub 地址:

图片

这个 Skill 做的事情其实很简单:
获取国内各大平台的热点话题。

比如:

  • • 微博热搜
  • • 知乎热榜
  • • 百度热搜
  • • 抖音热点
  • • B站热门
  • • 今日头条热榜

Skill 中调用时,其实就是访问统一 API,例如:

curl https://60s.viki.moe/v2/weibo
curl https://60s.viki.moe/v2/zhihu
curl https://60s.viki.moe/v2/baidu/hot
curl https://60s.viki.moe/v2/douyin
curl https://60s.viki.moe/v2/bili

很多人看到这里都会有一个疑问:

这些平台不是都没有公开 API 吗?
那热点数据到底是怎么获取到的?

今天这篇文章,就从工程角度拆解一下:

这些主流平台的热点榜单,实际上是如何获取的。

一、原理

这个 Skill 背后核心技术其实非常直接:获取并统一热点数据源。

背后技术原理:

本质只有三件事:

1 找接口
各个平台其实都有 Web API,主要是要知道有这些 API。

2 抓数据
使用 HTTP 请求获取 JSON。

3 统一结构
输出统一 API,供 Skill 需要时调用。

整个流程:

各平台热点接口
      ↓
抓取原始数据
      ↓
解析
      ↓
存储
      ↓
统一数据结构
      ↓
对外 API
      ↓
AI Skills 调用

最终对外提供接口。

所以要理解这个 Skill 的原理,关键就是:

理解每个平台热点接口的获取方式。

下面,我们逐个平台进行分析。

二、微博热搜获取原理

很多人第一反应是:

微博不是没有 API 吗?

其实微博是有 Web 接口的。

接口地址:

https://weibo.com/ajax/side/hotSearch

但是如果你在浏览器直接访问,返回会是:

图片

原因是:

微博会检测请求头是否来自浏览器。

因此需要模拟浏览器请求。

curl 示例(curlonline.com):

curl 'https://weibo.com/ajax/side/hotSearch' \
  -H 'User-Agent: Mozilla/5.0' \
  -H 'Referer: https://weibo.com'

返回示例:

图片
热点内容,可以进一步从 body 中解析:图片

三、知乎热榜获取原理

知乎热榜其实也有官方接口。

接口地址:

https://www.zhihu.com/api/v3/feed/topstory/hot-list-web

浏览器可以直接访问,获取结果。

图片

四、百度热搜获取原理

百度热搜接口:

https://top.baidu.com/api/board?platform=wise&tab=realtime

浏览器可直接访问,获取结果。

图片

五、B 站热门获取原理

B 站其实提供了公开 API。

接口:

https://api.bilibili.com/x/web-interface/popular

浏览器直接访问,获取结果。

图片

六、抖音热点获取原理

抖音热点榜也有一个 Web 接口。

接口:

https://www.douyin.com/aweme/v1/web/hot/search/list/

浏览器直接访问,获取结果。

图片

七、今日头条热榜获取原理

接口:

https://www.toutiao.com/hot-event/hot-board/?origin=toutiao_pc

浏览器直接访问,获取结果。

图片

八、结语

对应各个平台,如果接口不能直接访问,或请求频率太高,可能会触发风控。此时,工程上一般会加一个请求头,试着带上 User-Agent 和 Referer,这样稳定性会更高。

Skills 作为 AI Agent 能力延伸,不仅让 Agent 能干更多事,实际上也给我们提供了绝佳的学习样板:我们可以通过拆解这些 Skills,去搞清楚背后的技术到底是怎么实现的,从而进一步知其所以然。