You-Get是一个很小的命令行程序,可以从网站下载媒体内容(视频,音频,图像)。具体的用处有:
可以直接通过命令行安装:
pip3 install you-get
或者通过镜像安装:
pip install you-get -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
即使您不经常使用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
需要使用 --info/-i 选项查看所有可用的质量和格式:
在命令行输入:
you-get -i '视频链接'
以B站视频为例:
you-get -i 'https://www.bilibili.com/video/BV1iz4y1m7KF?spm_id_from=333.851.b_62696c695f7265706f72745f6469676974616c.46'
# 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'
在文件夹中查看,默认下载到主文件夹那里。
除了视频文件之外,还下载了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站的策略有关吧。
经过实测以及官方表格,QQ音乐暂时下载不了。
以网易云音乐为例:
命令行输入:
you-get -i 'https://music.163.com/#/song?id=1804797118'
you-get 'https://music.163.com/#/song?id=1804797118'
从官方表格来看,支持图片下载的国内网站不是很多,只有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"
但是我没有成功,不知道原因。
只需要把你要下载的视频放在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
总之还是非常好用的。
以上就是全部分享了,官方链接如下:GitHub