you-get是一个简单易上手的爬虫小工具,可以从网络中爬取多媒体信息,包括图片、音频和视频。you-get的github项目地址为:https://github.com/soimort/you-get
一、安装
以下为相关依赖,需要分别安装:
- Python 3 (必须)
- FFmpeg(必须)
- Libav (可选)
- RTMPDump (可选)
推荐使用PyPI镜像中的pip包管理器安装:
bash
pip3 install you-get
二、升级
如果需要升级,可使用以下命令:
bash
pip3 install --upgrade you-get
三、使用
1.视频画质与格式
直接输入you-get+空格+"网址"即可。
网址两端的双引号其实不必要,但是强烈推荐,这样防止某些网站的字符串中有奇奇怪怪的东西,导致you-get误判报错。
bash
$ you-get "https://www.youtube.com/watch?v=jNQXAC9IVRw"
site: YouTube
title: Me at the zoo
stream:
- itag: 43
container: webm
quality: medium
size: 0.5 MiB (564215 bytes)
# download-with: you-get --itag=43 [URL]
Downloading zoo.webm ...
100.0% ( 0.5/0.5 MB) ├████████████████████████████████████████┤[1/1] 7 MB/s
Saving Me at the zoo.en.srt ...Done.
此时下载的视频默认为最高画质,DEFAULT。如这个视频带有字幕,将被一同下载,并以SubRip格式保存。
如需下载其他画质,可以使用 --info/-i,以查看所有可用画质与格式,并使用给出的对应 --itag 代码下载:
bash
$ you-get -i "https://www.youtube.com/watch?v=jNQXAC9IVRw"
site: YouTube
title: Me at the zoo
streams: # Available quality and codecs
[ DEFAULT ] _________________________________
- itag: 43
container: webm
quality: medium
size: 0.5 MiB (564215 bytes)
# download-with: you-get --itag=43 [URL]
- itag: 18
container: mp4
quality: medium
# download-with: you-get --itag=18 [URL]
- itag: 5
container: flv
quality: small
# download-with: you-get --itag=5 [URL]
- itag: 36
container: 3gp
quality: small
# download-with: you-get --itag=36 [URL]
- itag: 17
container: 3gp
quality: small
# download-with: you-get --itag=17 [URL]
2.下载路径
默认下载路径即you-get的安装文件夹,但是很乱且不好找。
可以使用 --output-dir/-o 设定路径, --output-filename/-O 设定输出文件名:
bash
you-get -o D:\桌面\百度图片\视频 "https://www.bilibili.com/video/BV1p4411d7/"
四、常见Q&A
1.B站的视频下载报错
① 优先更新you-get,低版本的you-get有时不适用;
② 由于B站更新了链接点击流量统计,所以有时会报错。可以把B站的网站链接中所有BV号之后的内容全部删除,如:
bash
B站默认的链接:
https://www.bilibili.com/video/BV1jb411W7c3/?spm_id_from=333.337.search-card.all.click&vd_source=9a70128ce0e23fdc92b35d3a812c66d5
删除分享者ID跟踪后的链接:
https://www.bilibili.com/video/BV1jb411W7c3/?spm_id_from=333.337.search-card.all.click
删除点击统计,仅保留原视频BV号的链接:
https://www.bilibili.com/video/BV1jb411W7c3/
③ 记得用双引号把网址字符串括起来,防止you-get误判;
④ 有时候代理导致报错,把梯子关了。
2.'vd source'不是内部或外部命令,也不是可运行的程序 或批处理文件。
这个错误可能是由于you-get的安装位置没有添加到环境变量中导致的。
① 首先查找you-get的安装位置;
bash
pip show you-get
② 在返回的结果中找到Location,即安装位置;
bash
Name: you-get
Version: 0.4.1650
Summary: Dumb downloader that scrapes the web
Home-page: https://you-get.org/
Author: Mort Yao
Author-email: mort.yao@gmail.com
License: MIT
Location: c:\users\hp\appdata\roaming\python\python310\site-packages
Requires:
Required-by:
③ 将该路径添加到系统的环境变量中;
bash
etx PATH"%PATH%;c:\users\hp\appdata\roaming\python\python310\site-packages\scripts"
注意,%PATH%;和\scripts之间的路径,即为Location中给出的位置;
④ 此时再重新打开终端并运行you-get应该就不会报错了,如果还有报错,那大概率是被网址中的字符串干扰了,例如B站的链接就会有这种情况,这时用双引号把网站括起来即可。