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

05、Python -- 爬取ts文件格式视频思路

目录

  • 第一步:爬取一段5秒视频
    • 找url
    • 代码
    • 结果
  • 第二步:下载整个视频的所有片段
    • 代码:
    • 结果:
  • 第三步:合成视频
    • 安装模块
    • 代码:
    • 结果
  • 简洁代码
    • 代码:
    • 结果:
  • 最终代码
    • 简洁前代码
    • 简洁后代码

思路:
1、爬取视频,但是每次只能爬取一段5秒的视频。
2、一个视频有很多秒,所以需要爬取很多片段的视频
3、把所有爬取下来的片段视频合成导出。

4、最后再简洁代码

第一步:爬取一段5秒视频

找url

首先,找到需要爬取的视频,选择如图,找到对应的URL。
在这里插入图片描述

代码

然后最简单的四行爬取代码
在这里插入图片描述

结果

爬取的结果如图,里面视频只有5秒
在这里插入图片描述

第二步:下载整个视频的所有片段

代码:

在这里插入图片描述

结果:

在这里插入图片描述
把该视频所有片段都下载下来了
在这里插入图片描述

第三步:合成视频

安装模块

命令:pip install moviepy -i https://mirrors.aliyun.com/pypi/simple/

在这里插入图片描述

代码:

在这里插入图片描述

结果

在这里插入图片描述

完整合成视频并下载下来
在这里插入图片描述

简洁代码

代码:

在这里插入图片描述

结果:

在这里插入图片描述
如图:每个视频只由4秒
在这里插入图片描述

在这里插入图片描述

最终代码

简洁前代码

这里我把原本存放视频的文件夹名由《视频》改成《视频片段》
在这里插入图片描述
所以这里的【视频】,后面写代码的时候也应该改成【视频片段】
在这里插入图片描述

# 导入模块
import requestsnumber = 0
# 循环下载视频片段
while True:format_num = '{:05d}'.format(number)# f'' --> 用于在字符串中添加执行表达式url = f'https://xxxxxxxxxx.{format_num}.ts?pkexxxxxxxxxxxxx'res = requests.get(url)# 遇到404,就跳出循环if res.status_code == 404:breakopen(f'视频片段/{format_num}.ts', 'wb').write(res.content)print(f'已经下载了 {format_num}.ts文件')number += 1print(f'一共下载了 {number} 个视频 , 准备合成,请稍等几分钟')# 合成
#从moviepy这个模块的子模块editor里面导入所有的功能
from moviepy.editor import *# 列表 把这些视频加载到程序中来,保存在一个列表中
clip_list = []
for i in range(number):format_num = '{:05d}'.format(i)clip = VideoFileClip(f'视频片段/{format_num}.ts')clip_list.append(clip)# 最终视频合成
lastVideo = concatenate_videoclips(clip_list)
# 视频下载写出地址
lastVideo.write_videofile('完整视频/最终视频.mp4')

简洁后代码

# 导入模块
import requests
#从moviepy这个模块的子模块editor里面导入所有的功能
from moviepy.editor import *
number = 0
# 列表, 用于把所有片段视频加载到程序中来,保存在一个列表中
clip_list = []
# 循环下载视频片段
while True:format_num = '{:05d}'.format(number)# f'' --> 用于在字符串中添加执行表达式url = f'https://xxxxxxxhevc_1.{format_num}.ts?pkexxxxxxxxxxxxxxxxxxxxxx'res = requests.get(url)# 遇到404,就跳出循环if res.status_code == 404:break# 视频片段 就是存放一段段视频的文件夹名open(f'视频片段/{format_num}.ts', 'wb').write(res.content)clip = VideoFileClip(f'视频片段/{format_num}.ts')clip_list.append(clip)print(f'已经下载了并且加载了 {format_num}.ts文件')number += 1
print(f'一共下载了 {number} 个视频 , 准备加载,请稍等几分钟')
# 最终视频合成
lastVideo = concatenate_videoclips(clip_list)
# 视频下载写出地址
lastVideo.write_videofile('完整视频/最终视频.mp4')

