爬虫神器:一条命令下载《复仇者联盟3:无限战争》

2018-07-25 09:48:49 浏览数 (1)

推荐阅读时间: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)签约作者,专注于机器学习研究。

0 人点赞