谁说Claude Code只能写代码?我用它一口气下载了188个B站视频
大家对Claude Code这个AI编程助手的印象,应该一直停留在”写代码”这个层面。前两天,我想下载一个B站UP主的所有视频,突发奇想,尝试用Claude Code来下载视频,结果打开了一扇新大门。
起因
年前发现一个B站UP主的内容特别有价值。我想把这些视频下载下来,打开空间一看,170多个。
按老办法:搜”B站视频下载”,找个在线工具,一个一个复制链接……170多个视频,折腾一天都不一定搞得完。
然后我试着跟Claude Code说:帮我下载xxxx这个地址的视频。
第一次尝试:只有3分钟?
它二话不说,先检查有没有下载工具,发现没装yt-dlp,直接pip install装上,然后开始下载。
十几秒后告诉我下载完成了,13MB。
我打开一看,傻眼了——视频只有3分钟。但这视频明明是11分多的啊?
问了下才知道,B站对未登录用户只提供试看片段。想下载完整的,得带Cookie。
Cookie这事儿有点折腾
按它的提示,我试了好几种办法导Cookie。
先是让它直接从Chrome读:
1 | yt-dlp --cookies-from-browser chrome "链接" |
报错了,说Cookie数据库复制不了。搜了一下,这是Windows上常见的问题,Chrome的Cookie数据库被锁住了。
换个思路,试试Edge:
1 | yt-dlp --cookies-from-browser edge "链接" |
又报错,DPAPI解密失败。这条路也不通。
最后还是老老实实用浏览器扩展导出。装了个”Cookie Editor”,登录B站账号,一键导出成Netscape格式,保存成cookies.txt。
把Cookie文件往那儿一放,再跑:
1 | yt-dlp --cookies "cookies.txt" -f "bestvideo+bestaudio/best" --merge-output-format mp4 "链接" |
这回下载下来93MB,11分48秒,完整版,1080P高清。
其实最简单的方式,就是浏览器F12,把Cookie复制到Claude Code中,告诉它相关信息,它就可以直接使用并下载。
试了试别的工具:BBDown
搞定单个视频之后,我让它试试别的下载工具,看看哪个更好用。
它给我推荐了BBDown,这货是专门为B站设计的,功能比yt-dlp更针对。
安装用的是dotnet:
1 | dotnet tool install -g BBDown |
装完一试,报错说找不到ffmpeg。BBDown需要ffmpeg来合并视频音频,这跟yt-dlp一样。
我又懒得单独装ffmpeg,就先用imageio-ffmpeg凑合:
1 | BBDown "链接" --ffmpeg-path "ffmpeg路径" |
BBDown的好处是针对B站做了很多优化,比如自动处理多P视频、支持各种画质选择、还能下载弹幕。缺点就是依赖ffmpeg,配置起来稍微麻烦点。
后来我还是用回yt-dlp了,因为它的批量下载更成熟。
批量下载:170多个视频怎么搞
单个视频搞定了,我问它:能不能把这个UP主空间的所有视频都下载下来?
它先帮我统计了一下数量:
1 | yt-dlp --flat-playlist --print "%(id)s" "UP主空间链接" |
返回结果:173个视频条目。有些是多P的,实际文件会更多。
然后给了我这么一条命令:
1 | yt-dlp --cookies "cookies.txt" \ |
参数解释一下:
--cookies:带登录状态,能下载充电专属-f:画质选择,优先1080P-o:文件名格式,日期_标题_ID--merge-output-format:输出mp4格式
跑起来之后,我就在旁边看着进度条走:
1 | [download] Downloading item 1 of 173 |
小插曲:ffmpeg的问题
下到一半蹦出来个警告:ffmpeg没装,视频音频没法自动合并。
B站用的是DASH技术,视频音频分开存的。不过不影响下载,就是最后文件是分开的,.mp4是视频,.m4a是音频。
我本来想用winget装ffmpeg:
1 | winget install ffmpeg |
结果网络抽风,下到一半断了。巧克力(Chocolatey)也没装,这条路走不通。
最后还是Python大法好:
1 | pip install imageio-ffmpeg |
这个包自带ffmpeg可执行文件,不用单独配置环境变量。路径在Python的site-packages里面,用的时候指定一下就行。
下载完成,开始合并
40多分钟后,所有视频都下完了。
统计了一下:188个视频文件(有些是多P的),188个音频文件,总共大概25GB。
接下来要合并视频和音频。它写了个Python脚本,用concurrent.futures多线程处理,4个线程并行合并,速度比单线程快不少。
合并脚本的核心逻辑挺简单:
1 | from concurrent.futures import ThreadPoolExecutor |
合并的时候它会自动删除原来的视频音频文件,省得占双倍空间。
最后得到188个完整的mp4文件,画质1080P,文件名格式是日期_标题_BV号.mp4,看着挺清晰。
其他几款B站下载工具
折腾的过程中,顺便了解了几款其他工具,简单说说:
you-get
老牌工具了,Python写的,安装简单:
1 | pip install you-get |
支持的网站很多,不光B站,优酷、腾讯视频、YouTube都能下。不过更新频率没以前高了,有些网站的新接口可能跟不上。
用法跟yt-dlp差不多:
1 | you-get "链接" |
lux(原bilix)
这个是专门针对B站的,用Go写的,速度很快:
1 | # Windows可以用scoop装 |
支持多线程下载、断点续传,界面也比较友好。缺点是功能相对单一,只支持B站。
唧唧Down
这个是桌面软件,有图形界面,不太喜欢敲命令的可以用这个。
功能挺全的:批量下载、选画质、下弹幕、下字幕都有。就是更新慢了点,有些新功能可能不支持。
bilibili-dl
又一个Python工具:
1 | pip install bilibili-dl |
跟you-get类似,不过专门针对B站做了优化。维护情况一般,有些bug可能没人修。
工具对比
用下来感觉:
| 工具 | 优点 | 缺点 |
|---|---|---|
| yt-dlp | 支持网站多、更新快、功能全 | 参数多,学习成本稍高 |
| BBDown | 专门针对B站优化 | 需要装dotnet和ffmpeg |
| you-get | 简单易用、支持多平台 | 更新慢 |
| lux | 速度快、支持多线程 | 只支持B站 |
| 唧唧Down | 图形界面、小白友好 | 更新慢、功能有限 |
我个人现在主力用yt-dlp,功能最全,遇到问题搜一下基本都有答案。
几个有用的命令
过程中学到一些,记下来备用:
1 | # 查看视频有哪些画质可选 |
BBDown的几个常用命令:
1 | # 查看帮助 |
常见问题
下载的视频只有几分钟?
没带Cookie,B站只给试看片段。导个Cookie就行。
1080P下不了?
1080P+要大会员,用大会员账号的Cookie。
视频音频分开的?
装个ffmpeg,yt-dlp会自动合并。或者用我上面说的imageio-ffmpeg也行。
下到一半断了?
用--download-archive记录进度,重新跑会跳过已下载的。
Cookie从哪导?
Chrome/Edge装”Cookie Editor”扩展,登录B站后导出Netscape格式。
Cookie能用多久?
B站Cookie有效期大概一个月,过期了重新导一次。
最后
Claude Code不只是”写代码的”。只要需求能描述清楚,只要这事有命令行工具支持,它就能帮你干。
下载视频只是个小例子。文件批量处理、数据转换、系统运维,理论上都能让AI来帮忙。
而且最爽的是,遇到问题不用自己一个一个搜,直接把报错丢给它,它会帮你分析原因、找解决方案。这次Cookie的问题、ffmpeg的问题,都是这么解决的。
下次遇到重复性的技术活,不妨先问问它。
谁说Claude Code只能写代码?我用它一口气下载了188个B站视频