相关文章:

05、Python -- 爬取ts文件格式视频思路

目录 第一步:爬取一段5秒视频找url代码结果 第二步:下载整个视频的所有片段代码:结果: 第三步:合成视频安装模块代码:结果 简洁代码代码:结果: 最终代码简洁前代码简洁后代码 思路&a…...

【QT】其他常用控件2

新建项目 lineEdit 什么都不显示(linux password) password textEdit和plainTextEdit spinBox和doubleSpinBox timeEdit、dateEdit、dateTimeEdit label 显示图案,导入资源:【QT】资源文件导入_复制其他项目中的文件到qt项目中_St…...

django报错--Not Found The requested URL was not found on the server.

这个问题通常是由于服务器配置或代码错误导致的。以下是解决这个问题的一些建议和步骤: 首先,请确保你的URL拼写正确。确认URL中的路径和文件名都是正确的,并且没有任何拼写错误。如果你是从浏览器中复制粘贴URL,请确保没有任何额…...

VLOOKUP函数的使用方法

VLOOKUP是一个查找函数,给定一个查找的目标,它就能从指定的查找区域中查找返回想要查找到的值。它的基本语法为: VLOOKUP(查找目标,查找范围,返回值的列数,精确OR模糊查找)下面以一个实例来介绍…...

关于前端如何下载后端接口返回content-type为application/octet-stream的文件

关于前端如何下载后端接口返回response-type为application/octet-stream的文件 问题描述 后端接口定义为直接返回一个文件,如果带认证信息可以直接通过浏览器url下载,但是接口需要传headers认证信息,url上又不支持传相关信息 解决 前端…...

报错:SSL routines:ssl3_get_record:wrong version number

一、问题描述 前后端联调的时候,连接后端本地服务器,接口一直pending调不通,控制台还报以下错误: 立马随手搜索了一下解决方案,但是emmm,不符合前端的实际情况: 二、解决方法: 实际…...

Flask后端开发(一)-基础知识和前期准备

目录 1.背景介绍1.1. 项目背景1.2. 项目难点1.3. 项目环境 2. flask后端开发实现的功能3. flask部署和前后端对接3.1. flask运行配置和服务器部署3.2. flask前后端传参 4. 后端测试工具4.1. 工具介绍4.2. 工具使用 后记 1.背景介绍 1.1. 项目背景 就是前几个月临时接手了一个…...

基于SSM的幼儿园管理系统

