天天看点

you-get下载神器的安装和使用简介安装方法视频下载在媒体播放器中流式传输在线视频音乐下载图片下载自动搜索下载视频python代码批量下载结语

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:[email protected]:PORT, --socks-proxy HOST:PORT or USERNAME:[email protected]: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下载神器的安装和使用简介安装方法视频下载在媒体播放器中流式传输在线视频音乐下载图片下载自动搜索下载视频python代码批量下载结语

里面包含了可以下载的视频的格式,在

# 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下载神器的安装和使用简介安装方法视频下载在媒体播放器中流式传输在线视频音乐下载图片下载自动搜索下载视频python代码批量下载结语

在文件夹中查看,默认下载到主文件夹那里。

you-get下载神器的安装和使用简介安装方法视频下载在媒体播放器中流式传输在线视频音乐下载图片下载自动搜索下载视频python代码批量下载结语

除了视频文件之外,还下载了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下载神器的安装和使用简介安装方法视频下载在媒体播放器中流式传输在线视频音乐下载图片下载自动搜索下载视频python代码批量下载结语

音乐下载

经过实测以及官方表格,QQ音乐暂时下载不了。

以网易云音乐为例:

命令行输入:

就可以得到具体信息:

you-get下载神器的安装和使用简介安装方法视频下载在媒体播放器中流式传输在线视频音乐下载图片下载自动搜索下载视频python代码批量下载结语

由于只有一个版本,所以默认下载就行:

得到:

you-get下载神器的安装和使用简介安装方法视频下载在媒体播放器中流式传输在线视频音乐下载图片下载自动搜索下载视频python代码批量下载结语

同时下载了歌词和歌曲:

you-get下载神器的安装和使用简介安装方法视频下载在媒体播放器中流式传输在线视频音乐下载图片下载自动搜索下载视频python代码批量下载结语

图片下载

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

直接以图片的地址为例:

得到信息,代表成功:

you-get下载神器的安装和使用简介安装方法视频下载在媒体播放器中流式传输在线视频音乐下载图片下载自动搜索下载视频python代码批量下载结语

下载输入命令行:

即可下载完成。

you-get下载神器的安装和使用简介安装方法视频下载在媒体播放器中流式传输在线视频音乐下载图片下载自动搜索下载视频python代码批量下载结语

自动搜索下载视频

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

官网给出的例子是:

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

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下载神器的安装和使用简介安装方法视频下载在媒体播放器中流式传输在线视频音乐下载图片下载自动搜索下载视频python代码批量下载结语
you-get下载神器的安装和使用简介安装方法视频下载在媒体播放器中流式传输在线视频音乐下载图片下载自动搜索下载视频python代码批量下载结语

结语

总之还是非常好用的。

以上就是全部分享了,官方链接如下:GitHub