动态脚本适配器——Baka 的插件生态核心
脚本适配器是什么
动态脚本适配器(Script Adapter)是 Baka 最有特色的功能之一。简单来说,它是一段外部脚本,告诉 Baka:如何从某个番剧网站抓取数据。
Baka 内置的番剧源(Cycani、Gugu 等)本质上就是预装的脚本适配器。但内置源会受限于版本迭代,而社区脚本可以随时更新——当某个网站改版导致内置源失效时,社区开发者通常能在几天内发布新脚本。
两种脚本格式
JavaScript 适配器(.js)
适合复杂场景,能做灵活的数据解析:
- 自定义 HTTP 请求(带 Cookie、Header 等)
- 复杂的 HTML/JSON 解析逻辑
- 需要模拟登录或处理反爬机制
- 动态生成视频地址(如需要加密解密)
JSON 适配器(.json)
简单声明式,适合结构规整的网站:
- 固定的 API 接口
- 明确的字段映射关系
- 不需要复杂逻辑
- 体积小,加载快
导入脚本的方式
方式一:应用内导入
在"源管理"界面点击"添加自定义源",选择:
- 从本地文件导入(.js 或 .json)
- 粘贴脚本源码到文本框中
- 输入脚本的远程 URL(Baka 会下载后加载)
方式二:二维码导入
部分社区会为脚本生成分享二维码,在应用内用扫码功能直接导入。
方式三:手动放置
脚本文件可以直接放在 Baka 的脚本目录下(Android 通常在 /Android/data/ani.baka/files/scripts/),应用启动时会自动扫描加载。
脚本的生命周期
一个脚本适配器在 Baka 中的生命周期:
- 加载:应用启动或用户导入时解析脚本
- 注册:脚本向 Baka 注册自己支持的接口(搜索、详情、播放地址解析)
- 使用:搜索或播放时,Baka 调用脚本注册的接口获取数据
- 更新:用户可以在源管理中手动检查更新,或开启自动更新
- 卸载:删除脚本文件或在源管理中禁用
社区脚本的来源
常见的获取渠道:
- GitHub 上以 "baka script" 为关键词搜索
- 相关论坛和社群的分享帖
- 脚本聚合仓库(由社区维护的脚本索引)
安全提示:脚本在本地执行,理论上有权限访问网络和存储。从不可信来源获取脚本前,务必先阅读源码确认没有可疑行为。
与传统 RSS 订阅的区别
相比传统的 RSS 订阅方式,Baka 的脚本适配器更强大:
| 特性 | RSS 订阅 | Baka 脚本 |
|---|---|---|
| 内容来源 | 有限的 RSS 源 | 任何网站 |
| 搜索支持 | 基本不支持 | 完整搜索 |
| 清晰度选择 | 通常固定 | 可解析多个版本 |
| 播放地址 | 有时直链有时需解析 | 自定义解析逻辑 |
| 更新频率 | 被动等待 | 主动解析 |