↓↓↓欢迎关注我的公众号,在这里有数据相关技术经验的优质原创文章↓↓↓

you-get库是一个强大的视频网站下载工具,可以通过音视频网页的url链接直接下载包括视频,图片等媒体内容,从而解决一些网站视频无法下载的问题。you-get支持很多网站下载,如哔哩哔哩,网易,油管等
you-get库的Github主页为https://github.com/soimort/you-get,中文文档地址为:https://github.com/soimort/you-get/wiki/%E4%B8%AD%E6%96%87%E8%AF%B4%E6%98%8E,在这里你可以找到对应的源码和官方文档,上面有其支持的视频网站列表.
需要注意的是,you-get也可以用于其官方没有列出的网站的视频下载,但是无法保证速度和下载稳定性,建议对于其他的网站,使用aria2工具进行下载

安装

pip3 install you-get
#使用清华源下载
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple you-get

同时需要安装ffmpeg,用来下载流式视频以及合并分块视频(例如,类似Youku), 以及YouTube的1080p或更高分辨率。ffmpeg可以在对应官方主页https://www.ffmpeg.org/下载

使用

-i参数:解析给定地址下的视频信息

如果你在某个网址上找到了想要下载的视频,您可以使用 --info/-i 以查看所有可以下载画质与格式.在cmd中输入:

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]

需要注意一点,上述例子you_get的基本命令是在cmd中输入的命令行,如果我们使用IDE时需要使用os.system()方法来执行cmd命令

