Skip to main content

可以下载弹幕的包哦

Project description

get-danmu

  • 这是一个可以获取弹幕和保存弹幕并且能提供弹幕服务的python命令行工具,支持: 腾讯视频爱奇艺优酷B站芒果TV,欢迎前来学习和指点

使用方法

1、直接保存在当前目录

get-danmu [url]或get-danmu
#支持get-dm替换get-danmu
  • 可选参数--start 分钟:秒指定开始时间,格式分钟:秒分钟.秒
  • 可选参数--end 分钟:秒指定开始时间,格式分钟:秒分钟.秒
  • 可选参数--cookie [cookie.txt]指定cookie文本文件,比如哔哩哔哩平台需要指定cookie才能获取到全部弹幕,优酷必须要cookie才可获取弹幕,其他无需cookie
  • 可选参数--resettime-R指定,例如一些视频为了过审加了片头,那么使用了这个参数,会重设弹幕时间为--start所指定的时间,即5分钟的弹幕经过--start指定后从3分钟开始,带了--resettime参数会自动订正将5分钟的弹幕修正为正常进度即2分钟,因此使用该参数时需要先指定--start
  • 可选参数--savepath [path]-s [path],指定弹幕数据保存到本地指定文件夹
  • 可选参数-S,指定弹幕存储到本地数据库中,需要指定过了数据库存放位置才可使用
  • 可选参数--type [xml/csv],指定弹幕数据的存储格式,可选xmlcsv,存储到数据库时只能存储csv格式,默认csv

2、将数据保存到数据库

使用的是本地的文件数据库SQLite 使用前需指定数据库存放位置,而弹幕也会随之存储到数据库目录下的danmu_data目录下

get-danmu --db [路径]

3、代理

get-danmu --proxy http://localhost:8080   
  • 清除代理
get-danmu --proxy 

4、清除所有配置

get-danmu --clear

5、管理数据库中的弹幕信息

get-danmu --data 
  • 可选参数--start 分钟:秒指定开始时间,格式分钟:秒分钟.秒
  • 可选参数--end 分钟:秒指定开始时间,格式分钟:秒分钟.秒
  • 可选参数--cookie [cookie.txt]指定cookie文本文件,比如哔哩哔哩平台需要指定cookie才能获取到全部弹幕,优酷必须要cookie才可获取弹幕,其他无需cookie
  • 可选参数--resettime-R指定,例如一些视频为了过审加了片头,那么使用了这个参数,会重设弹幕时间为--start所指定的时间,即5分钟的弹幕经过--start指定后从3分钟开始,带了--resettime参数会自动订正将5分钟的弹幕修正为正常进度即2分钟,因此使用该参数时需要先指定--start

6、开启弹幕服务器

这也是本项目的核心也是该项目诞生的原因,因为自己搭建了自己的私人影视库后需要看弹幕,而经典的api.dandanplay.net只有动漫类别的弹幕且不及时,由此诞生了本项目,本项目采用的数据返回和请求方式均和api.dandanplay.net提供的api一致,因此在电影和电视剧有着相当大的优势,虽然不支持自动更新,但是get-danmu --data提供了手动管理弹幕的方法和更新,这也就是使用-S参数时默认保存csv格式数据的真实原因,csv在读取速度上比xml更有优势,在对外提供弹幕服务时,处理1万条以内的数据时耗时在0.1左右,而处理十万条弹幕数据时也仅耗时0.5左右,通常热门电影弹幕数据量大约在十万到十五万条之间,所以这个速度还是很可观的

get-danmu --runserver [port]
  • 可选port端口,默认端口号为80

使用CTL + C退出服务器,请勿在生产环境使用默认的服务器运行方式,也不建议在公网搭建本弹幕服务器,因为代码没有进行安全审查,无法对市面上的黑客技术或入侵做出反应,同时也没日志系统

7,配置备份弹幕服务器

