You-Get开源在线下载神器,搭配python更加丝滑(文中案例演示)

本文主要是介绍You-Get开源在线下载神器,搭配python更加丝滑(文中案例演示),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大家好,我是辰哥

今天给大家介绍一个号称可以下载全网视频、音频、图像的开源库

——you-get

you-get

这里说全网可能一点夸张,但如果实际上去使用you-get下载媒体文件(视频、音频、图像),对于主流的平台几乎都可以满足需求。

目前you-get支持下载的媒体文件平台80+(包括国内国外),像国内常用的各种主流视频平台(某站、某手、某音、某酷等)。

具体支持哪些平台,可以参考下方链接

https://github.com/soimort/you-get

安装you-get

you-get是python的一个库,因此通过pip方式直接进行安装

pip install you-get

使用you-get

you-get的使用很简单,一行命令就可以搞定

命令格式:

you-get  [媒体文件URL]

【备注】上方的命令是在终端中执行

下面以辰哥的一个视频进行举例:

you-get  https://www.bilibili.com/video/BV1Ef4y137ex

当前的终端中路径处于桌面,所以下载好的视频保存在桌面,其保存的格式为flv

命令:you-get  [媒体文件URL]

上面默认的命令下载好的视频是flv格式,此外you-get可以设置参数

具体参数以及用法如下:

-i 【解析视频信息】

-o【保存地址】

-u【解析视频真实地址】

 --json【视频的json信息】

参数-i用法:

you-get -i   https://www.bilibili.com/video/BV1Ef4y137ex

罗列出了该视频在下载保存时可以选择不同的格式,具体如下:

you-get --format=dash-flv https://www.bilibili.com/video/BV1Ef4y137ex

选择第一个(高清1080p的mp4格式)

参数-o用法:

you-get -o /Users/lyc https://www.bilibili.com/video/BV1Ef4y137ex

下载的视频保存到路径:/Users/lyc

参数-u用法:

you-get -u https://www.bilibili.com/video/BV1Ef4y137ex

解析视频的真实链接

参数--json用法:

you-get --json https://www.bilibili.com/video/BV1Ef4y137ex

解析视频的json信息(不同高清格式真实播放地址)

图片或音乐

同样的,音乐和图片也是一样的下载

命令:you-get  [媒体文件URL]

演示:

配合Python使用

为了实现批量下载或者与代码(Python)结合,you-get通常都是通过代码去使用,而非在终端。

下面教大家如何在在代码中去实现上面终端执行的效果

同样还是下载视频

from you_get import common
#视频链接
v_url = 'https://www.bilibili.com/video/BV1Ef4y137ex'
#保存格式
v_format = 'dash-flv'
#保存路径
save_dir = r'/Users/lyc/'
common.any_download(url=v_url,stream_id=v_format,info_only=False,output_dir=save_dir,merge=True)

通过代码去使用you-get就可以成功把视频下载保存到指定位置

扩展:

相信大家都了解过爬虫,甚至写过爬虫,you-get和爬虫结合,爬虫采集到视频链接(非真实链接)然后通过you-get进行下载

此外还有另外一种方法

import os
# #视频链接
v_url = 'https://www.bilibili.com/video/BV1Ef4y137ex'
# #保存格式
v_format = 'dash-flv'
# #保存路径
save_dir = r'/Users/lyc/'
tem_cmd = "you-get --format="+v_format+"  -o "+save_dir +" " +v_url
#you-get --format=dash-flv  -o /Users/lyc/ https://www.bilibili.com/video/BV1Ef4y137ex
result = os.system(tem_cmd );
print(result)

通过os.system可以执行终端命令

同样下载和终端效果一样

本文干货到此结束

有任何疑问小伙伴们欢迎下方留言讨论哈~

支持原创,给予动力

数据小白进阶之路,收藏已久的宝藏公众号推荐给你~~(文末有福利)

 

Python制作可视化大屏全流程!(代码分享)

 

python实现两台不同主机之间进行通信(客户端和服务端)——Socket

这篇关于You-Get开源在线下载神器,搭配python更加丝滑(文中案例演示)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/289980

相关文章

setsid 命令工作原理和使用案例介绍

《setsid命令工作原理和使用案例介绍》setsid命令在Linux中创建独立会话,使进程脱离终端运行,适用于守护进程和后台任务,通过重定向输出和确保权限,可有效管理长时间运行的进程,本文给大家介... 目录setsid 命令介绍和使用案例基本介绍基本语法主要特点命令参数使用案例1. 在后台运行命令2.

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

使用Python的requests库调用API接口的详细步骤

《使用Python的requests库调用API接口的详细步骤》使用Python的requests库调用API接口是开发中最常用的方式之一,它简化了HTTP请求的处理流程,以下是详细步骤和实战示例,涵... 目录一、准备工作:安装 requests 库二、基本调用流程(以 RESTful API 为例)1.

Python清空Word段落样式的三种方法

《Python清空Word段落样式的三种方法》:本文主要介绍如何用python-docx库清空Word段落样式,提供三种方法:设置为Normal样式、清除直接格式、创建新Normal样式,注意需重... 目录方法一:直接设置段落样式为"Normal"方法二:清除所有直接格式设置方法三:创建新的Normal样

Python调用LibreOffice处理自动化文档的完整指南

《Python调用LibreOffice处理自动化文档的完整指南》在数字化转型的浪潮中,文档处理自动化已成为提升效率的关键,LibreOffice作为开源办公软件的佼佼者,其命令行功能结合Python... 目录引言一、环境搭建:三步构建自动化基石1. 安装LibreOffice与python2. 验证安装

把Python列表中的元素移动到开头的三种方法

《把Python列表中的元素移动到开头的三种方法》在Python编程中,我们经常需要对列表(list)进行操作,有时,我们希望将列表中的某个元素移动到最前面,使其成为第一项,本文给大家介绍了把Pyth... 目录一、查找删除插入法1. 找到元素的索引2. 移除元素3. 插入到列表开头二、使用列表切片(Lis

Python按照24个实用大方向精选的上千种工具库汇总整理

《Python按照24个实用大方向精选的上千种工具库汇总整理》本文整理了Python生态中近千个库,涵盖数据处理、图像处理、网络开发、Web框架、人工智能、科学计算、GUI工具、测试框架、环境管理等多... 目录1、数据处理文本处理特殊文本处理html/XML 解析文件处理配置文件处理文档相关日志管理日期和

Python标准库datetime模块日期和时间数据类型解读

《Python标准库datetime模块日期和时间数据类型解读》文章介绍Python中datetime模块的date、time、datetime类,用于处理日期、时间及日期时间结合体,通过属性获取时间... 目录Datetime常用类日期date类型使用时间 time 类型使用日期和时间的结合体–日期时间(

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

Python yield与yield from的简单使用方式

《Pythonyield与yieldfrom的简单使用方式》生成器通过yield定义,可在处理I/O时暂停执行并返回部分结果,待其他任务完成后继续,yieldfrom用于将一个生成器的值传递给另一... 目录python yield与yield from的使用代码结构总结Python yield与yield