Appearance
案例 1:热搜数据抓取工具
场景描述
抓取微博热搜榜数据,提取标题和热度值
工具配置
插件信息
- 插件名称:微博热搜抓取
- 插件备注:抓取微博热搜榜前50条数据
工具配置
- 工具名称:
get_weibo_hot - 工具介绍:抓取微博热搜榜数据,返回标题和热度值
- 工具参数:
count(整数): 抓取数量,默认10,最大50
完整代码
js
/**
* 微博热搜抓取工具
*
* 使用方式:
* 1. 在工具配置的"页面输入框"中设置:https://s.weibo.com/top/summary
* 2. 工具代码会直接在目标页面执行,无需手动打开页面
* 3. 参数:count(抓取数量,默认10,最大50)
*/
class Tool extends OPENUGC_API_V2 {
constructor(args) {
super(args); // 必须调用 super(args) 才能使用 this.args
this.COUNT = Math.min(args.count || 10, 50);
}
async run() {
try {
// 如果用户在工具配置中设置了页面URL,
// 系统已自动打开微博热搜页面
// 此处代码直接在目标页面执行,无需调用 OpenUrl()
const hotsearch = [];
const items = document.querySelectorAll('tbody tr');
for (let i = 0; i < items.length; i++) {
const item = items[i];
const rank = i + 1;
const titleElement = item.querySelector('.td-02 a');
const scoreElement = item.querySelector('.td-02 span');
if (titleElement && rank <= this.COUNT) {
hotsearch.push({
rank,
title: titleElement.innerText.trim(),
url: 'https://s.weibo.com' + titleElement.getAttribute('href'),
heat: scoreElement ? scoreElement.innerText.trim() : '',
extracted_at: new Date().toISOString()
});
}
}
return {
success: true,
platform: '微博',
count: hotsearch.length,
data: hotsearch
};
} catch (error) {
return {
success: false,
error: error.message,
timestamp: new Date().toISOString()
};
}
}
}📌 重要说明
此工具在工具配置中设置页面URL(https://s.weibo.com/top/summary),系统会自动打开页面并执行代码。无需在代码中使用 OpenUrl()。
使用示例
用户:请抓取微博热搜前20条
AI:正在调用"微博热搜抓取"工具...
返回:
✅ 成功获取 20 条热搜数据
1. #某明星恋情曝光# - 热度:98.5万
2. #新电影票房破纪录# - 热度:95.2万
...相关链接
- 基础使用 - 了解插件开发基础
- 案例 2:商品价格监控工具 - 学习价格监控实现
- 高级开发 - 深入了解 API
