Bilibili视频下载易语言源码是一套基于易语言开发的B站视频资源获取工具集合,涵盖BV视频解析、UP主主页批量抓取、收藏夹下载、弹幕提取等完整功能。源码集成二维码扫码登录、鱼刺类HTTP6.0异步请求、EXUI界面库等核心技术,支持4K超高清及H.265各类编码视频,能够自动调用FFmpeg合并音视频流,并实现下载失败断点续传机制。
开源代码历经多年迭代,适用于B站视频爬虫学习、本地知识库构建、内容创作者素材备份等场景,同时也是深入掌握易语言网络协议逆向的实践范例。绿色免安装,源码完全开放。
温馨提示:本工具仅供个人学习、本地备份、技术研究使用,请勿用于爬取版权内容、二次分发传播视频或进行商业牟利。使用前请仔细阅读《哔哩哔哩用户服务协议》相关规定。

🚀 快速上手:从零到批量下载视频
第一步:安装易语言开发环境
- 安装易语言 5.8 及以上完整版本
- 将资源包中的
.ec模块文件放置到易语言lib目录或源码同目录
第二步:加载项目并编译
- 打开
.e源码文件,在“程序 → 模块引用表”中添加所需的模块(精易模块、鱼刺类HTTP、Lily_bilibili模块等) - 确保支持库全部勾选(系统核心支持库、扩展界面支持库、EXUI支持库等)
- 点击“编译 → 静态编译”,生成独立运行的
.exe文件
第三步:二维码扫码登录(获取大会员权限)
- 运行生成的工具,点击“二维码登录”按钮
- 程序调用B站官方API生成登录二维码,使用手机BiliBili APP扫码授权
- 授权成功后,工具自动获取当前账号的
Cookies、SESSDATA、bili_jct(CSRF令牌)等必要凭证 - 通过B站API验证身份后,自动刷新大会员状态——若登录的账号为大会员,即可解锁4K/1080P60帧等高画质下载权限
第四步:粘贴链接并开始解析下载
- 支持以下链接格式的自动识别:BV号链接、AV号链接、UP主主页链接、收藏夹链接、分页投稿链接、搜索结果页链接
- 解析完成后,从视频质量下拉菜单中选择所需分辨率,开始批量下载
- 下载过程中,程序显示实时进度和剩余时间,音视频分离的视频会在下载完成后自动调用ffmpeg进行合并
- 下载的视频默认按UP主昵称自动分类存放,方便管理归档
第五步:弹幕与元数据下载
⚠️ 特别提醒:如果下载时出现“请求被拦截”错误,说明短时间内下载请求过多触发了B站的反爬机制,请在设置中加大下载时间间隔,稍等片刻再重试。
💡 核心功能(综合多款优秀开源项目)
⚠️ 重要风险与合规提醒
本工具通过模拟浏览器HTTP/HTTPS请求、调用B站官方API接口的方式获取视频播放地址,属于第三方辅助工具范畴,使用时请注意以下几点:
1. API反爬机制持续升级
- B站的API服务端会校验
User-Agent、Referer和关键的Cookies。早期采用的SESSDATA签名已在2023年后全面升级为W_rid签名校验及米哈游安全风控策略,导致旧版解析工具无法直接运行 - 使用本工具需实时跟进B站API的最新变动,自行更新源码中的签名算法和请求参数
2. 高频请求的封IP风险
- B站下载API有严格的速率限制规则,短时间发送过高频次的请求会触发
412 Precondition Failed错误 - 即使设置下载间隔,长期、大量爬取B站视频资源仍可能导致IP地址被临时封锁或风控策略收紧
3. 版权内容的非法传播风险
- B站平台上存在大量用户原创内容、番剧、电影、纪录片等版权视频资源
- 本工具仅支持下载普通UP主投稿的视频,不支持下载有版权的番剧/电影/电视剧
- 未经版权方授权下载并二次分发版权视频,可能违反《著作权法》的相关规定
4. 易语言固有的安全警报
5. 账号登录的安全问题
- 获取到的
SESSDATA和bili_jct等Cookies代表完整的账号操作权限,务必确保获取到的Cookies不被第三方获取或泄露 - 强烈建议使用无重要信息的小号进行登录下载,主账号要妥善保存
6. 合法合规使用要求
⚙️ 源码环境(开发与编译)
开发环境要求
安装依赖与编译完整流程
- 安装易语言IDE并勾选所需的全部支持库(菜单:工具 → 支持库配置)
- 将
精易模块.ec、鱼刺类http6.0.ec置于易语言的lib或源码文件同级目录 - 加载
.e源码,如提示缺失模块,通过“程序 → 模块引用表”手动添加相应.ec文件 - 根据论坛帖子的指引,部分EXUI组件在不使用EXUI界面时可以直接替换为易语言标准组件
- 点击“编译 → 静态编译”,生成独立
.exe文件(不依赖易语言运行时即可运行)
核心技术点原理分析
- B站API接口分析与调用:通过浏览器开发者工具分析B站视频页面的
Network请求面板,找到视频数据接口x/player/playurl和页面信息接口x/web-interface/view,分析出关键请求参数(bvid、cid、qn等),易语言通过Winhttp读网页或鱼刺类模块向这些API发送请求并解析返回的JSON数据即可获得播放地址。 - W_rid验证:新版B站API已全面部署W_rid签名机制,所有请求均需在请求前计算
w_rid参数。易语言可用系统自带的取数据摘要命令或精易模块的文本散列功能模仿官方算法实现。 - 二维码登录核心机制:依次调用B站官方
/x/passport-login/web/qrcode/generate生成登录码并轮询/x/passport-login/web/qrcode/poll监听扫码结果,直到响应payload.refresh_token。 - 音视频分离自动合并原理:B站的高画质DASH流媒体协议视频和音频存储在不同的服务器地址上,先分别下载
.m4s视频和音频段,完成后再调用ffmpeg以子进程方式合并。ffmpeg命令例:ffmpeg -i video.m4s -i audio.m4s -c:v copy -c:a aac output.mp4。 - 弹幕下载与格式转换:根据cid参数调用B站的弹幕接口
/x/v1/dm/list.so?oid=获取xml弹幕数据,再使用易语言的文本处理与正则替换功能转换为ass格式。
🛠️ 常见问题(FAQ)
Q1:软件打开报错,提示缺少支持库或DLL?
- 原因:缺少EXUI支持库或zlib依赖库。
- 解决:如果使用的是EXUI界面版本,必须安装EXUI支持库;若源码中使用了EXUI组件但不想要,也可在源码中用易语言自带组件替换。如果提示
zlibwapi.dll缺失,将该文件下载放至软件目录\配置\文件夹内即可。
Q2:没有大会员,能下载4K视频吗?
不能。B站的4K和1080P60帧画质需要大会员账号权限,无会员登录情况下工具默认只能解析并下载1080P 30帧的视频。解析接口会在收到/x/player/playurl返回时根据Cookies判定会员状态。
Q3:下载4K视频时,得到的只有无声音的画面,为什么会这样?
预期行为,可自动处理。B站4K及1080P60帧超高清视频通常采用DASH模式,音频和视频采用两个独立的流进行传输,必须先分别下载视频轨道流(.m4s)和音频轨道流再进行合并。只要本地放置了ffmpeg.exe(网盘内可下载),工具就会自动调用其合并流程,最终输出音画同步的完整MP4文件,无需人为介入。
📄 许可与注意事项
- 本源码仅供个人技术学习和非商业用途,不得用于商业变现、盗版影视网站搭建、爬取并倒卖UP主原创内容等行为
- 所有B站视频资源的知识产权归版权方所有,下载后仅限本地备份、二创素材引用等个人场景,请勿在未获授权的前提下多渠道分发传播
- 工具中开源的模块(如Lily_bilibili模块、鱼刺类http6.0模块)均遵循其作者提供的开源协议,使用前请确保模块和源码均不涉及商业闭源或未授权二次封装
- 因B站的API、反爬规则和W_rid等校验机制会不定期升级和调整,本工具后续维护需要自行逆向和更新源码。
开发者开源声明:“代码完全开源,仅供参考学习使用,产生的版权问题作者概不负责。如果下载4k视频时音频视频分离,软件会自动用ffmpeg合并。”
📄版权声明:
本站所有文章,如无特殊说明或标注,均为渡漳网原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
📧联系我们:admin@dzcrv.com
