{"repo":"SeqCrafter/fetch_danmu","free":true,"listed":false,"github":"https://github.com/SeqCrafter/fetch_danmu","clone":"git clone https://github.com/SeqCrafter/fetch_danmu.git","description":"支持从url, douban_id, 以及 title 获取弹幕，本仓库本身不抓取弹幕，只负责通过douban_id 或者title 寻找对应的视频链接，然后转发至第三方接口，这样的好处是避免在国外服务器上的超时或者无法抓取的问题","language":"Python","stars":26,"topics":["barrage","crawler","danmaku","fastapi","libretv","moontv"],"license":"MIT","category":"scrapers-browser-automation","readme_excerpt":"弹幕获取 API (Danmu Fetch API) 因为弹幕服务一般部署在国外服务器上，因此对项目重构，目前只负责从豆瓣网抓取链接，然后直接调用弹幕接口返回弹幕 目前调用的弹幕接口为：公益弹幕库 --- 因为 Reflex 的 API 更新频繁，所以基于 reflex 的前端版本删除了，只保留了后端 API 的仓库。最近测试发现，本地可以获取正确的弹幕，但是部署到远端就得到随机的错误弹幕，原因是当前对爱奇艺的抓取方法在有些服务器(国外 ip)上会获取错误的 tvId!从而导致抓取到错误弹幕。 推荐 Fork 修改的另一个仓库danmu api, 具有相似的 API. 功能特性 - 🚀 异步并行处理 : 使用 asyncio 并行获取多平台弹幕，提高响应速度 - 🔍 多种获取方式 : 支持豆瓣 ID、标题搜索和直接 URL 三种弹幕获取方式 - 🎯 平台聚合 : 一次请求获取所有支持平台的弹幕数据 - 📊 标准化输出 : 统一的弹幕数据格式，便于后续处理 - 🛡️ 异常容错 : 单个平台失败不影响其他平台数据获取 - 📖 完整文档 : 内置 Swagger UI 文档 快速开始 在leapcell上部署(爱奇艺的抓取是错误结果) 1. fork 本仓库 2. 在leapcell上创建一个新项目,使用 fork 后的仓库 3. 部署 fastapi 应用 4. build command: pip install -r requirements.txt 5. run command: fastapi run main.py --port 8080 使用 Docker 部署 服务将在 8080 端口启动。 API 文档 启动服务后，可通过以下地址(我们用 localhost 作为示例)访问 API 文档页面： - Swagger UI: http://localhost:8080/docs API 接口 1. 通过豆瓣 ID 获取弹幕 参数: - douban id (必需): 豆瓣电影/剧集 ID - episode number (可选): 指定集数 - video type (可选): 视频类型，可选值为 tv 、 movie 示例: 2. 通过标题搜索获取弹幕 参数: - title (必需): 标题 - episode number (可选): 指定集数 - video type (可选): 视频类型，可选值为 tv 、 movie 示例: 3. 通过 URL 获取弹幕 绕过了 CORS ，可以前端直接调用接口 参数: - url (必需): 豆瓣电影/剧集 ID 示例: 响应格式 成功响应 许可证 本项目基于 MIT 许可证开源。详见 LICENSE 文件。 注意事项 - 本项目仅用于学习和研究目的 - 请遵守相关平台的使用条款 - 弹幕数据版权归原平台所有","default_branch":null,"files":null,"tree":[],"storefront":"/r/SeqCrafter","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/SeqCrafter/fetch_danmu/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}