三步保存七大网站分段视频到本地:Video-Downloader 完全指南
【免费下载链接】Video-Downloader下载youku,letv,sohu,tudou,bilibili,acfun,iqiyi等网站分段视频文件,提供mac&win独立App。项目地址: https://gitcode.com/gh_mirrors/vi/Video-Downloader
B站、优酷上的在线视频常常被切成多段存储,想离线保存自己又抓不全。Video-Downloader 是个 Python 图形程序,把视频页面地址粘进去,它自动解析出每一段,三档画质任选,完整存到本地。支持哔哩哔哩、优酷、爱奇艺、乐视、搜狐、土豆、AcFun 共 7 个平台,界面操作只有粘贴地址和点搜索两处。
点下搜索之后发生了什么:链接到文件的四步数据流
先说清它内部怎么干活,再动手装。
- 看地址串里是
youku、bilibili还是iqiyi,分发给对应平台的解析类。土豆地址会先转成优酷链接,再走优酷通道。 - 模拟浏览器请求该平台的播放接口,拿到选定画质下的全部分段地址。
- 每段带上 iPhone 的 User-Agent 和
Range请求头取流,按 4KB 小块持续写入磁盘。 - 读响应头里的 Content-Type 决定扩展名(
.flv或.mp4),文件命名为「时间戳_段号」,比如20260826123015_1.flv。
所以你最终得到的是按段存好的文件,顺序拼起来就是完整视频。
装 Python 2.7、装 pycurl,跑通第一次下载
程序基于 Python 2.7 开发,Python 3 直接跑会挂。按顺序执行:
git clone https://gitcode.com/gh_mirrors/vi/Video-Downloader cd Video-Downloader pip install pycurl python main.py弹出窗口后,顶部输入框粘贴视频页面地址(要带http开头的完整链接),右侧下拉框默认是 HD,点「搜索」。结果区会逐行打出「第 1 段 / 第 2 段」的分段地址,下方出现「下载」按钮。点它,界面文字变成「正在下载视频 2 - 47%」这类进度提示,走完显示「下载完成」,文件落在默认目录:桌面上的VideoDownloader文件夹。
六个痛点,它各自怎么解决
- 记不住哪个地址归哪个平台处理 → 按域名自动识别,你只管粘。
- 画质和体积难权衡 → 下拉框三档:HD、超清、高清,切换后重新搜索即可。
- 长视频分段多,手动补链接麻烦 → 解析结果把每段地址一次列全。
- 不知道下到哪了 → 进度文字实时刷,卡在第几段、走到百分之几一眼能看出。
- 文件堆在桌面没处放 → File 菜单进 Config 面板改保存路径,选好后点「更新」生效。
- 平台接口改版后解析失灵 → 按设定频率(每天/每周/每月)自动检查新版本。
老用户配置:固定目录、画质策略和批量跑法
目录组织一次做好,后面翻文件省事:
视频下载/ ├── 哔哩哔哩/ ├── 优酷/ ├── 爱奇艺/ └── 教学资料/- 画质策略:通勤随便看选高清省空间,大屏回看选超清,收藏留档选 HD。
- 下载目录:File → Config 里第一次就把路径改成固定位置,别默认堆桌面。
- 更新频率:接口常变,重度用户选「每天」,一般使用选「每月」够用。
- 批量处理:界面面向单次任务,但解析逻辑都封装在 Module 目录里。每个平台一个类,写个循环脚本读链接清单、依次调用对应平台的
chaseUrl(),就能整批跑。
它不工作时:四种常见症状和排查
症状:提示「链接地址不在分析范围内」
- 确认链接属于 7 个支持平台之一。
- 地址要完整,以
http开头。 - 用浏览器打开该地址,确认视频页面还活着。
症状:提示「没有找到所需清晰度的分段文件」
- 换一档画质重新搜索,部分平台对某档画质不给分段。
- 试同一视频的另一条链接。
- 仍不行就更新到最新版本,多半是接口变了。
症状:启动不了或报错
- 确认解释器是 Python 2.7。
- 执行
pip install pycurl,它是唯一第三方依赖。 - 用
python main.py启动,按报错提示逐个补齐。
症状:下载中途失败
- 看进度文字停在第几段,确认卡点。
- 删掉同时间戳前缀的残留分段文件,重新走一遍流程。
- 检查网络后重试;再失败就换一档画质。
想改代码:先去哪几个文件找
- main.py:程序入口,创建界面实例并写入版本号。
- guiClass.py:主界面全部逻辑,输入框、画质下拉框、下载按钮,以及按域名分流到各平台的路由分支都在
__getUrl里。 - Module/:7 个平台解析模块,一平台一文件,如 bilibiliClass.py、youkuClass.py,每个类对外只暴露一个
chaseUrl()。 - Library/fileProcesserClass.py:真正执行分段下载、写文件并刷新进度文字。
- Library/cfgClass.py:把下载目录、更新频率存进本地 SQLite 数据库。
- Library/updateClass.py:拉取远程版本信息做更新比对。
- Library/toolClass.py:pycurl 请求封装,负责发 HTTP 请求。
- Library/errMsgClass.py:错误文案集中管理。
新增平台的路径:照 Module 里任意模块写一个解析类,再到 guiClass.py 的路由里加一条elif分支,完事。
使用边界与合规
- 程序完全本地运行,不收集个人信息,也不记录下载历史。
- 只处理你主动提供的链接,不会主动爬取任何内容。
- 请遵守当地法律法规和各平台服务条款,只保存你有权留存的内容。
如果你遇到某平台接口改版导致解析失效,或者想把它支持到第 8 个平台,代码就放在那里,改一个模块、提一个补丁的事——这份平台清单还能更长。
【免费下载链接】Video-Downloader下载youku,letv,sohu,tudou,bilibili,acfun,iqiyi等网站分段视频文件,提供mac&win独立App。项目地址: https://gitcode.com/gh_mirrors/vi/Video-Downloader
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考