在windows系统上解决you-get软件上出现existing files 的问题
之前在做飞机/动车上想利用B站学习前端视频的时候,发现B站视频在PC端是无法下载的,后面学习的时候发现可以用m3u8解码下载,但是破译太麻烦了(是我太菜了),一不小心就在github上发现一个大神写好的github插件 可以解决B站等等网站,对方同样是采用request模块进行封装破译 在这边想了解这个强大的插件可以参考他的网址:(本分享仅传播给学习知识的小伙伴使用,不用作任何商业利益,也不希望大家通过这个脚本获利~)
这个脚本的官方使用方法:https://github.com/soimort/you-get(看不懂英文的小伙伴可以用谷歌浏览器打开然后右键网页自动翻译 基本都能看懂)
我写这篇文章是一方面想做一个分享另外一个方面就是用这个插件下载B站视频的时候要注意的一个坑!!!!
总的来说他的使用方法是这样的 安装python(3以上)和ffmpeg
打开cmd命令行运行:
you-get ‘视频地址’ -o ‘要保存的路径’
如果说你想下载单个视频当然这样就可以实现了
但是我想聊聊这个脚本的强大之处
第一种情况 :如果你想下载全集视频(每集的视频名字较短 不超过25个字)(以B站最强大的爬虫工具‘mitmproxy’教学视频为例哈哈哈)
打开cmd 运行
```python
you-get --playlist -o D:\bili\excel学习 https://www.bilibili.com/video/BV1UC4y1t7EL?from=search&seid=2956582329808202580
``
那么他就会帮你把所有的每一集的视频自动下载下来
是不是很强大!!
第二种情况 :如果你想下载全集视频(每集的视频名字很长) (以B站播放量最高的excel教程视频为例)
那么就会出现报错 existing files
报错意思就是你的视频名字重复了 原因就是这个脚本只会截取前面25个字符 那么这种情况下就要采取windows里面的一个强大的工具powershell(应该是自带)
流程:
1.打开powershell
输入:for(
i
=
1
;
i=1;
i=1;i -le (这里填你要下的视频集数);
i
+
+
)
回
车
比
如
我
这
个
视
频
一
共
有
37
p
那
么
我
就
输
入
f
o
r
(
i++) 回车 比如我这个视频一共有37p 那么我就输入 for(
i++)回车比如我这个视频一共有37p那么我就输入for(i=1;
i
−
l
e
37
;
i -le 37;
i−le37;i++)
2.输入
{
you-get https://www.bilibili.com/video/BV184411C7Ci?p=KaTeX parse error: Undefined control sequence: \bili at position 8: i -o D:\̲b̲i̲l̲i̲\excel学习\lesson…i -O p$i
}
3.运行
大功告成~
这个脚本还有很多功能 比如可以指定视频格式/视频清晰度 等等 非常强大 大家可以看外国的原作者写的github 操作指南