【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈

简介: 【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈

【01】python开发之实例开发讲解-如何获取影视网站中经过保护后的视频-用python如何下载无法下载的视频资源含m3u8-python插件之dlp-举例几种-详解优雅草央千澈

慎重【严正声明】:

本文仅供python技术学习探讨,本文所研究内容只是从技术角度去考虑,研究技术学习交流能让技术提升,但是!!!!!!

本文不是提供关于非法下载视频的信息的手段。

使用未经授权的方式下载视频是侵犯版权的行为,不仅违反了相关法律法规,也可能对创作者造成损失。

如果您想观看某个视频,建议您通过合法渠道进行观看,例如在视频网站上购买或租赁该视频,或者向版权所有者请求授权,如果因为使用非法采集造成的法律问题后果自负,俗话说的好,python学的好,牢饭吃得早!!!不开玩笑!!请慎重对待此声明!

问题研究

通常我们遇到一些网站前端简单隐藏视频地址可以通过f12 审查元素-查看原视频地址,但是当我们遇到一些网站会隐藏到真实地址做法的网站就不行了,更复杂的就是m3u8链接是经过加密处理的视频那就更没办法了,以下研究仅供学习研究,严禁用于非法用途。

详细方案

在完成以下内容之前我们先得准备好工具,我们需要hbuilderx+python环境,这里hbuilder x需要python环境,因此我们需要先下载python并配置,那么已下载python的请看这篇先搜索引擎搜索看(不能发链接):

“python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈”

采用yt_dlp下载视频

扩展知识:
yt_dlp 是一个基于 youtube-dl 的 Python 项目,用于从各种在线视频平台下载视频、音频和字幕。与 youtube-dl 相比,yt_dlp 更加活跃,提供了更多的功能和改进。

本文以youtube为例,但是yt_dlp对大部分网站都是有效的,请须知。

ok,我这里展示都以hbuilder x编译器为显示,优雅草央千澈最习惯的就2款编译器,hbuilder x 和 idea (还买的官方正版)

配置好以后,我们开始第一种方式使用yt_dlp首先我们安装,执行前先创建好目录yycgather2025和对应文件,我这里取名youyacao_dlp.py


执行安装
pip install yt-dlp

Collecting yt-dlp
  Downloading yt_dlp-2024.12.23-py3-none-any.whl.metadata (172 kB)
