大家从采集站看爱优腾的视频的时候,是否为无法一同看到弹幕而忧愁,其实我们可以通过爬虫从爱优腾抓取弹幕内容,添加到播放器中,从而实现沉浸式弹幕观看。
原理就是多数的采集网站通常会自带豆瓣的影视 ID,那么我们就可以通过这个 ID 确定视频的官方来源,通过豆瓣抓取对应的影视官方的视频链接,然后再通过该链接抓取到对应的弹幕。
我们这里有两个例子,都是魔改的其他开源项目:
基于 python 的弹幕抓取项目
项目仓库
这个爬虫方案强烈建议直接部署在本地,或者国内的服务器上。因为我测试部署在国外的平台都会导致抓取不到链接,或者抓取到错误的链接的情况。
部署方式
本项目采用 docker 部署:
1 | docker run -d \ |
API 接口
假设部署在本地,接口地址为:http://127.0.0.1:8080/douban_id,参数为:
douban_id: 豆瓣的 IDepisode_number: 剧集集数
本地 curl 的调用示例:
1 | ## 子夜归第一集弹幕 |
返回格式中的 danmuku 数据可以直接传给播放器例如ZyPlayer或者LibreTV等使用。
1 | { |
基于 nodejs 的弹幕抓取项目
项目仓库
这个可以部署到 vercel 或者 netlify, 部署到远端更方便
部署方式
例如部署到 netlify:
直接 fork 本仓库,然后在 netlify 中创建项目,一键开启即可.
API 接口
假设部署在本地,接口地址为:https://{你的部署项目名}.netlify.app/api/v2/douban,参数为:
douban_id: 豆瓣的 IDepisode_number: 剧集集数
本地 curl 的调用示例:
1 | ## 子夜归第一集弹幕 |
返回格式中的 danmuku 数据可以直接传给播放器例如ZyPlayer或者LibreTV等使用。
1 | { |
想试试?
打开我部署的 LibreTV 项目:

按照图上设置,首先打开资源开关,然后在弹幕设置中填入你部署好的 API 地址,名称随便写,地址写https://{你的部署项目名}.netlify.app/api/v2/douban
随便打开一个视频测试一下吧!
我部署的libreTV的资源调用是有限的,请不要把这个站点当做你的观看站点,如有需要,请自行部署
一个自带弹幕的视频播放应用-lunaTV

部署方法(zeabur+upstash)
zeabur 是一站式云端部署平台,使用预构建的 Docker 镜像可以快速部署,无需等待构建。
部署步骤:
- 点击 “Add Service” > “Docker Images”
- 输入镜像名称:ghcr.io/szemeng76/lunatv:latest
- 配置端口:3000 (HTTP)
- 访问 upstash.com
- 注册账号并创建新的 Redis 数据库
- 选择区域(建议选择离你最近的区域)
- 复制 REST URL 和 REST TOKEN
在 LunaTV 服务的环境变量中添加:
1 | # 必填:管理员账号 |
- 在 LunaTV 服务页面,点击 “Networking” 或 “网络” 标签
- 点击 “Generate Domain” 生成 Zeabur 提供的免费域名(如 xxx.zeabur.app)
- 或者绑定自定义域名:
- 点击 “Add Domain” 添加你的域名
- 按照提示配置 DNS CNAME 记录指向 Zeabur 提供的目标地址
- 设置完域名后即可通过域名访问 LunaTV
部署好的网站为空壳,需要你进入管理员设置自行添加视频源!
演示站: