【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,完美,成功解决问题,本文知识仅供学习交流,禁止用于非法用途!

目录
相关文章
|
5月前
|
数据库连接 数据库 Python
Python上下文管理器:告别资源泄露的优雅之道
Python上下文管理器:告别资源泄露的优雅之道
177 3
|
6月前
|
存储 监控 算法
淘宝买家秀 API开发实录Python(2025)
本文讲述了作者在电商开发领域,尤其是对接淘宝买家秀 API 接口过程中所经历的挑战与收获。从申请接入、签名验证、频率限制到数据处理和实时监控,作者分享了多个实战经验与代码示例,帮助开发者更高效地获取和处理买家秀数据,提升开发效率。
|
5月前
|
设计模式 人工智能 API
AI智能体开发实战:17种核心架构模式详解与Python代码实现
本文系统解析17种智能体架构设计模式,涵盖多智能体协作、思维树、反思优化与工具调用等核心范式,结合LangChain与LangGraph实现代码工作流,并通过真实案例验证效果,助力构建高效AI系统。
687 7
|
5月前
|
安全 数据库连接 Python
Python中的上下文管理器:优雅地管理资源
Python中的上下文管理器:优雅地管理资源
120 6
|
4月前
|
数据采集 自然语言处理 数据可视化
Python爬取B站视频评论区情感分析:从数据采集到价值挖掘
B站作为年轻人聚集地,评论蕴含丰富情感与趋势。本文详解如何用Python爬取评论,结合SnowNLP与jieba进行中文情感分析,并通过可视化挖掘用户情绪、消费意愿与内容反馈,助力精准运营与决策。
770 0
|
6月前
|
算法 程序员 API
电商程序猿开发实录:淘宝商品python(2)
本文分享了开发者在对接淘宝商品详情API过程中的真实经历,涵盖权限申请、签名验证、限流控制、数据解析及消息订阅等关键环节,提供了实用的Python代码示例,帮助开发者高效调用API,提升系统稳定性与数据处理能力。
|
UED Python
Python requests库下载文件时展示进度条的实现方法
以上就是使用Python `requests`库下载文件时展示进度条的一种实现方法,它不仅简洁易懂,而且在实际应用中非常实用。
591 1
|
Python
python下载文件的三种方法
python下载文件的三种方法
620 0
|
编解码 数据安全/隐私保护 Python
Python 连接FTP服务器并实现文件夹下载实例演示,python区分ftp目录下文件和文件夹方法,ftp目录下包含中文名问题处理
Python 连接FTP服务器并实现文件夹下载实例演示,python区分ftp目录下文件和文件夹方法,ftp目录下包含中文名问题处理
533 0
|
数据采集 Linux Python
Python 下载文件的多种方法
本文档介绍了 Python 下载文件的各种方式,从下载简单的小文件到用断点续传的方式下载大文件。
902 0
Python 下载文件的多种方法

推荐镜像

更多