使用yo-get下载视频网站视频或其他
文/玄魂
目录
使用yo-get下载视频网站视频或其他... 1
前言... 1
1.1 下载、安装... 1
依赖... 1
exe安装... 1
pip安装... 1
Antigen安装... 1
Git 克隆源码... 1
Homebrew 安装... 1
1.2 基本使用... 1
下载视频网站视频... 1
下载任何指定文件... 1
利用google搜索并下载视频... 1
中断和继续... 1
自定义下载文件路径和名称... 1
设置代理... 1
加载cookie. 1
1.3 小结... 1
前言
很多时候随时随地在线看视频不是那么容易,尤其是YouTube的视频(你懂得),所以遇到好的视频下载下来还是有必要的。今天给大家介绍就是一款下载视频站视频的工具——yo-get。
官方网址:https://you-get.org/。
1.1 下载、安装
依赖
· Python 3
· (可选) RTMPDump
exe安装
在windows上使用该软件最方便的办法是下载exe文件,在该工具的github地址:https://github.com/soimort/you-get 找到release链接,当前链接为https://github.com/soimort/you-get/releases/tag/v0.4.486。
下载win32.exe。下载完成后直接命令行运行就可以了。
跨平台的安装和使用方式,可能是大部分码农更欢迎的,下面列举几种方式。
pip安装
如果你的电脑上安装Python3,可以使用pip安装。
Antigen安装
添加如下代码到你的.zshrc文件中即可:
Git 克隆源码
首先从github下载所有源文件。
$ git clone git://github.com/soimort/you-get.git
然后运行 ./setup.py install进行安装。
Homebrew 安装
此种方法只试用于Mac,运行如下命令:
$ brew install you-get
1.2 基本使用
下载视频网站视频
安装成功之后,就该大显身手的时候了。我在YouTube上看到一套《Hacking with Python》的视频,就拿它来做试验吧。复制该视频的URL:
https://www.youtube.com/watch?v=UVac47TtghQ&list=PL1A2CSdiySGLtKwqBnqj9BON6QQjWkP4n&index=1。
然后在命令行执行:
you-get-0.4.486-win32.exe -i https://www.youtube.com/watch?v=UVac47TtghQ&list=PL1A2CSdiySGLtKwqBnqj9BON6QQjWkP4n&index=1
使用-i参数列出详细的视频下载信息,供我们进一步选择。
从上图可以看到,程序列出了不同格式和质量的下载选项,并给出了下载方法。比如我这里下载mp4格式、1920*1080的视频,应该输入的命令为:
D:\工具\网络工具包>you-get-0.4.486-win32.exe --itag=137 https://www.youtube.com/watch?v=UVac47TtghQ&list=PL1A2CSdiySGLtKwqBnqj9BON6QQjWkP4n&index=1
you-get在下载视频的过程中会依赖ffmpeg对下载的视频进行合并或者转码。很多视频站的视频都是分成多段进行加载的,如果你不希望程序自动合并视频,可以添加--no-merge
/-n
参数进行控制。
好了,下载成功一个视频:
下载任何指定文件
是不是感觉很爽呢?当然除了视频资源,如果我们给定一个文件url,它都可以帮我们下载。
如果我们给一个随意的URL,you-get会整体分析该网页可下载的资源,但是这个功能目前还不是很完善。
利用google搜索并下载视频
如果传入的参数不是url,you-get会利用goolge进行搜索资源,并提示下载选项。没有给出足够资源列表供用户选择,个人感觉有些鸡肋。
中断和继续
下载过程中,使用Ctrl+C 可以中断下载,程序会保存一个临时文件,下次使用相同的下载参数下载文件的话,会从中断位置继续下载。
如果要强制重新下载,可以使用--force
/-f
参数。
自定义下载文件路径和名称
使用--output-dir
/-o
参数可以指定文件保存的路径,使用--output-filename
/-O
参数来指定保存的文件名。例如:
$ you-get -o ~/Videos -O zoo.webm
‘https://www.youtube.com/watch?v=jNQXAC9IVRw‘
设置代理
使用--http-proxy
/-x
参数为you-get指定http代理,默认情况下you-get会使用系统代理。如果不希望you-get使用任何代理,可以使用--no-proxy
参数来禁用。
加载cookie
很多网站是需要登录才可以访问视频内容的,比如很多在线教育网站。这个时候就需要我们提交cookie信息了,you-get支持使用--cookies
/-c
来提交cookie数据。cookie数据支持两种格式:
cookies.sqlite 和 cookies.txt。
1.3 小结
you-get是使用python编写的,学习python编程的朋友可以去看看源码,学习网页内容分析和下载的方法,同时也可以为它贡献代码,让这个工具更强大。
已经测试的网站列表,当然这不是全部,你可以自己去探索。
关注我的微信订阅号,持续为您推送优质内容:
我的知乎:https://www.zhihu.com/people/xuan-hun