you-get是一个简单易上手的爬虫小工具,可以从网络中爬取多媒体信息,包括图片、音频和视频。you-get的github项目地址为:https://github.com/soimort/you-gethttps://github.com/soimort/you-get
一、安装
以下为相关依赖,需要分别安装:
- Python 3 (必须)
- FFmpeg(必须)
- Libav (可选)
- RTMPDump (可选)
推荐使用PyPI镜像中的pip包管理器安装:
pip3 install you-get
二、升级
如果需要升级,可使用以下命令:
pip3 install --upgrade you-get
三、使用
1.视频画质与格式
直接输入you-get+空格+"网址"即可。
网址两端的双引号其实不必要,但是强烈推荐,这样防止某些网站的字符串中有奇奇怪怪的东西,导致you-get误判报错。
$ 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 代码下载:
$ 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 设定输出文件名:
you-get -o D:\桌面\百度图片\视频 "https://www.bilibili.com/video/BV1p4411d7/"
3.cookie的使用
有些网站的视频文件是要登录才可以看到完整版本,如果直接下载可能只有试看的几分钟,或者直接报错无法下载。这时就需要在网站中加载账号cookie,才能继续进行。
(前排提示:在相应网站加载cookie的前提你首先得有这个网站的账号,没有就先注册再说别的。。。)
① 浏览器的cookies信息一般存储在C:\Users\AppData\Local\XXX\User Data\Default目录中,但并不是以单个文件的形式存储,而是SQLite数据库的形式。使用和修改起来并不方便,可以通过安装插件的方式将其导出为cookies.txt格式,以导入其他和使用场景。
② 以Google的Chrome浏览器为例,在Chrome的插件商店中搜索“Get cookies.txt”并安装,安装好后点击浏览器右上角的“扩展程序”即可看到每个页面对应的cookies,打开后选择Export即可导出cookies.txt的文件存储在本地目录。
③ 下载好的cookie是txt形式 ,输入txt的存放位置,能让you-get读取即可下载
you-get --cookies=[cookie的位置][空格][视频网址]
you-get --cookies=D:\cookies.sqlite https://v.youku.com/v_show/id_XNDc1OTk3NzQ2OA==.html?firsttime=0
四、常见Q&A
1.B站的视频下载报错
① 优先更新you-get,低版本的you-get有时不适用;
② 由于B站更新了链接点击流量统计,所以有时会报错。可以把B站的网站链接中所有BV号之后的内容全部删除,如:
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的安装位置;
pip show you-get
② 在返回的结果中找到Location,即安装位置;
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:
③ 将该路径添加到系统的环境变量中;
etx PATH"%PATH%;c:\users\hp\appdata\roaming\python\python310\site-packages\scripts"
注意,%PATH%;和\scripts之间的路径,即为Location中给出的位置;
④ 此时再重新打开终端并运行you-get应该就不会报错了,如果还有报错,那大概率是被网址中的字符串干扰了,例如B站的链接就会有这种情况,这时用双引号把网站括起来即可。