you-get下载神器的安装和使用

you-get

  • 简介
  • 安装方法
    • 依赖环境:
    • 方法1:通过pip
    • 方法2:Git克隆
    • 验证
    • 升级
    • 卸载
  • 视频下载
    • B站视频下载
    • 设置下载文件的路径和名称
  • 在媒体播放器中流式传输在线视频
  • 音乐下载
  • 图片下载
  • 自动搜索下载视频
  • python代码批量下载
  • 结语

简介

You-Get是一个很小的命令行程序,可以从网站下载媒体内容(视频,音频,图像)。具体的用处有:

  • 从B站,爱奇艺,网易云音乐等热门网站下载视频/音频。
  • 通过抓取网页下载(感兴趣的)图像。
  • 在媒体播放器中流式传输在线视频。
  • 爬取最多300条B站弹幕

安装方法

依赖环境:

  • Python 3.2或以上
  • FFmpeg 1.0或以上
    python的安装可以参考其他博客,建议安装python3.7
    其中FFmpeg的下载界面:FFmpeg下载

方法1:通过pip

可以直接通过命令行安装:

pip3 install you-get

或者通过镜像安装:

pip install you-get -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

方法2:Git克隆

即使您不经常使用Python编写代码,这也是所有开发人员的推荐方法。

git clone git://github.com/soimort/you-get.git

然后将克隆的目录放入您的PATH中,或运行./setup.py install以安装you-get到永久路径。

验证

在命令行输入:

you-get

如果得到如下界面,则成功:

usage: you-get [OPTION]... URL...

A tiny downloader that scrapes the web

optional arguments:
  -V, --version         Print version and exit
  -h, --help            Print this help message and exit

Dry-run options:
  (no actual downloading)

  -i, --info            Print extracted information
  -u, --url             Print extracted information with URLs
  --json                Print extracted URLs in JSON format

Download options:
  -n, --no-merge        Do not merge video parts
  --no-caption          Do not download captions (subtitles, lyrics, danmaku, ...)
  -f, --force           Force overwriting existing files
  --skip-existing-file-size-check
                        Skip existing file without checking file size
  -F STREAM_ID, --format STREAM_ID
                        Set video format to STREAM_ID
  -O FILE, --output-filename FILE
                        Set output filename
  -o DIR, --output-dir DIR
                        Set output directory
  -p PLAYER, --player PLAYER
                        Stream extracted URL to a PLAYER
  -c COOKIES_FILE, --cookies COOKIES_FILE
                        Load cookies.txt or cookies.sqlite
  -t SECONDS, --timeout SECONDS
                        Set socket timeout
  -d, --debug           Show traceback and other debug info
  -I FILE, --input-file FILE
                        Read non-playlist URLs from FILE
  -P PASSWORD, --password PASSWORD
                        Set video visit password to PASSWORD
  -l, --playlist        Prefer to download a playlist
  -a, --auto-rename     Auto rename same name different files
  -k, --insecure        ignore ssl errors

Proxy options:
  -x HOST:PORT, --http-proxy HOST:PORT
                        Use an HTTP proxy for downloading
  -y HOST:PORT, --extractor-proxy HOST:PORT
                        Use an HTTP proxy for extracting only
  --no-proxy            Never use a proxy
  -s HOST:PORT or USERNAME:PASSWORD@HOST:PORT, --socks-proxy HOST:PORT or USERNAME:PASSWORD@HOST:PORT
                        Use an SOCKS5 proxy for downloading

里面也包含了可用参数和命令。
其中比较重要的有:

选项 说明
-i 显示资源信息,比如说格式、清晰度、大小等
-u 指定下载或查看的url,有时候可以省略-u直接加上url
-o 设置输出文件夹,即保存路径,若不指定,则保存在当前工作目录
-O 设置文件名,可采用默认文件名
-f 强制覆盖已存在的文件
-l 优先下载整个列表
-P 使用密码(若访问视频需要密码)
-t 设置超时时间,单位是秒
-c 使用cookie,加载cookies.txt 或者cookies.sqlite

升级

通过以下命令行进行升级:

pip install --upgrade you-get

卸载

卸载的指令也和其他差不多:

pip uninstall you-get

