Python采集某网站m3u8内容,美女我来了~

news2025/1/11 14:27:34

前言

嗨喽,大家好呀~这里是爱看美女的茜茜呐

又到了学Python时刻~


环境使用:

  • Python 3.8

  • Pycharm


模块使用:

  • import requests >>> pip install requests

  • import re 正则表达式 解析数据

  • import json

安装python第三方模块:

  1. win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests) 回车

  2. 在pycharm中点击Terminal(终端) 输入安装命令


基本思路流程: <通用>

一. 数据来源分析:

  1. 明确需求:

    采集是什么网站

    采集是什么数据

    • shipin内容

    • shipin标题

  2. 分析我们想要的数据内容, 是请求那个url地址可以得到的

    • 通过开发者工具进行抓包分析

      1. 打开开发者工具: F12 或者 鼠标右键点击检查选择network

      2. 刷新网页

      3. 分析shipin内容在哪里?

shipin内容: m3u8视频格式

正常shipin: 2分09秒 整体

m3u8: 把整体内容, 分成N个片段 <单独ts文件>, 所有片段 <ts文件> 包含在 m3u8 文件里面

获取内容 —> 获取所有ts文件<片段> —> 获取 m3u8 文件链接 —> 网页源代码里面

二. 代码实现步骤:

  1. 发送请求, 模拟浏览器对于url地址发送请求

  2. 获取数据, 获取网页源代码

  3. 解析数据, 提取我们想要的数据内容

    • 标题

    • m3u8 文件链接

  4. 发送请求, 模拟浏览器对于url地址发送请求

    m3u8 文件链接 发送请求

  5. 获取数据, 获取ts文件内容

  6. 解析数据, 提取我们想要的数据内容

    所有ts文件链接 <视频片段>

  7. 保存数据, 所有片段保存下来, 然后合并成完整内容


代码展示

导入模块

# 导入数据请求模块 --> 第三方模块, 需要安装 pip install requests
import requests
# 导入正则模块 --> 内置模块 不需要安装
import re
# 导入json模块 --> 内置模块 不需要安装
import json
# 导入格式化输出模块 --> 内置模块 不需要安装
from pprint import pprint

“”"

1. 发送请求, 模拟浏览器对于url地址发送请求

  • 伪装模拟 headers 请求头

在开发者工具里面进行复制粘贴

“”"

请求链接

PS:本篇完整源码如有需要的小伙伴可以加下方的群去找管理员免费领取

伪装模拟

headers = {
    # user-agent 用户代理, 表示浏览器基本身份信息
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
}

发送请求

调用requests模块里面get请求方法, 对于url地址发送请求, 并且携带上headers请求头伪装, 最后用自定义变量response接收返回数据

response = requests.get(url=url, headers=headers)

<Response [200]> 响应对象, 请求成功了

print(response)

“”"

2. 获取数据, 获取网页源代码

response.text 获取响应文本数据

3. 解析数据, 提取我们想要的数据内容

  • 视频标题

  • m3u8 文件链接

正则表达式 re

  • re.findall(‘匹配什么数据’, ‘从什么地方匹配’) 找到所有我们想要的数据内容

“”"

提取视频标题

title = re.findall('"title":"(.*?)",', response.text)[1]

提取m3u8文件链接

html_data = re.findall('window.pageInfo = window.videoInfo = (.*?);', response.text)[0]

转成字典数据类型 type() 内置函数, 查看数据类型

json_data = json.loads(html_data)

键值对取值 --> 根据冒号左边的内容[键], 提取冒号右边的内容[值]

m3u8_url = json.loads(json_data['currentVideoInfo']['ksPlayJson'])['adaptationSet'][0]['representation'][0]['backupUrl'][0]
print(title)
print(m3u8_url)

“”"

4. 发送请求, 模拟浏览器对于url地址发送请求

m3u8 文件链接 发送请求

5. 获取数据, 获取ts文件内容

6. 解析数据, 提取我们想要的数据内容

所有ts文件链接 <视频片段>

  • 提取所有ts文件

  • 删除掉所有我们不要的

“”"

m3u8_data = requests.get(url=m3u8_url, headers=headers).text

把什么内容,替换成什么,从什么地方替换 split() 分割成列表

m3u8_data = re.sub('#E.*', '', m3u8_data).split()

for循环遍历, 把列表里面元素一个一个提取出来

for ts in m3u8_data:

字符串拼接, 构建完整

“”"

