当前位置: 首页 > news >正文

媒体资讯视频数据采集-yt-dlp-python实际使用-下载视频

对于视频二创等一些业务场景,可能要采集youtube等的相关媒体视频资源,使用[yt-dlp](https://github.com/yt-dlp/yt-dlp)是一个不错的选择,提供的命令比较丰富,场景比较全面

yt-dlp 是一个用 Python 编写的命令行工具,主要用于从视频网站下载视频和音频。它是 youtube-dl 的一个分支,提供了一些额外的功能和增强。翻译后的详细的说明: GitHub上的 yt-dlp 的 GitHub 页。

下面是一些简易的使用说明(需要有python环境,可以使用conda的python环境)

安装 yt-dlp

你可以通过 pip 安装 yt-dlp

pip install -U yt-dlp

或者,你也可以直接从 GitHub 克隆最新版本:

git clone https://github.com/yt-dlp/yt-dlp.git
cd yt-dlp
python -m pip install .

基本用法

  1. 下载视频
   yt-dlp <视频网址>

例如:

   yt-dlp https://www.youtube.com/watch?v=dQw4w9WgXcQ
  1. 下载音频

    如果你只想下载音频,可以使用 -x 选项:

   yt-dlp -x --audio-format mp3 <视频网址>
  1. 指定下载格式

    默认情况下,yt-dlp 会选择最佳视频/音频格式,但你可以手动指定:

   yt-dlp -f "bestvideo[height<=720]+bestaudio" <视频网址>
  1. 下载整个播放列表

    如果视频网址是一个播放列表,你可以直接下载整个列表:

   yt-dlp <播放列表网址>
  1. 设置输出文件名

    你可以使用 -o 选项来指定下载的文件名格式:

   yt-dlp -o "%(title)s.%(ext)s" <视频网址>

高级用法

  1. 代理设置

    如果你需要使用代理,可以使用 --proxy 选项:

   yt-dlp --proxy "socks5://user:pass@host:port" <视频网址>
  1. 下载进度条

    默认情况下,yt-dlp 会显示下载进度。如果你希望以简洁模式下载,使用 --no-progress

   yt-dlp --no-progress <视频网址>
  1. 下载字幕

    如果视频有字幕,你可以选择下载它们:

   yt-dlp --write-sub --sub-lang "zh-Hans" <视频网址>

帮助和选项

要查看所有可用选项和帮助信息,可以使用:

yt-dlp --help

python中使用

pip安装yt-dlp

pip install -U yt-dlp

如果是Linux服务器上使用yt-dlp,需要有FFmpeg的支持

Ubuntu 上

使用包管理器 APT

  1. 更新软件包列表:

    sudo apt update

  2. 安装 FFmpeg:

    sudo apt install ffmpeg

    安装完成后,您可以在终端中输入 ffmpeg -version 来验证安装是否成功。

本地能翻qian的情况下,只能小量的采集数据;不然会报错

在这里插入图片描述

如果是大批量的采集某个网站的视频数据,最好是部署到服务器上,并且使用代理, 没有代理,采集量大了会报错提示(海外代理能只能使用海外服务器

``

import yt_dlpdef download_youtube_video(url, output_path):"""下载youtube视频:param url: 视频url:param output_path: 视频保存路径:return:"""format = Noneif 'shorts' in url:# 采集横版视频format = 'bestvideo[width=720]+bestaudio/best[width=720]'else:# 采集竖版视频format = 'bestvideo[height=720]+bestaudio/best[height=720]'options = {'format': format,'merge_output_format': 'mp4','outtmpl': output_path,# 使用代理(大批量下载需要使用代理-静态代理IP就行,动态的不太靠谱,静态代理IP失效了就换一批)# 'proxy': ''}try:with yt_dlp.YoutubeDL(options) as ydl:ydl.download([url])except yt_dlp.utils.DownloadError as e:print(f'下载失败-{e}')if __name__ == '__main__':# 竖版视频video_url = "https://www.youtube.com/shorts/cjTvuE9yCMo"print(f'获取竖版视频-{video_url}')output_path = "cjTvuE9yCMo.mp4"download_youtube_video(video_url, output_path)# 横版视频video_url = "https://www.youtube.com/watch?v=wojgbTK4_jU"output_path = "wojgbTK4_jU.mp4"download_youtube_video(video_url, output_path)print(f'获取竖版视频-{video_url}')

在这里插入图片描述

相关文章:

媒体资讯视频数据采集-yt-dlp-python实际使用-下载视频

对于视频二创等一些业务场景&#xff0c;可能要采集youtube等的相关媒体视频资源&#xff0c;使用[yt-dlp](https://github.com/yt-dlp/yt-dlp)是一个不错的选择&#xff0c;提供的命令比较丰富&#xff0c;场景比较全面yt-dlp 是一个用 Python 编写的命令行工具&#xff0c;主…...

MySQL 8

MySQL 8.0 相对于 MySQL 5.x(特别是 MySQL 5.7)引入了许多重要的新特性和改进。下面是一些主要的变化和增强功能的概述,包括一些示例来帮助理解这些新功能。 1. JSON 数据类型增强 JSON 类型索引:现在可以为 JSON 列创建索引,从而提高查询性能。JSON 函数扩展:增加了更多…...

Android进阶之路 - app后台切回前台触发超时保护退出登录

我们经常会在银行、金融或者其他行业的app中看到用户长时间将app放置于后台&#xff0c;当再次唤醒app时就会提示用户已退出登录&#xff0c;需要重新登录&#xff0c;那么该篇主要就是用于处理这种场景的 针对于放置后台的超时保护属于进程级别&#xff0c;所以我们需要监听进…...

论文阅读笔记:Semi-supervised Semantic Segmentation with Error Localization Network

论文阅读笔记&#xff1a;Semi-supervised Semantic Segmentation with Error Localization Network 1 背景2 创新点3 方法4 模块4.1 使用标注数据训练ELN4.2 使用ELN进行半监督 5 效果5.1 与SOTA方法对比5.2 消融实验 论文&#xff1a;https://arxiv.org/pdf/2204.02078v3.pdf…...

Flink开发语言选择:Java vs Scala,哪种更适合你的项目?

欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;欢迎订阅相关专栏&#xff1a; 工&#x1f497;重&#x1f497;hao&#x1f497;&#xff1a;野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典&#xff1a;收集整理全网各大IT互联网公司技术、项目、HR面试真题.…...

轻空间成功完成陕西渭南砂石料场气膜仓项目

轻空间&#xff08;江苏&#xff09;膜结构科技有限公司凭借卓越的技术实力与丰富的项目经验&#xff0c;成功完成了陕西省渭南市砂石料场气膜仓的建设。这一项目的顺利交付&#xff0c;不仅满足了当地对高效仓储的需求&#xff0c;也为西北地区的仓储设施建设树立了标杆。 陕西…...

pikachu~文件下载漏洞

0x02文件下载 # 首先看到界面都是对图片的下载&#xff0c;然后我们需要对其中一张照片进行下载&#xff0c;查看它的文件地址可以发现 http://127.0.0.1/pikachu-master/vul/unsafedownload/execdownload.php?filenameai.png# 看到链接后发现我们可以修改我们想要传的的路径…...

MTK Android12 关机界面全屏展示

需求:关机和重启按钮点击后,去掉正在关机的动画和tips,改为一张图片实现。 修改点 修改点如下: 涉及到的修改文件 修改: \vendor\mediatek\proprietary\packages\apps\SystemUI\src\com\android\systemui\globalactionsGlobalActionsDialogLite.java新增: \vendor\media…...

初识云计算

随着科技的飞速发展&#xff0c;云计算作为一种新兴的信息技术架构&#xff0c;正在逐渐改变我们的工作方式和生活方式。 云计算是什么&#xff1f; 云计算是一种通过互联网提供计算资源和服务的计算模式。它通过互联网将计算和存储资源进行集中和共享&#xff0c;为用户提供…...

golang sync.Cond实现读写锁

直接上代码: package mainimport ("fmt""sync""time" )// RWLock 实现一个简单的读写锁 type RWLock struct {readerCount int // 当前正在读取的读者数量writerCount int // 当前正在写的写者数量mutex sync.Mutex // 保护…...

从通用到定制:营销Agent如何跨越数据鸿沟,实现对话SOP的个性化飞跃

从通用到定制:营销Agent如何跨越数据鸿沟,实现对话SOP的个性化飞跃 1.背景 营销 Agent 指的是在营销过程中洞察客户并作出决策以及行动的 AI 智能体,包括感知、理解、决策、交互、反馈多个模块。对话 SOP 是交互模块中非常重要的部分,如何在缺少数据的情况下快速实现千人…...

设计模式-单例设计模式

单例模式的设计和线程安全 单例模式是一种创建型设计模式&#xff0c;确保一个类只有一个实例&#xff0c;并提供一个全局访问点。实现单例模式时&#xff0c;线程安全性是一个重要考虑因素&#xff0c;特别是在多线程环境中。 1. C11 之前的线程安全实现 在 C11 之前&#…...

23_windows 使用sqlmap、kali使用sqlmap,SQL注入、sqlmap自动注入

sqlmap介绍 安装sqlmap 安装python环境 链接&#xff1a;https://pan.baidu.com/s/16QhhYCppSvuUikhKiOHNgg?pwd9LJY 提取码&#xff1a;9LJY C:\Users\leyilea> python // 测试python能不能用 >>> exit() // 退出 测试sqlmap是否可用 kali中运行sqlmap&#xff…...

WPF学习(12)-Image图像控件+GroupBox标题容器控件

Image图像控件 Image也算是独门独户的控件&#xff0c;因为它是直接继承于FrameworkElement基类。 Image控件就是图像显示控件。Image类能够加载显示的图片格式有.bmp、.gif、.ico、.jpg、.png、.wdp 和 .tiff。要注意的是&#xff0c;加载.gif动画图片时&#xff0c;仅显示第…...

【Linux】基础IO认知

文件 1、回顾C语言中的文件接口2、对文件的理解(阶段一)3、文件操作3、1、C的文件操作接口3、2、认识系统调用接口3、2、强化对fd文件描述符及周边知识的理解 1、回顾C语言中的文件接口 事实上&#xff0c;我们在C语言的学习中了解的文件并不是真正的文件。从语言角度来说&…...

7. Kubernetes核心资源之Service服务实战

**service分类 : ** **ClusterIP : ** 默认类型&#xff0c;自动分配一个【仅集群内部】可以访问的虚拟IP **NodePort : ** 对外访问应用使用&#xff0c;在ClusterIP基础上为Service在每台机器上绑定一个端口&#xff0c;就可以通过: ipNodePort来访问该服务 **LoadBalanc…...

《向量数据库指南》——企业采用非结构化数据的场景及其深远影响

引言 在当今数字化转型的浪潮中,企业数据的种类与规模正以前所未有的速度增长,其中非结构化数据作为信息时代的重要组成部分,其价值日益凸显。Lynn提出的关于企业最先采用非结构化数据的观察,引发了我们对这一领域深入探索的兴趣。Charles的见解则为我们揭示了非结构化数据…...

Linux内核编程(十二)热插拔

本文目录 一、知识点1. 热插拔概念2. 热插拔机制3. Netlink机制 二、内核发送uevent事件到用户空间1. kobject发送uevent事件2. udevadm命令查看★示例代码&#xff1a;★优化&#xff1a;完善kset_uevent_ops&#xff08;热插拔事件结构体&#xff09; 三、用户空间使用Netlin…...

七夕警示:探索社工库与网络搜索下的个人隐私泄露与保护策略

随着七夕节的脚步日益临近&#xff0c;空气中弥漫着浪漫与温馨的气息。这个充满爱意的节日&#xff0c;我们沉浸在与心爱之人共享甜蜜时光的同时&#xff0c;不应忽视网络安全和个人隐私保护的重要性。在数字化时代&#xff0c;个人信息泄露的风险无处不在&#xff0c;如何在享…...

Redis-哨兵监控(sentinel)

是什么 Docs 吹哨人巡查监控后台master主机是否故障&#xff0c;如果故障了根据投票数自动将某一个从库转换为新主库&#xff0c;继续对外服务 作用:无人值守运维 能干嘛 1.主从监控 监控主从redis的库是否运行正常 2.消息通知 哨兵可以将故障转移的结果发送给客户端 3.…...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;百货中心供应链管理系统被用户普遍使用&#xff0c;为方…...

day52 ResNet18 CBAM

在深度学习的旅程中&#xff0c;我们不断探索如何提升模型的性能。今天&#xff0c;我将分享我在 ResNet18 模型中插入 CBAM&#xff08;Convolutional Block Attention Module&#xff09;模块&#xff0c;并采用分阶段微调策略的实践过程。通过这个过程&#xff0c;我不仅提升…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法&#xff1a;原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件&#xff0c;如包含恶意代码、敏感数据或欺诈内容的文档&#xff0c;在企业协同办公环境中&#xff08;如Teams、Google Workspace&#xff09;尤为重要。结合大模型技术&…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章&#xff0c;二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑&#xff1a; &#x1f504; 一、起源与初创期&#xff1a;Swagger的诞生&#xff08;2010-2014&#xff09; 核心…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式&#xff0c;以r为参数&#xff1a; p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]&#xff1b; 此多项式的根为&#xff1a; 尽管看起来这个多项式是特殊的&#xff0c;其实一般的三次多项式都是可以通过线性变换化为这个形式…...

Unity UGUI Button事件流程

场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...

LangFlow技术架构分析

&#x1f527; LangFlow 的可视化技术栈 前端节点编辑器 底层框架&#xff1a;基于 &#xff08;一个现代化的 React 节点绘图库&#xff09; 功能&#xff1a; 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...

五子棋测试用例

一.项目背景 1.1 项目简介 传统棋类文化的推广 五子棋是一种古老的棋类游戏&#xff0c;有着深厚的文化底蕴。通过将五子棋制作成网页游戏&#xff0c;可以让更多的人了解和接触到这一传统棋类文化。无论是国内还是国外的玩家&#xff0c;都可以通过网页五子棋感受到东方棋类…...