因为不可能所有弹幕都要自己手动去下载,毕竟真的很累,由于作者太懒,而有些电视剧剧集又臭又长还多又有些年头,所以无需最新的弹幕,因此部署一个danmu_api服务器,本地再运行本脚本的弹幕服务器,即可补充本地弹幕不足,比如这个剧集有55集,使用本脚本保存了3集剩下的会由本脚本让你的播放器重定向的danmu_api服务器上实现了剩下的52集的弹幕,所以会优先给你的播放器返回本地的弹幕,那么有了danmu_api是不是本脚本就无用了?错,本脚本能让你手动获取到视频最新的弹幕,也可手动一条命令更新弹幕,也可获取较老视频的弹幕,较老的视频danmu_api提供的弹幕量太少只有几百,所以本脚本的优势是和danmu_api互补,配置命令如下

get-danmu --redirect http://[danmu_api服务器ip或域名]:9321/密钥
get-danmu --redirect http://1.1.1.1:9321/getdanmu         #示例
get-danmu --redirect   #不传递参数,则清除配置

更新记录

  • 2025-11-14: 发布 v0.3.6版本 修复Yamby获取大于一季时无法直接匹配弹幕的问题,修正调试信息,继续完善帮助文档
  • 2025-10-31: 发布 v0.3.5版本 修复获取电影剧集时报错无法返回数据的bug,修复带有空格的剧名可能无法正确找到最佳匹配条目的bug
  • 2025-10-28:发布 v0.3.4版本 增加对danmu_api的支持,修正本地数据管理时连续操作后丢失数据的bug
  • 2025-10-12:发布 v0.3.2 版本 修正api更新处理逻辑,修正web服务返回数据的标准化使得更多的平台支持
  • 2025-10-11:发布 v0.2.0 版本 修正core处理逻辑
  • 2025-10-10:发布 v0.0.1 版本(初代版本),完成核心功能

THE END

  • 本脚本仅支持学习使用,如有发现有任何商业用途,一经发现您将受到法律责任。
  • 本程序使用的接口全部来源于网络,切不可有任何商业用途,或我程序中有涉及你公司利益的,你可以联系我,我会及时删除源代码,并不再更新。
  • 禁止将本工具用于商业用途,如产生法律纠纷与本人无关,如有侵权,请联系我删除。
  • 项目创建者:李先生
  • 项目维护者:李先生
  • 维护者邮箱:3101978435@qq.com

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

get_danmu-0.3.6.tar.gz (62.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

get_danmu-0.3.6-py3-none-any.whl (68.4 kB view details)

Uploaded Python 3

File details

Details for the file get_danmu-0.3.6.tar.gz.

File metadata

  • Download URL: get_danmu-0.3.6.tar.gz
  • Upload date:
  • Size: 62.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.7.4

File hashes

Hashes for get_danmu-0.3.6.tar.gz
Algorithm Hash digest
SHA256 63ee136ab18cb44e489e5df6629183328e86eaf6793cf2f59ba052729b9a64c3
MD5 59e029c126e6fd54d71ddb35913c679a
BLAKE2b-256 a5c04b98317d3083d067dedbd8f4f001f73decfcbe8e2f6254172ea2a767f73a

See more details on using hashes here.

File details

Details for the file get_danmu-0.3.6-py3-none-any.whl.

File metadata

  • Download URL: get_danmu-0.3.6-py3-none-any.whl
  • Upload date:
  • Size: 68.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.7.4

File hashes

Hashes for get_danmu-0.3.6-py3-none-any.whl
Algorithm Hash digest
SHA256 30208819351d33be4336bd94998eabc9ebc4186042d657b77b8a71c8df2f0719
MD5 1a8ff3320a82c9adbb75a4a7147b7b3a
BLAKE2b-256 01e4449ae0140a022451f0f6fd94da5a3a714a1cd4af58bf9c2c9e89f6cdee41

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page