You-Get:支持 80 多个网站的命令行多媒体下载器
你们大多数人可能用过或听说过 Youtube-dl,这个命令行程序可以从包括 Youtube 在内的 100+ 网站下载视频。我偶然发现了一个类似的工具,名字叫做 You-Get。这是一个 Python 编写的命令行下载器,可以让你从 Youtube、Facebook、Twitter 等很多热门网站下载图片,音频和视频(LCTT 译注:首先,它们得是存在的网站)。目前该下载器支持 80+ 站点,点击这里查看所有支持的网站。
You-Get 不仅仅是一个下载器,它还可以将在线视频导流至你的视频播放器。更进一步,它还允许你在 Google 上搜索视频,只要给出搜索项,You-Get 使用 Google 搜索并下载相关度最高的视频。另外值得一提的特性是,它允许你暂停和恢复下载过程。它是一个完全自由、开源及跨平台的应用,适用于 Linux、MacOS 及 Windows。
安装 You-Get
确保你已经安装如下依赖项:
- Python 3
- FFmpeg (强烈推荐) 或 Libav
- (可选) RTMPDump
有多种方式安装 You-Get,其中官方推荐采用 pip 包管理器安装。如果你还没有安装 pip,可以参考如下链接:
需要注意的是,你需要安装 Python 3 版本的 pip
。
接下来,运行如下命令安装 You-Get:
$ pip3 install you-get
可以使用命令升级 You-Get 至最新版本:
$ pip3 install --upgrade you-get
开始使用 You-Get
使用方式与 Youtube-dl 工具基本一致。
下载视频
下载视频,只需运行:
$ you-get https://www.youtube.com/watch?v=HXaglTFJLMc
输出示例:
site: YouTube
title: The Last of The Mohicans by Alexandro Querevalú
stream:
- itag: 22
container: mp4
quality: hd720
size: 56.9 MiB (59654303 bytes)
# download-with: you-get --itag=22 [URL]
Downloading The Last of The Mohicans by Alexandro Querevalú.mp4 ...
100% ( 56.9/ 56.9MB) ├███████████████████████████████████████████████████████┤[1/1] 752 kB/s
下载视频前,你可能希望查看视频的细节信息。You-Get 提供了 –info
或 -i
参数,使用该参数可以获得给定视频所有可用的分辨率和格式。
$ you-get -i https://www.youtube.com/watch?v=HXaglTFJLMc
或者
$ you-get --info https://www.youtube.com/watch?v=HXaglTFJLMc
输出示例如下:
site: YouTube
title: The Last of The Mohicans by Alexandro Querevalú
streams: # Available quality and codecs
[ DASH ] ____________________________________
- itag: 137
container: mp4
quality: 1920x1080
size: 101.9 MiB (106816582 bytes)
# download-with: you-get --itag=137 [URL]
- itag: 248
container: webm
quality: 1920x1080
size: 90.3 MiB (94640185 bytes)
# download-with: you-get --itag=248 [URL]
- itag: 136
container: mp4
quality: 1280x720
size: 56.9 MiB (59672392 bytes)
# download-with: you-get --itag=136 [URL]
- itag: 247
container: webm
quality: 1280x720
size: 52.6 MiB (55170859 bytes)
# download-with: you-get --itag=247 [URL]
- itag: 135
container: mp4
quality: 854x480
size: 32.2 MiB (33757856 bytes)
# download-with: you-get --itag=135 [URL]
- itag: 244
container: webm
quality: 854x480
size: 28.0 MiB (29369484 bytes)
# download-with: you-get --itag=244 [URL]
[ DEFAULT ] _________________________________
- itag: 22
container: mp4
quality: hd720
size: 56.9 MiB (59654303 bytes)
# download-with: you-get --itag=22 [URL]
默认情况下,You-Get 会下载标记为 “DEFAULT” 的格式。如果你对格式或分辨率不满意,可以选择你喜欢的格式,使用格式对应的 itag 值即可。
$ you-get --itag=244 https://www.youtube.com/watch?v=HXaglTFJLMc
下载音频
执行下面的命令,可以从 soundcloud 网站下载音频:
$ you-get 'https://soundcloud.com/uiceheidd/all-girls-are-same-999-prod-nick-mira'
Site: SoundCloud.com
Title: ALL GIRLS ARE THE SAME (PROD. NICK MIRA)
Type: MP3 (audio/mpeg)
Size: 2.58 MiB (2710046 Bytes)
Downloading ALL GIRLS ARE THE SAME (PROD. NICK MIRA).mp3 ...
100% ( 2.6/ 2.6MB) ├███████████████████████████████████████████████████████┤[1/1] 983 kB/s
查看音频文件细节,使用 -i
参数:
$ you-get -i 'https://soundcloud.com/uiceheidd/all-girls-are-same-999-prod-nick-mira'
下载图片
运行如下命令下载图片:
$ you-get https://pixabay.com/en/mountain-crumpled-cyanus-montanus-3393209/
You-Get 也可以下载网页中的全部图片:
$ you-get https://www.ostechnix.com/pacvim-a-cli-game-to-learn-vim-commands/
搜索视频
你只需向 You-Get 传递一个任意的搜索项,而无需给出有效的 URL;You-Get 会使用 Google 搜索并下载与你给出搜索项最相关的视频。(LCTT 译注:Google 的机器人检测机制可能导致 503 报错导致该功能无法使用)。
$ you-get 'Micheal Jackson'
Google Videos search:
Best matched result:
site: YouTube
title: Michael Jackson - Beat It (Official Video)
stream:
- itag: 43
container: webm
quality: medium
size: 29.4 MiB (30792050 bytes)
# download-with: you-get --itag=43 [URL]
Downloading Michael Jackson - Beat It (Official Video).webm ...
100% ( 29.4/ 29.4MB) ├███████████████████████████████████████████████████████┤[1/1] 2 MB/s
观看视频
You-Get 可以将在线视频导流至你的视频播放器或浏览器,跳过广告和评论部分。(LCTT 译注:使用 -p
参数需要对应的 vlc/chrominum 命令可以调用,一般适用于具有图形化界面的操作系统)。
以 VLC 视频播放器为例,使用如下命令在其中观看视频:
$ you-get -p vlc https://www.youtube.com/watch?v=HXaglTFJLMc
或者
$ you-get --player vlc https://www.youtube.com/watch?v=HXaglTFJLMc
类似地,将视频导流至以 chromium 为例的浏览器中,使用如下命令:
$ you-get -p chromium https://www.youtube.com/watch?v=HXaglTFJLMc
在上述屏幕截图中,可以看到并没有广告和评论部分,只是一个包含视频的简单页面。
设置下载视频的路径及文件名
默认情况下,使用视频标题作为默认文件名,下载至当前工作目录。当然,你可以按照你的喜好进行更改,使用 –output-dir
或 -o
参数可以指定路径,使用 –output-filename
或 -O
参数可以指定下载文件的文件名。
$ you-get -o ~/Videos -O output.mp4 https://www.youtube.com/watch?v=HXaglTFJLMc
暂停和恢复下载
按 CTRL+C
可以取消下载。一个以 .download
为扩展名的临时文件会保存至输出路径。下次你使用相同的参数下载时,下载过程将延续上一次的过程。
当文件下载完成后,以 .download
为扩展名的临时文件会自动消失。如果这时你使用同样参数下载,You-Get 会跳过下载;如果你想强制重新下载,可以使用 –force
或 -f
参数。
查看命令的帮助部分可以获取更多细节,命令如下:
$ you-get --help
这次的分享到此结束,后续还会介绍更多的优秀工具,敬请期待!
原文发布时间为:2018-05-25
本文作者:Sk
本文来自云栖社区合作伙伴“Linux中国开源社区”,了解相关信息可以关注“Linux中国开源社区”。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
推荐Python数据框Pandas视频教程
若要独立用 Python 处理数据科学问题,Pandas 是绕不过去的。 新番 今天,花了一上午的时间,跟着这个 Youtube 系列教程,学习了 Pandas 中级技巧。 视频来自于 Data School。发布者是 Kevin Markham 。 在这个系列视频教程里, Kevin 将自己的 PYCON 2018 workshop 分成了10个部分全部精剪后释出。一步步带你领略 Pandas 的魅力。 我用了2个多小时,完成了他10个视频的全部内容。 收获颇丰。 利用教程中提到的美国交通警务数据来自于斯坦福开放警务项目(THE STANFORD OPEN POLICING PROJECT)。 这是数据大概的样子: 一步步按照 Kevin 的指令练习,你可以完成这些内容: 分析男女司机的交通违规都包括哪些类别?每一类占比如何? 那些被搜查车辆的男女司机,各是由于什么原因? 哪个时段,警察发现违规的数量最多? 不同违规行为里,司机年龄是如何分布的? 这些分析结果,只是这个教程的一小部分而已。 更妙的是,上述这些图形,几乎都是利用两三条 Pandas 语句,就可以做出。有的只需要一条就可...
- 下一篇
阿里云Kubernetes SpringCloud 实践进行时(1): 分布式服务注册与发现
简介 为了更好地支撑日益增长的庞大业务量,我们常常需要把服务进行整合、拆分,使我们的服务不仅能通过集群部署抵挡流量的冲击,又能根据业务在其上进行灵活的扩展。随着分布式的普及、服务的快速增长与云计算技术的进步,微服务架构也因其特有的优势而备受关注。微服务架构的本质,是把整体的业务拆分成很多有特定明确功能的服务,通过很多分散的小服务之间的配合,去解决更大,更复杂的问题。对被拆分后的服务进行分类和管理,彼此之间使用统一的接口来进行交互。 本系列讲述了在阿里云Kubernetes容器服务基础之上,如何快速搭建基于Spring Cloud的微服务架构中的基础设施: 第一篇:分布式服务注册与发现系统 第二篇:分布式配置管理系统 第三篇:API网关服务Zuul 系统 第四篇:分布式追踪系统 第五篇:分布式弹性服务与容错处理框架Hystrix及其监控仪表板 第六
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果