最近在研究 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,去搞清楚背后的技术到底是怎么实现的,从而进一步知其所以然。