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

使用Python自动化收集和处理视频资源的教程

在这篇教程中,我们将介绍如何利用Python脚本自动化收集和处理视频资源。这篇文章将帮助您掌握基本的网络自动化技术,并使用相关库进行视频资源的获取和保存。以下是具体的实现步骤和代码示例。

环境准备

在开始之前,请确保您的工作环境中已经安装了以下Python库:

  • re
  • tqdm
  • requests
  • os

如果尚未安装,可以使用以下命令进行安装:

pip install tqdm requests

代码实现

我们将分步骤介绍如何实现这个脚本,包括以下几个部分:设置保存路径、提取视频链接、保存视频文件。

1. 设置保存路径

import ossave_path = r'D:\视频资源'
if not os.path.exists(save_path):os.makedirs(save_path)

首先,我们需要设置视频资源的保存路径,并确保该路径存在。如果路径不存在,将自动创建。

2. 提取视频链接

import re
import bagdef get_video_links(web, url):links = []video_link_pattern = re.compile(r'data-src="(.*?)"', re.S)web.get(url)source = web.page_sourcefor match in re.findall(video_link_pattern, source):links.append(match)return links, web.get_cookies()

在这部分代码中,我们使用正则表达式从网页源码中提取视频的链接。bag.Bag.web_gpu()是一个自定义的Web驱动实例,用于获取网页内容。

3. 保存视频文件

import requests
from tqdm import tqdmdef save_video_files(links, path, cookies_list):session = requests.Session()cookies_dict = {cookie['name']: cookie['value'] for cookie in cookies_list}session.cookies.update(cookies_dict)for link in tqdm(links[:2]):  # 限制处理数量headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36','Referer': link}response = session.get(link, headers=headers)with open(os.path.join(path, '视频_' + link.split('/')[-1]), 'wb') as file:file.write(response.content)

这部分代码实现了视频文件的保存功能。我们使用requests库发送HTTP请求,并将视频资源保存到本地。为了避免一次性处理过多视频,这里限制了处理数量。

4. 主函数

def main():save_path = r'D:\视频资源'if not os.path.exists(save_path):os.makedirs(save_path)base_url = r'https://stock.xinpianchang.com/footages/297979?from=searchtop'web = bag.Bag.web_gpu()links, cookies = get_video_links(web, base_url)save_video_files(links, save_path, cookies)web.close()if __name__ == '__main__':main()

在主函数中,我们调用了之前定义的各个函数,完成视频资源的提取和保存。

总结

通过这篇教程,您学会了如何使用Python脚本自动化收集和处理视频资源。在实际应用中,可以根据需要调整处理数量和保存路径等参数。希望这篇文章对您有所帮助!

如有任何疑问或建议,欢迎在评论区留言。

相关文章:

使用Python自动化收集和处理视频资源的教程

在这篇教程中,我们将介绍如何利用Python脚本自动化收集和处理视频资源。这篇文章将帮助您掌握基本的网络自动化技术,并使用相关库进行视频资源的获取和保存。以下是具体的实现步骤和代码示例。 环境准备 在开始之前,请确保您的工作环境中已…...

字节数组输出流转换为Base64方法记录

1. 今天在做字节数组转换Base64的时候遇到一个问题,转换成的Base64字符串自动换行,导致传输失败 关键代码: ByteArrayOutputStream out new ByteArrayOutputStream(); ............. BASE64Encoder encoder new BASE64Encoder(); Stri…...

在eclipse中导入idea项目步骤

一、可以把其它项目的.project&#xff0c; .classpath文件拷贝过来&#xff0c;修改相应的地方则可。 1、.project文件只需要修改<name>xxx</name>这个项目名称则可 2、.classpath文件通常不用改&#xff0c; 二、右击 项目名 >选择“Properties”>选择 Re…...

海思SS928/SD3403开发笔记4——u盘挂载

首先一定要将u盘格式化成fat32。 挂载 mkdir /mnt/usb mount /dev/sda1 /mnt/usb成功示意图&#xff1a; 取消挂载 umount /mnt/usb...

偏微分方程算法之抛物型方程差分格式编程示例六(混合边界条件下C-N格式)

目录 一、研究问题 二、C++代码 三、计算结果 一、研究问题 对于混合边界条件下的抛物型偏微分方程求解,我们使用Crank-Nicolson格式(C-N格式),边界条件采用中心差商,即...

【5G核心网】5G NWDAF(Network Data Analytics Function)网元功能介绍

博主未授权任何人或组织机构转载博主任何原创文章&#xff0c;感谢各位对原创的支持&#xff01; 博主链接 本人就职于国际知名终端厂商&#xff0c;负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作&#xff0c;目前牵头6G技术研究。 博客内容主要围绕…...

今日思考分享:全网爆火的山东车牌之歌原因是什么?

山东车牌之歌的爆火反映了一种潜在而又浅显的需求被满足的过程。 首先&#xff0c;这首歌击中了人们的“潜”需求。在日常出行中&#xff0c;我们确实会偶尔对看到的不同地区车牌产生好奇&#xff0c;但往往这种好奇心一闪而过&#xff0c;没有具体的途径去满足。而山东车牌之歌…...

Spring Boot 2.x + Mybatis Plus 多数据源配置

MP官方文档提供有多数据源配置方案&#xff0c;这里没有使用其方案&#xff0c;原因是项目不想引入过多依赖 提供一下官网的文档供各位选择多数据源支持 | MyBatis-Plus (baomidou.com) 配置文件 application.properties文件配置两个数据源信息&#xff0c;yaml文件自行修改…...

