推荐阅读时间:8min~10min 主题:爬虫神器 you-get 介绍
听说你学会了爬虫,并且成功使用 urllib2/requests/scrapy 下载了想要的视频和音乐,但你有听过一条命令就能完成视频和音乐的下载呢?来看看今天带给你们的神器— you-get 吧!
1什么是 you-get
you-get 是一个小型的命令行程序,它提供便利的方式来下载网络上的媒体信息(视频,音频,图像)。you-get 目前支持的国内外网站有80 。国外的 YouTube、Twitter、Instagram 等等都是它支持的网站,国内支持的网站也有很多,如:bilibili、豆瓣、斗鱼、腾讯视频、优酷、芒果TV、快手、抖音、爱奇艺、酷狗音乐、秒拍、音乐Tai等等。最全的网站支持列表请见:https://github.com/soimort/you-get#supported-sites。
2安装 you-get
想要安装 you-get,有以下依赖必须安装:
- Python3
- FFmpeg(强烈推荐) or Libav
- (可选) RTMPDump
接下来在命令行中输入:
代码语言:javascript复制pip install you-get
3使用 you-get 下载视频
我们来演示下如何通过 you-get 下载视频,假如我们想要下载《复仇者联盟3:无限战争》的一个预告视频,地址为:
http://v.youku.com/v_show/id_XMzQ2OTMxMTQ4NA.html?spm=a2h0j.11185381.listitem_page1.5!10~A。
下载之前,我们可以使用 --info/-i 来查看所有可用画质与格式(注意:Windows 平台需要将 url 外面的单引号换成双引号):
代码语言:javascript复制$ you-get -i 'http://v.youku.com/v_show/id_XMzQ2OTMxMTQ4NA.html?spm=a2h0j.11185381.listitem_page1.5!10~A'
site: 优酷 (Youku)
title: 《复仇者联盟3:无限战争》北美正式预告片 十年布局,巅峰一役
streams: # Available quality and codecs
[ DEFAULT ] _________________________________
- format: mp4hd3v2
container: mp4
video-profile: 1080P
size: 29.9 MiB (31303414 bytes)
m3u8_url: http://pl-ali.youku.com/playlist/m3u8?vid=XMzQ2OTMxMTQ4NA==&type=hd3&ups_client_netip=712c9e06&utid=G4t3EzHLgQICAXEsngYS76wa&ccode=0502&psid=888175f6a5e54e15240fc4ff2a5a9f36&duration=143&expire=18000&drm_type=1&drm_device=7&ups_ts=1525718303&onOff=0&encr=0&ups_key=014c8160e58f685bde0d49447edc5ae4
# download-with: you-get --format=mp4hd3v2 [URL]
- format: mp4hd2v2
container: mp4
video-profile: 超清
size: 17.2 MiB (18035231 bytes)
m3u8_url: http://pl-ali.youku.com/playlist/m3u8?vid=XMzQ2OTMxMTQ4NA==&type=hd2&ups_client_netip=712c9e06&utid=G4t3EzHLgQICAXEsngYS76wa&ccode=0502&psid=888175f6a5e54e15240fc4ff2a5a9f36&duration=143&expire=18000&drm_type=1&drm_device=7&ups_ts=1525718303&onOff=0&encr=0&ups_key=014c8160e58f685bde0d49447edc5ae4
# download-with: you-get --format=mp4hd2v2 [URL]
- format: mp4hd
container: mp4
video-profile: 高清
size: 10.3 MiB (10777046 bytes)
m3u8_url: http://pl-ali.youku.com/playlist/m3u8?vid=XMzQ2OTMxMTQ4NA==&type=mp4&ups_client_netip=712c9e06&utid=G4t3EzHLgQICAXEsngYS76wa&ccode=0502&psid=888175f6a5e54e15240fc4ff2a5a9f36&duration=143&expire=18000&drm_type=1&drm_device=7&ups_ts=1525718303&onOff=0&encr=0&ups_key=014c8160e58f685bde0d49447edc5ae4
# download-with: you-get --format=mp4hd [URL]
- format: 3gphd
container: mp4
video-profile: 渣清
size: 3.9 MiB (4101529 bytes)
m3u8_url: http://pl-ali.youku.com/playlist/m3u8?vid=XMzQ2OTMxMTQ4NA==&type=mp4&ups_client_netip=712c9e06&utid=G4t3EzHLgQICAXEsngYS76wa&ccode=0502&psid=888175f6a5e54e15240fc4ff2a5a9f36&duration=143&expire=18000&drm_type=1&drm_device=7&ups_ts=1525718303&onOff=0&encr=0&ups_key=014c8160e58f685bde0d49447edc5ae4
# download-with: you-get --format=3gphd [URL]
- format: mp4sd
container: mp4
video-profile: 标清
size: 5.7 MiB (6020728 bytes)
m3u8_url: http://pl-ali.youku.com/playlist/m3u8?vid=XMzQ2OTMxMTQ4NA==&type=flv&ups_client_netip=712c9e06&utid=G4t3EzHLgQICAXEsngYS76wa&ccode=0502&psid=888175f6a5e54e15240fc4ff2a5a9f36&duration=143&expire=18000&drm_type=1&drm_device=7&ups_ts=1525718303&onOff=0&encr=0&ups_key=014c8160e58f685bde0d49447edc5ae4
# download-with: you-get --format=mp4sd [URL]
标有DEFAULT 为默认画质。如果想要默认的画质,则直接使用以下命令下载:
代码语言:javascript复制$ you-get 'http://v.youku.com/v_show/id_XMzQ2OTMxMTQ4NA.html?spm=a2h0j.11185381.listitem_page1.5!10~A'
site: 优酷 (Youku)
title: 《复仇者联盟3:无限战争》北美正式预告片 十年布局,巅峰一役
stream:
- format: mp4hd3v2
container: mp4
video-profile: 1080P
size: 29.9 MiB (31303414 bytes)
m3u8_url: http://pl-ali.youku.com/playlist/m3u8?vid=XMzQ2OTMxMTQ4NA==&type=hd3&ups_client_netip=712c9e06&utid=r4p3E1fqEX4CAXEsngYfsVgy&ccode=0502&psid=269429bb15c9f3bc56d9ad545f0835ae&duration=143&expire=18000&drm_type=1&drm_device=7&ups_ts=1525718195&onOff=0&encr=0&ups_key=3b6bfec46adf4747c607ed4ab4b37cc3
# download-with: you-get --format=mp4hd3v2 [URL]
Downloading 《复仇者联盟3:无限战争》北美正式预告片 十年布局,巅峰一役.mp4 ...
100% ( 29.9/ 29.9MB) ├████████████████████████████████████████┤[1/1] 7 MB/s
如果想要下载标清画质,则可以根据提示 #download-with 使用以下命令来下载:
代码语言:javascript复制$ you-get --format=mp4sd 'http://v.youku.com/v_show/id_XMzQ2OTMxMTQ4NA.html?spm=a2h0j.11185381.listitem_page1.5!10~A'
site: 优酷 (Youku)
title: 《复仇者联盟3:无限战争》北美正式预告片 十年布局,巅峰一役
stream:
- format: mp4sd
container: mp4
video-profile: 标清
size: 5.7 MiB (6020728 bytes)
m3u8_url: http://pl-ali.youku.com/playlist/m3u8?vid=XMzQ2OTMxMTQ4NA==&type=flv&ups_client_netip=712c9e06&utid=x4t3Ez7Y/gUCAXEsnga8QOC7&ccode=0502&psid=a0f83cea8f1d12b44077eb789c32c7a0&duration=143&expire=18000&drm_type=1&drm_device=7&ups_ts=1525718475&onOff=0&encr=0&ups_key=fa6e8812bd282935a8f011e5316a3158
# download-with: you-get --format=mp4sd [URL]
Downloading 《复仇者联盟3:无限战争》北美正式预告片 十年布局,巅峰一役.mp4 ...
100% ( 5.7/ 5.7MB) ├████████████████████████████████████████┤[1/1] 11 MB/s
下载完成后,我们来看下下载后的视频截图:
4其他常用设置参数
除了最基本的下载功能之外,you-get 还有很多其他的参数。
- 使用 --force/-f 强行重下载. (注意: 将覆盖同名文件或临时文件!)
- 使用 --output-dir/-o 设定路径, --output-filename/-O 设定输出文件名
- 使用 --http-proxy/-x 为you-get设置HTTP代理
- 如果需要登录以观看 (例如, 私密视频), 可能必须将浏览器cookie通过 --cookies/-c 加载入 you-get
更多关于 you-get 的使用方式请看:https://github.com/soimort/you-get。
往期精彩回顾
BAT机器学习/深度学习面试300题
Numpy 精品系列教程汇总(你值得拥有)
谷歌机器学习43条黄金法则(手册版 PDF)
吴恩达|机器学习秘籍(Machine Learning Yearning)
作者:1or0,脑洞大开(www.naodongopen.com)签约作者,专注于机器学习研究。