爬取m3u8视频

网址:https://www.bhlsm.com/cupfoxplay/609-3-1/

相关代码:

#采集网址:https://www.bhlsm.com/cupfoxplay/609-3-1/
#正常视频网站:完整视频内容
# pip install pycryptodomex
#流媒体文件:M3U8(把完整的视频内容,分割成N个视频片段,ts文件)
"""
第一次请求:获取m3u8文件链接  / 视频标题1.发送请求:- 请求网址:视频播放页面链接2.获取数据:- 服务器返回响应数据3.解析数据:- 提取么u3u8文件链接 / 视频标题
AES-128:1. key:密钥 enc.key https://v.gsuus.com/play/QBY0yWKa/enc.key
"""
import requests
#导入正则表达式模块
import re
#导入加密模块
from Cryptodome.Cipher import AES
#模拟浏览器
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'}
#请求网址
for page in range(1,4):url = f'https://www.bhlsm.com/cupfoxplay/609-3-{page}/'#发送请求response = requests.get(url=url,headers=headers)# print(response)html_data = response.text#解析数据,提取视频标题 -> re.findall('匹配数据','数据源')# re.findall('<h1 class="movie-list-title">(斗罗大陆1 第01集)在线播放</h1>')title = re.findall('<h1 class="movie-list-title">(.*?)在线播放</h1>',html_data)[0]#提取m3u8链接m3u8_url = re.findall('"url":"(.*?)","url_next":',html_data)[0].replace('\/','/')print(title,m3u8_url)#获取密钥(每一集的密钥不相同)# key_url = 'https://v.gsuus.com/play/QBY0yWKa/enc.key'key_url = f'https://v.gsuus.com/play/{m3u8_url.split("/")[-2]}/enc.key'key = requests.get(url=key_url,headers=headers).content#解码器ci = AES.new(key,AES.MODE_CBC)# print(html_data)# print(title)"""第二次请求:获取所有ts文件链接1.发送请求:- 请求网址:m3u8文件链接2.获取数据:- 服务器返回响应数据3.解析数据:- 提取  ts文件链接(230个视频片段)"""#发送请求 + 获取数据m3u8_data = requests.get(url=m3u8_url,headers=headers).text#解析数据,提取ts链接ts_list = re.findall(',\n(.*?)\n#',m3u8_data)""",https://gs.gszyi.com:999/hls/46/20230223/1034032/plist-00001.ts#"""# print(m3u8_data)#for循环遍历,提取列表里面元素# print(ts_list)for ts in ts_list:"""第三次请求:获取视频内容1.发送请求:- 请求网址:ts文件链接2.获取数据:- 获取视频内容3.保存数据:- 把所有视频派那段保存成一个完整的视频内容"""# print(ts)#发送请求ts链接+ 获取视频数据ts_content = requests.get(url=ts,headers=headers).content#进行解码content = ci.decrypt(ts_content)with open('video\\' + title + '.mp4',mode='ab') as f:f.write(content)print(ts)#break

爬取过程:

查找url:

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

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

相关文章

Python is not set from command line or npm configuration 报错解决

问题 在 npm install 的过程中提示 Python is not set from command line or npm configuration 的报错&#xff0c;相信不少朋友都遇到过&#xff0c;出现这个问题的原因是缺少 python 环境所导致的。 解决方法 1、安装 python 官网&#xff1a;https://www.python.org/dow…

Spring篇----第四篇

系列文章目录 文章目录 系列文章目录前言一、区分构造函数注入和 setter 注入二、spring 中有多少种 IOC 容器?三、区分 BeanFactory 和 ApplicationContext。四、列举 IoC 的一些好处。前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大…

# 浅析DPDK内存管理:Mempool

文章目录 前言Mempool工作机制Mempool数据结构rte_mempool_opsMempool操作接口rte_mempool_create&#xff1a;创建Mempoolrte_mempool_get&#xff1a;申请对象rte_mempool_put&#xff1a;释放对象 相关参考 前言 DPDK提供了一套内存池管理机制&#xff0c;以提供高效分配固…

XFF伪造 [MRCTF2020]PYWebsite1

打开题目 直接查看源码 看到一个./flag.php 访问一下 购买者的ip已经被记录&#xff0c;本地可以看到flag&#xff0c;那么使用xff或者client-ip伪造一下ip试试 bp抓包 加一个X-Forwarded-For头 得到flag

Three.js加载PLY文件

这是官方的例子 three.js webgl - PLY 我在Vue3中使用&#xff0c;测试了好久始终不显示点云数据。在网上查询后发现ply文件要放置在public目录下才行 <el-row><el-button type"primary" class"el-btn" click"IniThree1">PLY</…

Pytorch 自用 Scheduler 分享

✅作者简介&#xff1a;人工智能专业本科在读&#xff0c;喜欢计算机与编程&#xff0c;写博客记录自己的学习历程。 &#x1f34e;个人主页&#xff1a;小嗷犬的个人主页 &#x1f34a;个人网站&#xff1a;小嗷犬的技术小站 &#x1f96d;个人信条&#xff1a;为天地立心&…

智慧公厕与智慧驿站:城市未来公共厕所的革命性升级

在当今社会&#xff0c;智慧公厕已经成为城市建设中一个备受关注的话题。智慧公厕究竟是什么&#xff1f;它代表了未来式的公共厕所&#xff0c;在使用方式、服务方式、管理方式、协作方式上均是变革式的升级。随着科技的进步和城市化的发展&#xff0c;智慧公厕的未来发展趋势…

机器学习系列-生成模型和判别模型

文章目录 前言1.生成模型和判别模型2.常见的生成模型和判别模型3.判别式模型和生成式模型的优缺点 前言 监督学习模型可以分为生成模型(generative model)和判别模型(discriminative model) 1.生成模型和判别模型 判别模型由数据直接学习决策函数 f ( x ) f(x) f(x)或者条件…

windows前后端项目部署

装好windows虚拟机 1.远程连接 计算机右击属性&#xff0c;高级防火墙设置&#xff0c;远程连接服务允许 2.安装jdk,tomcat&#xff0c;解压工具 把安装包拖进去 双击安装解压软件 jdk安装 双击安装 配置环境变量&#xff08;复制jdk路径&#xff09; 计算机右击属性高级…

Vue packages version mismatch 报错解决

问题 npm run dev 运行项目的过程中&#xff0c;报错 Vue packages version mismatch 解决方法 根据报错不难看出是 vue 与 vue-template-compiler 版本产生了冲突&#xff0c;vue 与 vue-template-compiler 的版本是需要匹配的。所以解决的办法就是先修改其中一个的版本将 v…

vDPA测试环境搭建

要求&#xff1a; 运行 Linux 发行版的计算机。本指南使用 CentOS 9-stream&#xff0c;但对于其他 Linux 发行版&#xff0c;特别是对于 Red Hat Enterprise Linux 7&#xff0c;命令不应有重大变化。 具有 sudo 权限的用户 ~ 主目录中有 25 GB 的可用空间 至少 8GB 内存 …

抖音视频提取软件使用功能|抖音视频下载工具

我们的抖音视频提取软件是一款功能强大、易于操作的工具&#xff0c;旨在解决用户在获取抖音视频时需要逐个复制链接、下载的繁琐问题。我们的软件支持通过关键词搜索和分享链接两种方式获取抖音视频&#xff0c;方便用户快速找到自己感兴趣的内容。 主要功能模块&#xff1a;…