2、数据库模型图、er图

关系 user和administarators是多对一的关系 user和order是一对多的关系 shipped和order是多对一的关系 order和books是多对多的关系 leavewords和order是一对一的关系 stock和books是一对多的关系 Chens 数据库表示法——ER图 Crows Foot数据库表示法——数据库模型图 Navicat表…...

Docker的理解

Docker的理解 Docker为什么用Docker&#xff1f;1.提升系统资源利用率2.更快速的交付和部署3.高效的部署和扩容4.更简单的管理 Docker核心技术Docker镜像Docker容器Docker仓库 Docker实现原理Linux NamespaceCgroupUnion FS Docker的应用场景1.微服务架构2.持续集成3.快速部署和…...

通信协议总结

IIC 基本特点 同步&#xff0c;半双工 标准100KHz&#xff0c;最高400KHz&#xff08;IIC主要应用于低速设备&#xff09; 硬件组成 需外接上拉电阻 通信过程 空闲状态 SDA和SCL都处于高电平 开始信号S和终止信号P 在数据传输过程中&#xff0c;当SCL0时&#xff0c;SDA才…...

Pinia + 组合式写法 + 选项式写法

选项式&#xff1a; 1.定义Store import { defineStore } from pinia// option api 选项式 export const useAlterStore defineStore(alter, {state: () > {return {num: 1}},getters: { // 可以看做是计算属性doubleCount: (state) > state.num * 2},actions: {// 同…...

vCenter-vAPI-Endpoint service health shows as Yellow

- 问题摘要&#xff1a;vAPI-Endpoint service health shows as Yellow - 解决方案/工作方法&#xff1a; 使用命令重启vAPI Endpoint service后该服务运行正常。 service-control --stop vmware-vapi-endpoint service-control --start vmware-vapi-endpoint VMware KB&…...

2018年全国大学生数学建模竞赛A题高温服装设计(含word论文和源代码资源)

文章目录 一、部分题目二、部分论文三、部分Matlab源代码问题11 求解h1h22 已知h1h2求解温度分布 问题21 求解第二层最佳厚度 四、完整word版论文和源代码&#xff08;两种获取方式&#xff09; 一、部分题目 2018 年高教社杯全国大学生数学建模竞赛题目 A 题 高温作业专用服…...

UEFA EURO 2024 GERMANY

UEFA EURO 2024 GERMANY 画个流程图&#xff0c;哈哈...

Ueditor中集成135编辑器

一、背景 在资讯项目平台运营过程中&#xff0c;资讯需要排版&#xff0c;一般都是在135编辑器排好以后&#xff0c;复制到平台中UEditor编辑器中&#xff0c;所以&#xff0c;他们建议集成一下135哈 二、了解135编辑器 开始调研了解135编辑器&#xff0c;发现人家就支持集成…...

C++ type list 模板

C 实现一个type list 模板&#xff0c;在编译期计算。这个type list主要有构造&#xff0c;列表头类型&#xff0c;列表尾类型&#xff0c;concat操作&#xff0c;去除列表元素重复&#xff0c;获取指定元素&#xff0c;删除指定元素的操作。实现代码贴在下面&#xff1a; #pr…...

vscode刷LeetCode算法题环境配置

首先&#xff0c;下载nodejs 在vscode中安装LeetCode插件 安装好进行配置 选择leetcode-cn 填上刚才下载node.exe的路径 完成之后重启一下vscode 重启之后登陆LeetCode 完成之后就可以看到题目了 点击 code now 就可以开始刷题了...

OpenCV报错已解决:Vector析构异常OpencvAssert CrtlsValidHeapPointer

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 引入 在使用OpenCV进行图像处理时&#xff0c;我们可能会遇到Vector析构异常OpencvAssert CrtlsValidHeapPointer的问题。本文将…...

AudioLM音频生成模型

GPT-4o (OpenAI) AudioLM&#xff08;Audio Language Model&#xff09;是一种生成音频的深度学习模型。它可以通过学习语言模型的结构来生成连贯和高质量的音频信号。这类模型通常应用于语音合成、音乐生成和音频内容生成等领域。以下是一些与AudioLM相关的核心概念和技术细…...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引&#xff0c;可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度&#xff08;创建索引的主要原因&#xff09;。3. 可以加速表和表之间的连接&#xff0c;实现数据的参考完整性。4. 可以在查询过程中&#xff0c;…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略

本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装&#xff1b;只需暴露 19530&#xff08;gRPC&#xff09;与 9091&#xff08;HTTP/WebUI&#xff09;两个端口&#xff0c;即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行&#xff0c;YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID&#xff1a; YW3…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术&#xff0c;它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton)&#xff1a;由层级结构的骨头组成&#xff0c;类似于人体骨骼蒙皮 (Mesh Skinning)&#xff1a;将模型网格顶点绑定到骨骼上&#xff0c;使骨骼移动…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

#Uniapp篇:chrome调试unapp适配

chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器&#xff1a;Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP

编辑-虚拟网络编辑器-更改设置 选择桥接模式&#xff0c;然后找到相应的网卡&#xff08;可以查看自己本机的网络连接&#xff09; windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置&#xff0c;选择刚才配置的桥接模式 静态ip设置&#xff1a; 我用的ubuntu24桌…...

uniapp手机号一键登录保姆级教程(包含前端和后端)

目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号&#xff08;第三种&#xff09;后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...

【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看

文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...