7. 保存数据, 所有视频片段保存下来, 然后合并成完整视频内容

  • 发送请求, 获取数据内容

  • 然后再进行保存

“”"

    ts_content = requests.get(url=ts_url, headers=headers).content
    with open('video\\' + title + '.mp4', mode='ab') as f:
        f.write(ts_content)
    print(ts_url)

效果展示




尾语

感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

最后,博主要一下你们的三连呀(点赞、评论、收藏),不要钱的还是可以搞一搞的嘛~

不知道评论啥的,即使扣个6666也是对博主的鼓舞吖 💞 感谢 💐

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

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

相关文章

不止一面的百变 ACE

这个时代&#xff0c;可谓是云原生的黄金时代。 站在这个云原生的风口&#xff0c;年轻一代的开发者如何看待自己所处的环境&#xff1f;他们眼中的云原生未来是什么样&#xff1f; 今天我们就将走近一位年轻的“云原生原住民”&#xff0c;听听他作为开发者的成长经历。 War…

【python3】9.python高阶内容(上)_基础

9.python高阶内容&#xff08;上&#xff09;_基础 2022.12.27 python高阶内容&#xff08;上&#xff09;_基础9.1 字符串的高阶玩法 9.1.1 %百分号模式 %d:整数%i:整数%s:字符%f:小数 【方式1】&#xff1a;前面用格式占位&#xff0c;后面用具体的内容 name "莫烦…

Android设计模式详解之访问者模式

前言 访问者模式是一种将数据操作与数据结构分离的设计模式&#xff1b; 定义&#xff1a;封装一些作用于某种数据结构中的各元素的操作&#xff0c;它可以在不改变这个数据结构的前提下定义作用于这些元素的新的操作&#xff1b; 使用场景&#xff1a; 对象结构比较稳定&a…

大厂与小厂招人的区别,看完多少有点不敢相信

前两天在头条发了一条招人的感慨&#xff0c;关于大厂招人和小公司招人的区别。 大厂&#xff1a;有影响力&#xff0c;有钱&#xff0c;能够吸引了大量的应聘者。因此&#xff0c;也就有了筛选的资格&#xff0c;比如必须985名校毕业&#xff0c;必须35岁以下&#xff0c;不能…

基于DoIP使用CANoe对ECU进行诊断测试

伴随以太网引入到车载网络中,本文分享通过常用工具CANoe怎么样对ECU进行通信以及测试。 相比在车载CAN总线,以太网又有什么与众不同之处? 1、硬件接口卡(收发器) 以往车载CAN网络较常使用的是VN 16XX 系列,在连接ECU进行通信时,除了配置波特率也要进行通道分配: 而…

7个学习UI、UX设计一定要经历的步骤

我们不是一些有才华的设计师。我们天生就有艺术天赋。后天我们学会了设计技巧。设计的根本目的是解决问题。设计是不断发现和解决问题。 有许多设计领域&#xff1a;UI、UX.产品设计师.平面设计师.交互设计师.信息架构师等&#xff0c;所以要找出你最感兴趣的设计专业。 现在让…

美颜sdk动态贴纸技术、代码分析

目前&#xff0c;美颜sdk动态贴纸已经成了各大直播平台主播的必备“直播伴侣”&#xff0c;在其他的视频拍摄场景动态贴纸的热度同样很高&#xff0c;本篇文章小编将为大家深度盘点一下美颜sdk动态贴纸的技术实现以及代码。 一、多终端适配 对于如今的直播平台终端来说&#x…

CAPL学习之路-测试功能集函数(测试结构化)

用户可以使用如下函数在测试报告中对每一条测试用例设置结构化的输出内容 TestCaseDescription 添加测试用例的描述文本 此函数用于测试用例中,描述文本会添加在固定区域(测试用例title的下方)。多次调用该函数,描述文本会合并显示在固定区域。如果想让描述文本换行,可以…

爆火的Web3.0背后,百度营销如何抓住流量密码?

出品| 大力财经 文 | 魏力 AI、元宇宙、Web3.0、AIGC等新技术、新概念的加持&#xff0c;给传统的流量营销平台带来了前所未有的挑战。尤其是短视频时代的崛起&#xff0c;用户的使用习惯开始改变&#xff0c;完全改变了流量的逻辑和习惯。 从搜索引擎业务起家的百度&#x…

DoIP---车载以太网诊断方面边缘节点的路由策略分析

假期后开工第一天&#xff0c;规划好自己一天需要做的事情&#xff0c;按部就班完成每日任务&#xff0c;做好每日总结。 自己一天一个脚印&#xff0c;这不是鸡血&#xff0c;这是工作态度&#xff01;&#xff01;&#xff01; 惯例分享一段喜欢的文字&#xff1a; 每个人…

目标检测之FCOS算法分析

网络结构 (图片来自原论文&#xff1a;FCOS: Fully Convolutional One-Stage Object Detection) 在ResNet50 Backbone中&#xff0c;C3,C4,C5C3,C4,C5C3,C4,C5是卷积特征图&#xff1b; 在FPN结构中&#xff0c;P3,P4,P5,P6,P7P3,P4,P5,P6,P7P3,P4,P5,P6,P7是最后用于预测的特…

2023跨境出海指南:泰国网红营销白皮书

作为东南亚第二大经济体&#xff0c;泰国一直是旅游和企业出海的热门之地。随着电商经济和互联网的发展&#xff0c;加上疫情的催化&#xff0c;泰国的社交媒体行业也得到了飞速发展&#xff0c;已经成为了主流营销方式之一。本文Nox聚星就从网红营销的角度&#xff0c;和大家探…

代码随想录-46-226.翻转二叉树

目录前言题目1.使用队列思路&#xff08;定义变量&#xff09;2. 本题思路分析&#xff1a;3. 算法实现4. pop函数的算法复杂度5. 算法坑点前言 在本科毕设结束后&#xff0c;我开始刷卡哥的“代码随想录”&#xff0c;每天一节。自己的总结笔记均会放在“算法刷题-代码随想录…

浅谈一下个人基于IRIS后端业务开发框架的理解

文章目录浅谈一下个人基于IRIS后端业务开发框架的理解现状方案具体实现BaseBizDataFilterSqlImp、RefApiUtil总结浅谈一下个人基于IRIS后端业务开发框架的理解现状由于国内使用基于M语言IRIS平台几乎都在医疗行业。医疗系统又非常的庞大和复杂。前期由于快速占领市场&#xff0…

珠城科技在创业板上市:IPO首日跌破发行价,市值相对蒸发约7亿元

12月26日&#xff0c;浙江珠城科技股份有限公司&#xff08;下称“珠城科技”&#xff0c;SZ:301280&#xff09;在深圳证券交易所创业板上市。本次上市&#xff0c;珠城科技的发行价格为67.40元/股&#xff0c;发行数量为1628.34万股&#xff0c;募资总额约为10.98亿元&#x…

java线程

1.创建线程和运行线程 1.1.方式一: 直接使用Thread线程对象创建线程 Slf4j public class TestThread {public static void main(String[] args) {//创建一个线程,并且指定线程名称为"t1"Thread thread new Thread("t1") {Overridepublic void run() {//…

基于JAVA springboot + MYSQL +VUE的项目管理系统(含数据库),包括工时统计、原型预览、效果图管理等

平台介绍 无鱼工时管理系统&#xff0c;是一款轻量级工时记录和管理工具&#xff0c;包括项目管理&#xff0c;工时上报&#xff0c;工时日报&#xff0c;工时统计等功能。 无鱼工时管理系统可通过员工工时上报的方式&#xff0c;来记录项目所花费的工时&#xff0c;帮助企业…

滑块验证 - 使用AJ-Captcha插件【超简单.jpg】

滑块验证实现一、后端1&#xff09;首先引入maven&#xff1a;2&#xff09;再在application.yml中自定义水印&#xff0c;直接启动后前端就可以请求接口了3&#xff09;重写CaptchaCacheServiceRedisImpl①先新建一个文件夹②重写impl二、前端&#xff1a;1&#xff09;复制文…

UML2面向对象分析与设计(第2版) 谭火彬 杂记

首先&#xff0c;来讲讲我对泛化的理解&#xff0c;其实这是站在的视角的不同而表述的不同&#xff0c;泛化是站在父类的角度&#xff0c;父类给孩子的方式叫泛化&#xff0c;而继承是站在孩子的角度&#xff0c;儿子继承父类的方式叫继承。 其实上了谭老师大概一章的课程&…

使用WebPageTest、Lighthouse和Chrome DevTools评估网站性能

目录 一&#xff1a;使用WebPageTest评估网站性能 二&#xff1a;使用Lighthouse分析性能 1、本地npm安装Lighthouse 2、Chrome DevTools中使用 三&#xff1a;使用Chrome DevTools分析性能 一&#xff1a;使用WebPageTest评估网站性能 进入网站首页WebPageTest - Websit…