基于SSM的幼儿园管理系统的设计与实现~ 开发语言:Java数据库:MySQL技术:SpringSpringMVCMyBatis工具:IDEA/Ecilpse、Navicat、Maven 系统展示 登录界面 管理员界面 摘要 基于SSM(Spring、Spring MVC、MyBatis&#…...

互联网Java工程师面试题·Spring篇·第三弹

目录 ​编辑 4、注解 4.1、什么是基于注解的容器配置 4.2、如何在 spring 中启动注解装配? 4.3、Component, Controller, Repository,Service 有何区别? 4.4、Required 注解有什么用? 4.5、Autowired 注解有什么用? 4.6、…...

前端(二十三)——轮询和长轮询

😫博主:小猫娃来啦 😫文章核心:实现客户端与服务器实时通信的技术手段 文章目录 前言轮询技术轮询的概念轮询的实现原理轮询的优缺点轮询的使用场景 长轮询技术长轮询的概念长轮询的实现原理长轮询的优缺点长轮询的使用场景 轮询与…...

uniapp把文件中的内复制到另一个文件中

使用的是Html 5的plus.io.resolveLocalFileSystemURL方法,文档:HTML5 API Reference var soursePath file:///storage/emulated/0/a/;//用于读取var removePath file:///storage/emulated/0/w/;//用于移除w这个文件夹var targetPath file:///storage/…...

什么是蓝桥杯?什么是蓝桥STEMA考试?

第十五届蓝桥大赛赛事安排? STEMA考试11月(考试时间11月26日) STEMA考试1月(2024年1月) STEMA考试3月(2024年3月) 第十五届蓝桥杯省赛(2024年4月待定) 第十五届蓝桥杯国赛(2024年5月待定) 注:以上时间具体以组委会官方发布为准。 01.蓝桥杯 蓝桥杯全国软件和…...

快递排序Java

快速排序是在工具类常用的排序算法,快速排序的思想主要是选定一个基准元素,然后找到基准元素的位置,然后再分别排序他左边的和他右边的,快速排序是不稳定的,时间复杂度位Nlog(N),最极端的情况就是一个反向排好顺序的数组&#xff…...

Spark简单回顾

星光下的赶路人star的个人主页 大鹏一日同风起,扶摇直上九万里 文章目录 1、Spark1.1 Spark入门1.1.1 Spark部署模式1.1.2 常用端口 1.2 SparkCore1.2.1 RDD不可变和五大属性1.2.2 RDD的弹性1.2.3 cache和Checkpoint的区别1.2.4 算子 1.3 SparkSQL1.4 内核1.4.1提交…...

DDD与微服务的千丝万缕

一、软件设计发展过程二、什么是DDD?2.1 战略设计2.2 战术设计2.3 名词扫盲1. 领域和子域2. 核心域、通用域和支撑域3. 通用语言4. 限界上下文5. 实体和值对象6. 聚合和聚合根 2.4 事件风暴2.5 领域事件 三、DDD与微服务3.1 DDD与微服务的关系3.2 基于DDD进行微服务…...

S32K324 UDS Bootloader开发-需求篇

文章目录 前言内存分配UDS诊断协议需求CAN ID及时间参数UDS诊断服务Bootloader诊断服务APP诊断服务 DID22服务的DID:2E服务的DID:Routine Control DID: 刷写流程预编程主编程后编程 总结 前言 之前做过一个STM32的UDS Bootloader,协议栈主要是NXP官网下…...

【前端设计模式】之调停者模式(中介者模式)

调停者模式是一种行为设计模式,它通过引入一个调停者对象来集中处理一组对象之间的交互。调停者模式的目标是减少对象之间的直接通信,从而降低耦合度,并且使代码更易于维护和扩展。 调停者模式特性 将对象之间的通信集中在一个调停者对象中…...

【MySQL架构篇】SQL执行流程与缓冲池

文章目录 1. SQL执行流程2. 数据库缓冲池(Buffer Pool)2.1 缓冲池概述2.2 缓冲池如何读取数据2.3 查看和设置缓冲池的大小2.4 多个Buffer Pool实例2.5 引申问题 1. SQL执行流程 查询缓存:因为查询效率往往不高,所以在MySQL8.0之后就抛弃了这个功能解析器…...

[support2022@cock.li].faust、[tsai.shen@mailfence.com].faust勒索病毒数据怎么处理|数据解密恢复

引言: 威胁网络安全的恶意软件不断涌现,而[support2022cock.li].faust勒索病毒则是其中的一员。这个网络黑暗角落的新星,以其数据绑架的方式,一度成为数据安全的威胁焦点。本文将探究[support2022cock.li].faust勒索病毒的运作方…...

力扣学习笔记——49. 字母异位词分组

49. 字母异位词分组 https://leetcode.cn/problems/group-anagrams/?envTypestudy-plan-v2&envIdtop-100-liked 给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。…...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...

python/java环境配置

环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...

FastAPI 教程:从入门到实践

FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...

测试markdown--肇兴

day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...

Redis数据倾斜问题解决

Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

微服务通信安全:深入解析mTLS的原理与实践

🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、引言:微服务时代的通信安全挑战 随着云原生和微服务架构的普及,服务间的通信安全成为系统设计的核心议题。传统的单体架构中&…...