视频下载

B站视频下载

需要使用 --info/-i 选项查看所有可用的质量和格式:
在命令行输入:

you-get -i '视频链接'

以B站视频为例:

 you-get -i 'https://www.bilibili.com/video/BV1iz4y1m7KF?spm_id_from=333.851.b_62696c695f7265706f72745f6469676974616c.46'

会得到如下界面:
you-get下载神器的安装和使用_第1张图片
里面包含了可以下载的视频的格式,在

  # download-with: you-get --format=flv [URL]

中有提示下载方法,以上面flv视频为例:

you-get --format=flv 'https://www.bilibili.com/video/BV1iz4y1m7KF?spm_id_from=333.851.b_62696c695f7265706f72745f6469676974616c.46'

you-get下载神器的安装和使用_第2张图片
在文件夹中查看,默认下载到主文件夹那里。
you-get下载神器的安装和使用_第3张图片
除了视频文件之外,还下载了300条B站弹幕。

设置下载文件的路径和名称

使用–output-dir/-o选项设置路径,并使用–output-filename/-O设置下载文件的名称,例:

you-get -o ~/Videos -O videos '视频链接'

在媒体播放器中流式传输在线视频

使用–player/-p选项将视频输入到您选择的媒体播放器中,例如mpv或vlc,而不用下载它:

you-get -p vlc '视频链接'

或者,如果您希望在浏览器中观看视频,而没有广告或评论部分:

you-get -p chromium '视频链接'

经过我自己的测试,利用ubuntu的火狐浏览器,有反应,打开了一个窗口但是报错了,可能和B站的策略有关吧。
you-get下载神器的安装和使用_第4张图片

音乐下载

经过实测以及官方表格,QQ音乐暂时下载不了。
以网易云音乐为例:
命令行输入:

you-get -i 'https://music.163.com/#/song?id=1804797118'

就可以得到具体信息:
在这里插入图片描述
由于只有一个版本,所以默认下载就行:

you-get  'https://music.163.com/#/song?id=1804797118'

得到:
you-get下载神器的安装和使用_第5张图片
同时下载了歌词和歌曲:
you-get下载神器的安装和使用_第6张图片

图片下载

从官方表格来看,支持图片下载的国内网站不是很多,只有B站、百度贴吧和快手。
直接以图片的地址为例:

you-get -i 'https://w.wallhaven.cc/full/72/wallhaven-7232p9.jpg'

得到信息,代表成功:
在这里插入图片描述
下载输入命令行:

you-get 'https://w.wallhaven.cc/full/72/wallhaven-7232p9.jpg'

即可下载完成。
在这里插入图片描述

自动搜索下载视频

可以将任何内容传递给you-get。如果该网址无效,you-get将进行Google搜索并为您下载最相关的视频。(这可能不完全是您希望看到的东西,但仍然很有可能。)
官网给出的例子是:

you-get "Richard Stallman eats"

但是我没有成功,不知道原因。

python代码批量下载

只需要把你要下载的视频放在urls列表里,path改成你要保存的地址,即可批量下载。

# !/usr/bin/env python
# -*-coding:utf-8-*-
import sys
import you_get
# urls_list  
urls = ['https://www.bilibili.com/video/BV1iz4y1m7KF?spm_id_from=333.851.b_62696c695f7265706f72745f6469676974616c.48',
        'https://www.bilibili.com/video/BV1qV411t7ma/?spm_id_from=333.788.recommend_more_video.2',
        'https://www.bilibili.com/video/BV1pv411e7Cd/?spm_id_from=333.788.recommend_more_video.5']

def download(url, path):
    sys.argv = ['you-get', '-o', path, url]
    you_get.main()


if __name__ == '__main__':
    # 视频输出的位置
    path = '/home/视频'
    for i in range(len(urls)):
        download(urls[i], path)

尽量用命令行运行,编译器不知道为啥报错,比如:

python youget.py

效果如下:you-get下载神器的安装和使用_第7张图片
you-get下载神器的安装和使用_第8张图片

结语

总之还是非常好用的。
以上就是全部分享了,官方链接如下:GitHub

你可能感兴趣的:(python,python,ffmpeg,you-get,视频下载,下载)