python 爬虫 下载视频

测试 OK
II 在开发者工具里面 直接搜索m3u8 可以直接找相对应连接地址继续分析 这个m3u8 url地址是从哪里过来的 在什么地方有
III 我们想要视频数据 <m3u8连接> 在 网页源代码里面有获取整个视频内容 --》分为N个视频片段《ts文件》-->在m3u8连接里面--> 视频播放详情页面源代码里面二、代码实现步骤1.发送请求, 模拟浏览器对于视频播放详情页url发送请示https://www.acfun.cn/v/ac473438502.获取数据,获取服务器返回响应数据开发者工具里 response3.解析数据,提取我们想要的数据内容m3u8连接视觉标题4.发送请求。模拟浏览男友对于,m3u8连接 发送请求由第三步提取出来连接发送请求5.获取数据,获取服务器返回响应数据开发者工具里 response 对应所有ts文件连接6.解析数据,提取我们想要的数据内容所有ts文件连接7.保存数据,把所有视频片段内容保存下载,并且合成一个完整视频内容8.多页数据采集
#导入数据请求模块 要安装 在cmd里面 pip install requests
import requests
# 导入正则模块-->内置模块,不要安装
import re
# 导入json 模块 -->内置模块,不要安装
import json
#导入格式化输出模块 -->内置模块,不要安装
from pprint import pprint
#确定请求连接 <视频详情页>
reqUrl = "https://www.acfun.cn/v/ac47343850"
# 模拟请求头
# Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36
reqHeaders = {# 用户代理 表示浏览"user-agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36"
}
#发送请求
response = requests.get(url=reqUrl, headers=reqHeaders)
#<Response [200]>
#print(response)
#2.获取数据,获取服务器返回响应数据(网页源代码)
# 开发者工具里 response
#    response.text 获取响应文本数据<网页源代码>
#print(response.text)#3.解析数据,提取我们想要的数据内容
#  -m3u8链接
#  -视频标题
# 调用re模块里面的findall方法,去找到所有我们想要的数据内容
# re.findall('找什么数据','在什么地方找');
#title = re.findall('<title>"(.*?)"</title>',response.text);
# findall 返回的是一个列表
title = re.findall(r'<title >(.*?)</title>', response.text)[0]  # 非贪婪匹配避免截断:ml-citation{ref="3" data="citationList"}
title = title.replace('!','').replace('','').replace('-','').replace('AcFun弹幕视频网','').replace('认真你就输啦','')
#print("title: "+title)html_dta = re.findall('window.pageInfo = window.videoInfo = (.*?);',response.text)[0]
#print(html_dta);
# 转数据类型: 方便取值 --> 字典数据类型 键值对取值
json_data = json.loads(html_dta)
#print(json_data)#pprint(json_data)
#pprint(json_data['currentVideoInfo']['ksPlayJson'])
json_Str = json_data['currentVideoInfo']['ksPlayJson']
#print(json_Str)
#pprint(json.loads(json_Str))
m3u8_url = json.loads(json_Str)['adaptationSet'][0]['representation'][0]['backupUrl'][0]
#print(m3u8_url)
#print(json_data)
#pprint(json.loads(json_data))"""
4.发送请求。模拟浏览男友对于,m3u8连接 发送请求由第三步提取出来连接发送请求
5.获取数据,获取服务器返回响应数据开发者工具里 response 对应所有ts文件连接
"""
m3u8_data = requests.get(url=m3u8_url,headers=reqHeaders).text
#print(m3u8_data)# 提取我们想要的ts链接
# #EXTINF:5.000000,
m3u8_data = re.sub('#E.*','',m3u8_data).split()
#print(m3u8_data)
# for遍历,提取我们想要ts文件链接,把列表里面元素 一个一个提取出来count = len(m3u8_data)
print(count)
index = 0
for ts in m3u8_data:#print(ts)# https://ali-safety-video.acfun.cn/mediacloud/acfun/acfun_video/ts_url = 'https://ali-safety-video.acfun.cn/mediacloud/acfun/acfun_video/' + ts#print(ts_url)#7. 保存数据 --> 需要发送请求 + 获取数据, content 保存二进制数据,保存成文件时使用ts_content = requests.get(url=ts_url,headers=reqHeaders).contentwith open('video\\【温】最有活力的一集.mp4',mode='ab') as f:# 写入数据f.write(ts_content)print("index:"+ str(index) +","+ts_url)index = index + 1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/912298.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/912298.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

希尔伯特空间:无穷维度的几何世界

希尔伯特空间&#xff1a;无穷维度的几何世界 从量子物理到信号处理&#xff0c;希尔伯特空间为现代科学与工程提供了强大的数学框架 引言&#xff1a;无限维度的舞台 在数学和物理学的广阔领域中&#xff0c;希尔伯特空间扮演着至关重要的角色。这个完备的内积空间不仅推广了…

Transformer结构与代码实现详解

参考&#xff1a; Transformer模型详解&#xff08;图解最完整版&#xff09; - 知乎https://zhuanlan.zhihu.com/p/338817680GitHub - liaoyanqing666/transformer_pytorch: 完整的原版transformer程序&#xff0c;complete origin transformer programhttps://github.com/lia…

Adobe InDesign 2025

Adobe InDesign 2025(ID2025)桌面出版软件和在线发布工具,报刊杂志印刷排版设计软件。Adobe InDesign中文版主要用于传单设计,海报设计,明信片设计,电子书设计,排版,手册设计,数字杂志,iPad应用程序和在线交互文档。它是首款支持Unicode文本处理的主流DTP应用程序,率先使用新型…

Linux下获取指定时间内某个进程的平均CPU使用率

一、引言 通过pidstat工具可以测量某个进程在两个时间点之间的平均CPU利用率。 二、pidstat工具的安装 pidstat属于sysstat套件的一部分。以Ubuntu系统为例&#xff0c;执行下面命令下载安装sysstat套件&#xff1a; apt-get install sysstat 执行完后&#xff0c;终端执行p…

1.4 蜂鸟E203处理器NICE接口详解

一、NICE接口的概念 NICE&#xff08;Nuclei Instruction Co-unit Extension&#xff09;接口是蜂鸟E203处理器中用于扩展自定义指令的协处理器接口&#xff0c;基于RISC-V标准协处理器扩展机制设计。它允许用户在不修改处理器核流水线的情况下&#xff0c;通过外部硬件加速特…

Oracle 递归 + Decode + 分组函数实现复杂树形统计进阶(第二课)

在上篇文章基础上&#xff0c;我们进一步解决层级数据递归汇总问题 —— 让上级部门的统计结果自动包含所有下级部门数据&#xff08;含多级子部门&#xff09;&#xff0c;并新增请假天数大于 3 天的统计维度。通过递归 CTE、DECODE函数与分组函数的深度结合&#xff0c;实现真…

MySQL 数据类型全面指南:详细说明与关键注意事项

MySQL 数据类型全面指南&#xff1a;详细说明与关键注意事项 MySQL 提供了丰富的数据类型&#xff0c;合理选择对数据库性能、存储效率和数据准确性至关重要。以下是所有数据类型的详细说明及使用注意事项&#xff1a; 一、数值类型 整数类型 类型字节有符号范围无符号范围说…

leetcode437-路径总和III

leetcode 437 思路 利用前缀和hash map解答 前缀和在这里的含义是&#xff1a;从根节点到当前节点的路径上所有节点值的总和 我们使用一个 Map 数据结构来记录这些前缀和及其出现的次数 具体思路如下&#xff1a; 初始化&#xff1a;创建一个 Map &#xff0c;并将前缀和 …

UI前端与数字孪生融合探索新领域:智慧家居的可视化设计与实现

hello宝子们...我们是艾斯视觉擅长ui设计、前端开发、数字孪生、大数据、三维建模、三维动画10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩! 一、引言&#xff1a;智慧家居的数字化转型浪潮 在物联网与人工智能技术的推动下&#xff0c…

数据结构知识点总结--绪论

1.1 数据结构的基本概念 1.1.1 基本概念和术语 主要涉及概念有&#xff1a; 数据、数据元素、数据对象、数据类型、数据结构 #mermaid-svg-uyyvX6J6ofC9rFSB {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-uyyvX6…

pip install mathutils 安装 Blender 的 mathutils 模块时,编译失败了

你遇到的问题是因为你试图通过 pip install mathutils 安装 Blender 的 mathutils 模块时&#xff0c;编译失败了&#xff0c;主要原因是&#xff1a; 2018年 的老版本也不行 pip install mathutils2.79 ❌ 报错核心总结&#xff1a; 缺失头文件 BLI_path_util.h&#xff1a;…

编译安装交叉工具链 riscv-gnu-toolchain

参考链接&#xff1a; https://zhuanlan.zhihu.com/p/258394849 1&#xff0c;下载源码 git clone https://gitee.com/mirrors/riscv-gnu-toolchain 2&#xff0c;进入目录 cd riscv-gnu-toolchain 3&#xff0c;去掉qemu git rm qemu 4&#xff0c;初始化 git submodule…

复制 生成二维码

一、安装插件 1、复制 npm install -g copy-to-clipboard import copy from copy-to-clipboard; 2、生成二维码 & 下载 npm install -g qrcode import QRCode from qrcode.react; 二、功能&#xff1a;生成二维码 & 下载 效果图 1、常规使用&#xff08;下载图片模糊…

自由职业的经营视角

“领导力的核心是帮助他人看到自己看不到的东西。” — 彼得圣吉 最近与一些自由职业者的交流中&#xff0c;发现很多专业人士都会从专业视角来做交流&#xff0c;这也让我更加理解我们海外战略顾问庄老师在每月辅导时的提醒——经营者视角和专业人士视角的不同。这不仅让大家获…

MR30分布式 IO在物流堆垛机的应用

在现代物流行业蓬勃发展的浪潮中&#xff0c;物流堆垛机作为自动化仓储系统的核心设备&#xff0c;承担着货物的高效存取与搬运任务。它凭借自动化操作、高精度定位等优势&#xff0c;极大地提升了仓储空间利用率和货物周转效率。然而&#xff0c;随着物流行业的高速发展&#…

告别固定密钥!在单一账户下用 Cognito 实现 AWS CLI 的 MFA 单点登录

大家好&#xff0c;很多朋友&#xff0c;特别是通过合作伙伴或服务商使用 AWS 的同学&#xff0c;可能会发现自己的 IAM Identity Center 功能受限&#xff0c;无法像在组织管理账户里那样轻松配置 CLI 的 SSO (aws configure sso)。那么&#xff0c;我们就要放弃治疗&#xff…

未来机器视觉软件将更注重成本控制,边缘性能,鲁棒性、多平台支持、模块优化与性能提升,最新版本opencv-4.11.0更新了什么

OpenCV 4.11.0 作为 4.10.0 的后续版本,虽然没有在提供的搜索结果中直接列出详细更新内容,但结合 OpenCV 4.10.0 的重大改进方向(发布于 2024 年 6 月),可以合理推断 4.11.0 版本可能延续了对多平台支持、模块优化和性能提升的强化。以下是基于 OpenCV 近期更新模式的推测…

小程序入门:数据请求全解析

在微信小程序开发中&#xff0c;数据请求是实现丰富功能的关键环节。本文将带你深入了解小程序数据请求的相关知识&#xff0c;包括请求限制、配置方法以及不同请求方式的实现&#xff0c;还会介绍如何在页面加载时自动请求数据&#xff0c;同时附上详细代码示例&#xff0c;让…

开源版gpt4o 多模态MiniGPT-4 实现原理详解

MiniGPT-4是开源的GPT-4的平民版。本文用带你快速掌握多模态大模型MiniGPT-4的模型架构、训练秘诀、实战亮点与改进方向。 1 模型架构全景&#xff1a;三层协同 &#x1f4ca; 模型底部实际输入图像&#xff0c;经 ViT Q-Former 编码。蓝色方块 (视觉编码器)&#xff1a;左侧…

Flutter基础(控制器)

第1步&#xff1a;找个遥控器&#xff08;创建控制器&#xff09;​ // 就像买新遥控器要装电池 TextEditingController myController TextEditingController(); ​​第2步&#xff1a;连上你的玩具&#xff08;绑定到组件&#xff09;​​ TextField(controller: myContro…