Downloading yt_dlp-2024.12.23-py3-none-any.whl (3.2 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.2/3.2 MB 11.0 MB/s eta 0:00:00
Installing collected packages: yt-dlp
Successfully installed yt-dlp-2024.12.23

提示以上为成功,

接下来我们在youyacao_dlp.py文件中写入采集代码

import yt_dlp
# 下载视频的函数
def download_video(url, output_path):
    ydl_opts = {
        'outtmpl': output_path
    }
    with yt_dlp.YoutubeDL(ydl_opts) as ydl:
        ydl.download([url])
# 示例用法
video_url = '视频的URL'
output_file = '保存的路径.mp4'
download_video(video_url, output_file)

代码中,你需要替换 video_url 和 output_file 为你想要下载的视频地址和保存的文件路径。

ok 我们打开youtube测试一条连接,

我随机找了一条gta的游戏视频,我们将浏览地地址复制进代码中,保存

报错:

[youtube] Extracting URL: https://www.youtube.com/watch?v=WBZVM_YGbLU
[youtube] WBZVM_YGbLU: Downloading webpage
[youtube] WBZVM_YGbLU: Downloading ios player API JSON
[youtube] WBZVM_YGbLU: Downloading mweb player API JSON
ERROR: [youtube] WBZVM_YGbLU: Sign in to confirm you’re not a bot. Use --cookies-from-browser or --cookies for the authentication.
See  https://github.com/yt-dlp/yt-dlp/wiki/FAQ#how-do-i-pass-cookies-to-yt-dlp  for how to manually pass cookies. Also see  https:/
/github.com/yt-dlp/yt-dlp/wiki/Extractors#exporting-youtube-cookies  for tips on effectively exporting YouTube cookies
Traceback (most recent call last):
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\site-packages\yt_dlp\YoutubeDL.py", line 1634, in wrappe
r
    return func(self, *args, **kwargs)

提示我没有登录,不要慌

我们在浏览器需要安装一个扩展插件 EditThisCookie 基本上主流浏览器都有

导出 Cookies:

打开 刚才youtube的连接并且登录账户。

然后选择“导出”或“下载”Cookies。

保存 Cookies:将导出的 Cookies 保存到一个文件中,例如 youtubecookies.txt。

下一步执行

yt-dlp --cookies youtubecookies 视频地址

这样执行后,这样,yt-dlp 将使用你导出的 Cookies 来进行身份验证。

[youtube] WBZVM_YGbLU: Downloading webpage
[youtube] WBZVM_YGbLU: Downloading ios player API JSON
[youtube] WBZVM_YGbLU: Downloading mweb player API JSON
[youtube] WBZVM_YGbLU: Downloading m3u8 information
[youtube] WBZVM_YGbLU: Downloading m3u8 information
[info] WBZVM_YGbLU: Downloading 1 format(s): 300
[download] Destination: PUTIN UNDERSTIMATED NATO; Ukrainian Fighter Jets & Helicopters  Attack on Russian Army Weapons-GTA5 2025-01
-03 17_08 [WBZVM_YGbLU].mp4
ERROR: m3u8 download detected but ffmpeg could not be found. Please install
ERROR: Unable to download video: [WinError 2] 系统找不到指定的文件。: 'PUTIN UNDERSTIMATED NATO; Ukrainian Fighter Jets & Helicopte
rs  Attack on Russian Army Weapons-GTA5 2025-01-03 17_08 [WBZVM_YGbLU].mp4.part'

继续报错,根据报错我们是因为m3u8 download detected but ffmpeg could not be found. Please install意思是没有ffmep来处理m3u8视频,因此下载出错

下载ffmpg 这是官网地址
https://ffmpeg.org//download.html#build-windows

添加ffmpg的环境变量,首先我们放在d盘

把bin目录添加到环境变量。

检测是否成功安装,
执行
ffmpg -v

成功!

再次执行
yt-dlp --cookies youtubecookies 视频地址
成功

持续处理中

当处理完成,我们得到我们真正需要的视频

OK,完美,成功解决问题,本文知识仅供学习交流,禁止用于非法用途!

相关文章
|
13天前
|
IDE 测试技术 开发工具
10个必备Python调试技巧:从pdb到单元测试的开发效率提升指南
在Python开发中,调试是提升效率的关键技能。本文总结了10个实用的调试方法,涵盖内置调试器pdb、breakpoint()函数、断言机制、logging模块、列表推导式优化、IPython调试、警告机制、IDE调试工具、inspect模块和单元测试框架的应用。通过这些技巧,开发者可以更高效地定位和解决问题,提高代码质量。
108 8
10个必备Python调试技巧:从pdb到单元测试的开发效率提升指南
|
2天前
|
人工智能 编译器 Python
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
python已经安装有其他用途如何用hbuilerx配置环境-附带实例demo-python开发入门之hbuilderx编译器如何配置python环境—hbuilderx配置python环境优雅草央千澈
|
XML 算法 测试技术
【资源篇】Python那么火,你还不知道如何人门?
Python 是一种面向对象的解释型计算机程序设计语言。Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起 。
125 0
【资源篇】Python那么火,你还不知道如何人门?
|
1月前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
30天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
18天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
102 80
|
2月前
|
存储 索引 Python
Python编程数据结构的深入理解
深入理解 Python 中的数据结构是提高编程能力的重要途径。通过合理选择和使用数据结构,可以提高程序的效率和质量
152 59
|
7天前
|
Python
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
29 14
|
17天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
53 2