如何使用自动化脚本为大模型自动搜集数据
一、引言
大模型的训练与优化离不开高质量的数据支撑。无论是用于微调的垂直领域数据,还是用于RAG(检索增强生成)的知识库构建,数据采集都是不可或缺的基础环节。然而,传统的手工采集方式效率低下,而网页端爬虫又难以覆盖移动端App中的海量数据——在移动互联网时代,大量有价值的数据已经不在网页端,而是沉淀在各类App内部。
自动化脚本平台提供了一套完整的App自动化解决方案,通过JavaScript脚本即可实现对移动端App的自动化操作与数据采集。平台内置了BigModel API,支持百度千帆、DeepSeek、豆包、千问等主流大语言模型的一键调用,让自动化脚本具备了AI能力。本文将讲解如何构建一套从数据采集、智能处理到存储归档的完整自动化数据采集流水线。
二、冰狐平台核心能力概览
冰狐智能辅助以JavaScript作为统一脚本语言,深度封装了一套开箱即用的API,涵盖网络请求、界面操作、设备管理、数据存储和大模型调用等能力。开发者无需处理底层复杂逻辑,即可快速构建自动化脚本。
平台的核心API体系主要包括以下几个方面:
网络请求API:提供httpGet和httpPost等同步HTTP请求接口,返回统一的结构化对象(state和data字段),便于异常处理。
大模型调用API:通过BigModel构造函数和invoke方法,实现对大语言模型的一键调用。
设备操作API:提供getDeviceName、getDeviceModel等设备信息获取接口,以及点击、滑动、截图等界面操作能力。
数据存储API:支持LocalData本地键值对存储和Excel文件操作,方便数据持久化。
定时任务API:支持基于Cron表达式的定时调度,实现数据采集的自动化周期性执行。
三、数据采集脚本的核心架构
一个完整的自动化数据采集脚本,通常包含以下五个核心模块:
3.1 数据源定位与界面操作
冰狐平台支持通过UI树查找控件元素,定位目标元素的text、id、className等属性,然后通过无障碍控件操作API进行定位和操作。对于非标准控件,平台还提供了图色识别能力。
function main() {
// 打开目标App
launchApp("目标应用名称");
sleep(3000);
// 通过文本定位并点击元素
var target = text("数据列表").findOne();
if (target != null) {
target.click();
}
}
3.2 数据抓取与网络请求
采集到的数据可以通过httpPost接口上报到后端服务,或直接存入本地存储。
function collectData() {
// 模拟从界面采集数据
var collectedData = {
title: text("标题").findOne().text(),
content: text("内容").findOne().text(),
timestamp: new Date().getTime()
};
// 通过POST请求上报数据
var res = httpPost(
"https://your-api.com/data/collect",
JSON.stringify(collectedData),
"json"
);
if (res.state === "success") {
console.log("数据上报成功");
} else {
console.log("上报失败:", res.data);
}
}
3.3 大模型智能处理
采集到的原始数据往往需要进行清洗、分类、摘要等处理。冰狐的BigModel API可以让脚本在采集过程中实时调用大模型对数据进行智能处理。
前置配置:在调用大模型前,必须先在冰狐平台配置自定义数据,存储API Key和Secret。custom_data_key和custom_data_secret传入的是自定义数据中对应的键名,而非直接传入Key/Secret字符串,这是冰狐平台的安全设计。
function main() {
// 创建大模型实例
// type: 1=百度千帆, 2=DeepSeek, 3=豆包, 4=千问
var bm = new BigModel(2, "my_deepseek_key", "", {
model: "deepseek-chat",
temperature: 0.3,
maxTokens: 2048
});
// 采集原始数据
var rawData = collectRawData();
// 调用大模型进行数据清洗和摘要
var prompt = "请对以下数据进行清洗和摘要提取,输出JSON格式:\n" + rawData;
var result = bm.invoke(prompt);
// 解析并存储处理后的数据
var processedData = JSON.parse(result);
saveToLocal(processedData);
}
invoke方法支持两种prompt格式:字符串格式适用于单次提问,数组格式支持多轮对话场景。
3.4 数据持久化存储
冰狐提供了多种数据存储方式:
LocalData本地存储:适用于配置信息和轻量级数据的持久化。
var localData = new LocalData();
localData.write("collected_count", 100, "integer");
var count = localData.read("collected_count", "integer");
Excel文件操作:适用于批量数据的结构化存储。
var excel = new Excel();
var openRes = excel.open("data_collection");
if (openRes) {
excel.write(1, 1, "标题");
excel.write(1, 2, "内容");
excel.write(1, 3, "时间");
excel.save();
excel.close();
}
3.5 自动化调度执行
通过Cron表达式可以实现数据采集任务的定时自动执行。平台提供基于cron4j标准的Cron调度API,支持每日打卡、固定时段数据采集等长期自动化任务。
四、完整实战示例:App内容自动采集与智能摘要
下面是一个完整的实战脚本,演示如何从目标App中自动采集内容,并通过大模型生成摘要后存储:
function main() {
// 1. 初始化大模型(DeepSeek)
var bm = new BigModel(2, "deepseek_key", "", {
model: "deepseek-chat",
temperature: 0.3,
maxTokens: 2048
});
// 2. 启动目标App
launchApp("资讯阅读");
sleep(3000);
// 3. 循环采集列表数据
var excel = new Excel();
excel.open("collected_articles");
var collectedCount = 0;
var maxCount = 50;
for (var i = 0; i < maxCount; i++) {
// 定位文章列表项
var item = className("android.widget.LinearLayout").findOne();
if (item == null) break;
// 提取标题和摘要
var title = item.find(text("标题")).text();
var content = item.find(text("内容")).text();
// 调用大模型生成智能摘要
var summary = bm.invoke(
"请用50字以内总结以下内容:\n" + content
);
// 写入Excel
excel.write(i + 1, 1, title);
excel.write(i + 1, 2, summary);
excel.write(i + 1, 3, new Date().toLocaleString());
collectedCount++;
// 滑动到下一项
swipe(500, 800, 500, 300, 500);
sleep(1000);
}
excel.save();
excel.close();
// 4. 上报采集统计
var report = httpPost(
"https://your-api.com/collect/report",
JSON.stringify({ count: collectedCount, time: new Date().toISOString() }),
"json"
);
console.log("采集完成,共采集", collectedCount, "条数据");
}
五、进阶能力:OpenAPI与云端调度
除了在移动端直接运行脚本,冰狐还提供了OpenAPI,允许开发者在自己的后端服务中调用平台功能。
获取访问Token:
GET /api/get_token 参数:clientKey, clientSecret
远程执行设备脚本:
GET /api/script/exe 参数:clientKey, accessToken, deviceId, scriptId
通过OpenAPI,可以将数据采集脚本集成到现有的后端系统中,实现批量设备管理、脚本远程下发、采集数据统一汇聚等能力。
六、注意事项与最佳实践
1. 合规与隐私:从App采集数据时,需遵守相关使用条款和政策,尊重数据所有者和用户的隐私。
2. 错误处理:所有网络请求都应检查state字段,对失败情况进行妥善处理。
3. 频率控制:避免过于频繁的请求,防止被目标服务限流或封禁。
4. 密钥安全:大模型的API Key和Secret应通过平台自定义数据存储,切勿硬编码在脚本中。
5. 脚本调试:在调试模式下,可从网页端进入「移动端」/「我的设备」,选择设备后点击LOG实时获取设备日志。
6. 设备保活:对于长期运行的定时采集任务,需确保设备处于「冰狐前台+屏幕休眠+通电」的状态,到达Cron指定时间时冰狐会自动通过wakeup()API唤醒屏幕执行任务。
七、结语
通过冰狐平台的API体系,开发者可以用简洁的JavaScript脚本构建起覆盖“数据采集→智能处理→存储归档→定时调度”全链路的自动化数据采集系统。平台内置的BigModel API让大模型能力与自动化脚本深度融合,实现了从“机械执行”到“智能处理”的升级。无论是为RAG系统构建知识库,还是为大模型微调准备训练数据,这套基于冰狐API的自动化方案都能大幅提升数据采集的效率与质量。
更多推荐



所有评论(0)