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

目录
相关文章
|
1月前
|
人工智能 Python
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
54 7
|
24天前
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
93 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
4天前
|
API Python
python泛微e9接口开发
通过POST请求向指定IP的API注册设备以获取`secrit`和`spk`。请求需包含`appid`、`loginid`、`pwd`等头信息。响应中包含状态码、消息及`secrit`(注意拼写)、`secret`和`spk`字段。示例代码使用`curl`命令发送请求,成功后返回相关信息。
26 5
|
5月前
|
UED Python
Python requests库下载文件时展示进度条的实现方法
以上就是使用Python `requests`库下载文件时展示进度条的一种实现方法,它不仅简洁易懂,而且在实际应用中非常实用。
194 1
|
Python
python下载文件的三种方法
python下载文件的三种方法
249 0
|
编解码 数据安全/隐私保护 Python
Python 连接FTP服务器并实现文件夹下载实例演示,python区分ftp目录下文件和文件夹方法,ftp目录下包含中文名问题处理
Python 连接FTP服务器并实现文件夹下载实例演示,python区分ftp目录下文件和文件夹方法,ftp目录下包含中文名问题处理
277 0
|
数据采集 Linux Python
Python 下载文件的多种方法
本文档介绍了 Python 下载文件的各种方式,从下载简单的小文件到用断点续传的方式下载大文件。
788 0
|
2月前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
2月前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。