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

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. nodejs调用shell

    shelljs https://github.com/shelljs/shelljs 实例 var shell = require('shelljs'); if (!shell.which('git' ...

  2. Chrome 135 版本新特性

    Chrome 135 版本新特性 一.Chrome 135 版本浏览器更新 ** 1. 第三方托管账户注册迁移到 OIDC 授权码流程** Chrome 135 将账户注册的登录页面从营销网站迁移到动 ...

  3. JavaScript Library – Embla Carousel

    前言 2022 年 4 月,我写了一篇 Swiper 介绍. Swiper 是当时前端最多人使用的 Slider 库,没有之一,一骑绝尘. 但是!时过境迁,这两年已经有一匹神秘的黑马悄悄杀上来了. 它 ...

  4. 使用Python可视化磁场

    引言 随着科学技术的发展,物理学中的很多概念变得越来越复杂,但我们可以利用 Python 这一强大的工具,将一些抽象的物理现象变得更加直观易懂.今天,我们将以"磁场可视化"为主题, ...

  5. eolinker同一个自动化用例内执行不同端接口遇到的问题(主要是两套host环境共存的问题)解决方法

    特别注意:需要使用全局变量或者预处理前务必阅读本链接https://www.cnblogs.com/becks/p/13713278.html eolinker内同一套环境只能配置一个host地址,如 ...

  6. 探秘Transformer系列之(28)--- DeepSeek MLA

    探秘Transformer系列之(28)--- DeepSeek MLA 目录 探秘Transformer系列之(28)--- DeepSeek MLA 0x00 概述 0x01 原理 1.1 问题 ...

  7. 9.9K star!大模型原生即时通信机器人平台,这个开源项目让AI对话更智能!

    嗨,大家好,我是小华同学,关注我们获得"最新.最全.最优质"开源项目和高效工作学习方法 "高稳定.支持插件.多模态 - 大模型原生即时通信机器人平台" 项目亮点 ...

  8. 工具 | webshell-decryptor

    0x00 简介 webshell-decryptor是一款通过获取到的webshell流量.url.key来还原攻击者使用webshell所做操作的工具. 下载地址: webshell-decrypt ...

  9. 代码随想录第十八天 | Leecode 530. 二叉搜索树的最小绝对差、501. 二叉搜索树中的众数、236. 二叉树的最近公共祖先

    530. 二叉搜索树的最小绝对差 题目描述 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 . 差值是一个正数,其数值等于两值之差的绝对值. 示例 1: 输入:roo ...

  10. 【经验】Office|重装后,PPT 2016后失去平滑等功能(解决方式:使用Office Tools Plus重新安装另一版本)

    重装ppt 2016后没有平滑等功能,并且在淡入/淡出中的平滑播放的还是淡入/淡出.本文记录了解决方案. 如何下载带平滑功能的Office? 首先,不能从官网微软服务和订阅下载.因为官网的必须购买才能 ...