import os
os.system(you-get -i https://www.youtube.com/watch?v=jNQXAC9IVRw)

在下面的文章中我们给出的都是在在cmd中输入的命令行,如果需要在IDE中使用请对应修改代码。

下载视频

直接下载

在上述返回的视频信息中,标有[ DEFAULT ] ________为默认的下载文件,即视频类型为webm,画质为中等的那一个。如果需要下载这个视频可以直接使用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.

选择下载

如果需要下载其他格式或画质的视频,我们就可以根据视频信息列表中的itag进行选择,使用you-get --itag= +[URL]进行下载。例如我需要下载MP4格式的视频,上面利用-i参数返回的信息列表中对应的itag是18,对应下载语句为:

you-get --itag=18 'https://www.youtube.com/watch?v=jNQXAC9IVRw'

-o参数:指定下载文件名或路径

使用–output-dir/-o 设定路径, --output-filename/-O 设定输出文件名:

you-get -o ~/Videos -O zoo.webm 'https://www.youtube.com/watch?v=jNQXAC9IVRw'

下载其他内容

如你有URL,可以直接使用:

you-get https://stallman.org/rms.jpg
------------------------------------------
Site: stallman.org
Title: rms
Type: JPEG Image (image/jpeg)
Size: 0.06 MiB (66482 Bytes) Downloading rms.jpg ...
100.0% ( 0.1/0.1 MB) ├████████████████████████████████████████┤[1/1] 127 kB/s

或者, you-get将自动检查网页,下载一切有可能感兴趣的内容:

you-get http://kopasas.tumblr.com/post/69361932517
---------------------------------------
Site: Tumblr.com
Title: kopasas
Type: Unknown type (None)
Size: 0.51 MiB (536583 Bytes) Site: Tumblr.com
Title: tumblr_mxhg13jx4n1sftq6do1_1280
Type: Portable Network Graphics (image/png)
Size: 0.51 MiB (536583 Bytes) Downloading tumblr_mxhg13jx4n1sftq6do1_1280.png ...
100.0% ( 0.5/0.5 MB) ├████████████████████████████████████████┤[1/1] 22 MB/s

批量下载

有些网站中一个页面往往会有多个视频(例如哔哩哔哩的分P),这个时候只需要使用–playlist参数即可全部下载,语法为:you-get --playlist 视频网址

-u 参数:解析视频真实的地址(url)

使用 --url/-u 获得页面可下载内容的URL,复制此URL我们可以直接到迅雷,IDM中下载

you-get -u https://www.youtube.com/watch?v=jNQXAC9IVRw

-p参数:在线播放视频

如果我们想要在本地的视频软件中在线播放网页中的视频则只需在电脑上的本地视频播放器根目录下打开Cmd窗口,然后输入命令,指定视频播放器播放网页视频即可

#使用Potplayer播放器,对应打开程序为Potplayer.exe
$ you-get -p Potplayer.exe 'https://www.youtube.com/watch?v=jNQXAC9IVRw'

或者你想在浏览器中观看而不希望看广告或评论区:

you-get -p chromium 'https://www.youtube.com/watch?v=jNQXAC9IVRw'

-x参数:代理设置

使用 --http-proxy/-x为you-get设置HTTP代理:

you-get -x 127.0.0.1:8087 'https://www.youtube.com/watch?v=jNQXAC9IVRw'

you-get代码用法

和众多其他命令行工具一样,you-get同样支持在代码中直接使用

from you_get.extractors import *
download_urls([url], title, 'mp4', 0, './videos')

CMD乱码问题的解决方法

CMD窗口下输入:chcp 65001修改字符集为UTF-8,默认的中文编码是GBK
CMD窗口上方标题栏,属性–字体中,修改为TrueType ‘Lucida Console’

Python库积累之you-get库:网页视频与资源下载的更多相关文章

  1. Python+Selenium+webdriver环境搭建(windows)以及相关资源下载链接

    今天记录一下测试小菜鸟alter在测试入门的一点关于python+Selenium+webdriver环境搭建的经历以及资源分享.欢迎交流学习,批评指正. 一.Python的下载与安装 1.pytho ...

  2. Python网页解析库:用requests-html爬取网页

    Python网页解析库:用requests-html爬取网页 1. 开始 Python 中可以进行网页解析的库有很多,常见的有 BeautifulSoup 和 lxml 等.在网上玩爬虫的文章通常都是 ...

  3. (转)Python爬虫利器一之Requests库的用法

    官方文档 以下内容大多来自于官方文档,本文进行了一些修改和总结.要了解更多可以参考 官方文档 安装 利用 pip 安装 $ pip install requests 或者利用 easy_install ...

  4. python(4): regular expression正则表达式/re库/爬虫基础

    python 获取网络数据也很方便 抓取 requests 第三方库适合做中小型网络爬虫的开发, 大型的爬虫需要用到 scrapy 框架 解析 BeautifulSoup 库, re 模块 (一) r ...

  5. python 全栈开发,Day61(库的操作,表的操作,数据类型,数据类型(2),完整性约束)

    昨日内容回顾 一.回顾 定义:mysql就是一个基于socket编写的C / S架构的软件 包含: ---服务端软件 - socket服务端 - 本地文件操作 - 解析指令(mysql语句) ---客 ...

  6. python 库安装方法及常用库

    python 库安装方法及常用库 python库安装方法: 方法一:setpu.py 1.下载库压缩包,解压,记录下路径:*:/**/……/ 2.运行cmd,切换到*:/**/……/目录下 3.运行s ...

  7. Python爬虫利器一之Requests库的用法

    前言 之前我们用了 urllib 库,这个作为入门的工具还是不错的,对了解一些爬虫的基本理念,掌握爬虫爬取的流程有所帮助.入门之后,我们就需要学习一些更加高级的内容和工具来方便我们的爬取.那么这一节来 ...

  8. Python爬虫入门四之Urllib库的高级用法

    1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性. 首先,打开我们的浏览 ...

  9. 学习Python要知道哪些重要的库和工具

    本文转自:https://github.com/jobbole/awesome-python-cn 环境管理 管理 Python 版本和环境的工具 p:非常简单的交互式 python 版本管理工具. ...

  10. 转 Python爬虫入门四之Urllib库的高级用法

    静觅 » Python爬虫入门四之Urllib库的高级用法 1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我 ...

随机推荐

  1. 2025年Anaconda官网最新版本Anaconda下创建虚拟环境,并在新创建的虚拟环境下一次性安装多个软件包的经验总结

    一.为了使用tensorflow软件包中的tensorboard软件包工具,在python==3.12.8环境下创建虚拟环境pytorch,使用命令行如下.1.1 使用Anaconda prompt, ...

  2. 探秘Transformer系列之(26)--- KV Cache优化---分离or合并

    探秘Transformer系列之(26)--- KV Cache优化 之 PD分离or合并 目录 探秘Transformer系列之(26)--- KV Cache优化 之 PD分离or合并 0x00 ...

  3. 为什么 Spring 循环依赖需要三级缓存,二级不够吗?

    Spring循环依赖解决机制中引入了三级缓存,这是因为仅使用二级缓存无法灵活处理代理Bean的早期暴露需求.以下是为什么需要三级缓存的详细分析: 1. 二级缓存的局限性 二级缓存通常用于存储早期暴露的 ...

  4. thinkphphp 计算分页 和分页总数 和sql计算分页 php

    利用page计算分页 $p=input('p')?input('p'):1; $limit=6; $res=db('points_log')->where(['p_uid'=>$uid,' ...

  5. Fortify工具安装以及使用

    ​工具简介: Fortify是一款强大的静态代码扫描分析工具,其发现代码漏洞缺陷的能力十分强悍,主要是将代码经过编译,依托于其强大的内置规则库来发现漏洞的.Fortify 是一个静态的.白盒的软件源代 ...

  6. 17.8K star!完美超越宝塔的产品,像呼吸一样部署应用,这款开源神器绝了!

    嗨,大家好,我是小华同学,关注我们获得"最新.最全.最优质"开源项目和高效工作学习方法 Dokploy是一个强大的开源平台,旨在简化全栈 Web 应用的开发和部署.通过其直观的界面 ...

  7. 第三章 Spring Boot 整合 Kafka消息队列 消息者

    ​ 前言 Kafka 是一个消息队列产品,基于Topic partitions的设计,能达到非常高的消息发送处理性能.本文主是基于Spirng Boot封装了Apache 的Kafka-client, ...

  8. SVM回归

    SVM回归任务是限制间隔违规情况下,尽量防止更多的样本在"街道"上."街道"的宽度由超参数\(\epsilon\)控制 在随机生成的线性数据上,两个线性SVM回 ...

  9. JuiceFS v1.3-Beta1:一亿文件备份分钟级完成,性能优化全解析

    在最新发布的 JuiceFS v1.3 Beta1 版本中,我们引入了一种全新的二进制备份机制,旨在更高效地应对亿级文件规模下的备份与迁移场景.相比现有的 JSON 备份方式,该机制在导入导出元数据时 ...

  10. HDE演讲---RN应用的鸿蒙化适配经验分享

    .markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...