抖音、B站、快手和小红书 Web 端数据接口的强大 Node.js 封装
@ikenxuan/amagi 是一个独立发布的多平台 Node.js 数据获取 SDK,同时也内置了 HTTP 服务器功能。它为应用提供稳定、类型安全且经过严格参数校验的统一数据接口。
推荐使用 pnpm 进行安装:
pnpm add @ikenxuan/amagi
# npm
npm install @ikenxuan/amagi
# yarn
yarn add @ikenxuan/amagi
直接在 Node.js 环境中引入并初始化 Amagi:
import amagi from '@ikenxuan/amagi'
// 1. 初始化客户端并配置相关平台的 Cookies
const client = amagi({
cookies: {
bilibili: 'SESSDATA=xxx; ...',
douyin: 'ttwid=...; ...',
// xiaohongshu: '...',
// kuaishou: '...'
}
})
// 2. 调用平台专属接口获取数据
async function fetchVideo() {
const video = await client.bilibili.fetcher.fetchVideoInfo({
bvid: 'BV1xx411c7mD'
})
console.log(video)
}
fetchVideo()
如果希望通过 HTTP API 的形式提供服务(例如给其他非 Node.js 应用调用):
import amagi from '@ikenxuan/amagi'
const client = amagi({
// 配置项...
})
// 一键启动 HTTP 服务器
client.startServer(4567)
// 服务将运行在 http://localhost:4567
更详细的接口说明和高级用法,请参阅在线文档:
本项目虽然是独立发布的 SDK,但目前的开发进度与维护重心主要受 karin-plugin-kkk 插件的业务需求驱动。当该插件出现新业务需要而本接口库尚未封装时,我才会对接口库进行针对性的更新和逻辑封装。目前插件侧的核心业务逻辑已基本完成,因此接口库的主动迭代会相对放缓。
如果你(作为下游开发者)需要封装其他未支持的接口或业务逻辑,你可以选择:
非常欢迎提交 Issue 或 Pull Request!
本项目基于 GPL-3.0 协议开源。