作者:cosz
需求再现:
如果你需要下载网络上一个视频(包括但不限于优酷、bilibili),但是发现自带客户端等不可用,这篇教程或许能帮助到你。
方法介绍:
如果只是单纯的下载某1p的视频,可以利用以下的办法:
1. 使用idm抓取视频直接下载(如果视频是分块的需要多次下载)
2. 使用chrome插件捕获链接下载
3. 在网址url的bilibili后面加jj跳转到唧唧下载(需要有一定用户缓存才能,否则可能出现失败)
4. 使用硕鼠进行下载
5. 使用tubeget下载 (已不再支持)
6. 使用you-get
对于单p视频其实并不建议使用you-get,因为你还要设置下载目录还要为了安装you-get设置环境变量。idm抓取最快最好用,但是遇到分块问题会很麻烦。分块是什么见下面
分块问题:
但是难免出现你需要一次性下载一整套视频(例如网课),此时上面的1、2只能1p1p下载,3如果你遇到了小众视频便失败,而4一定情况下无法激活自动识别连接中全部p,而且批量下载超过20个就需要会员了。
此时you-get变成了不二之选
下面介绍you-get在windows下怎么安装怎么用:
一、安装依赖
官网还提供了windows下预装包但是发现新版并不更新预装包了,所以建议还是老老实实装依赖吧:(下面所需要的安装包直接百度搜索就可以进入官网)
Python3
这里需要多说一点。win10开始会出现python3应用快捷指令,也就是当你在cmd中输入python3时会自动跳转到应用商店进行下载。但是笔者更喜欢自己从官网下载安装包,如果你也要用安装包下载,就需要如下的步骤来防止以后出现奇奇怪怪的问题:
1. 搜索管理应用执行别名,关闭python
开始菜单
关闭
2. 环境变量中添加python。安装时要勾选上Add to PATH。如果你没有勾选上,就到设置-系统-关于-高级系统设置中环境变量添加:
环境变量
FFmpeg
上官网下载源代码之后解压到你想安装的文件夹,把该文件夹的目录按照上面的方法添加到path中。随后cmd中运行ffmpeg查看是否成功
ffmpeg
ffmpeg为必要依赖,以下载流式视频以及合并分块视频(例如b站会把一个视频分割成很多个小片段,idm每次就只能捕捉到一个小片段),以及YouTube的1080p或更高分辨率.
二、安装you-get
执行完上面的操作之后便可以开始安装you-get
首先更新一下pip,不然可能会出现`Fatal error in launcher: Unable to create process using`的错误
在cmd中执行
python -m pip install -U pip
更新完成后会显示:
Collecting pipDownloading https://files.pythonhosted.org/packages/54/0c/d01aa759fdc501a58f431eb594a17495f15b88da142ce14b5845662c13f3/pip-20.0.2-py2.py3-none-any.whl (1.4MB)|| 1.4MB 16kB/sInstalling collected packages: pipFound existing installation: pip 19.2.3Uninstalling pip-19.2.3:Successfully uninstalled pip-19.2.3Successfully installed pip-20.0.2
随后安装you-get
pip3 install you-get
运行you-get检查一下是否安装成功,成功之后便可以开始下载
三、开始下载
you-get支持批量下载,命令如下:
you-get –playlist 网址(此处网址为不带p=x的)
默认下载是最清晰的版本。如果您想下载前查看一下下载的内容啊格式啊可用清晰度啊可以利用-i命令,即:
you-get -i 网址
之后按照上面的提示输入对应的命令下载对应的版本即可
建议下载的时候添加-o指定一下下载路径,不然会默认下载到user文件夹中,,于是命令变成了:
you-get -o D:Download视频名字 –playlist 网址
ctrl+c可以暂停下载,再次提交相同下载请求的时候会默认继续下载。如果要强制重新下载添加-f即可
PS:有些情况直接使用-l命令会出现下载的文件全部为第一p文件的情况。这时候用循环可以解决问题:
for /L %i in (1 1 XXXX1XXXX) do @(you-get -o XXXXX2XXXXX https://www.bilibili.com/video/XXXXX3XXXXX?p=%i)
其中XXX1XXX是一共要下载到多少p,2是下载地址,3是av号。注意av号后紧跟?p
四、不下载直接传进播放器
you-get也可以实现直接将视频传进播放器
你需要把你的播放器的执行文件目录放到path中,随后调用如下命令:
you-get -p 你的播放器名字 地址
随后你的播放器便会打开播放。但是实测有些网站不可,例如b站..
结尾
如果大家对开头多种下载方法中的任何一种感兴趣也可以留言,我在评论区里介绍。