Python爬取下载m3u8视频,原来这么简单!

Python爬取下载m3u8加密视频,原来这么简单! 如何通过python爬取下载m3u8加密视频 阅读详情
AI摘要

本文介绍如何利用Python爬取M3U8格式的加密视频,并将其下载为TS分段文件,最后通过CMD命令将TS文件合并成MP4格式。

1.前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

PS:如有需要Python学习资料的小伙伴可以点击下方链接自行获取

Python免费学习资料、代码以及交流解答点击即可加入


爬取视频的时候发现,现在的视频都是经过加密(m3u8),不再是mp4或者avi链接直接在网页显示,都是经过加密形成ts文件分段进行播放。

今天就教大家如果通过python爬取下载m3u8加密视频。

2.分析网页

1.电影视频来源


http://www.caisetv.com/

2.分析m3u8加密目录


http://www.caisetv.com/dongzuopian/chaidanzhuanjia/0-1.html

 

在视频播放的页面,通过F12可以查看网络数据包


https://xigua-cdn.haima-zuida.com/20210219/19948_fcbc225a/1000k/hls/index.m3u8

 

这里的ts就电影的加密分段视频


https://xigua-cdn.haima-zuida.com/20210219/19948_fcbc225a/1000k/hls/

上面的m3u8链接掉index.m3u8后,在拼上075a34cccdd000000.ts等ts名称就是分段视频的链接

如下所示:


https://xigua-cdn.haima-zuida.com/20210219/19948_fcbc225a/1000k/hls/075a34cccdd000000.ts

通过浏览器把这个分段视频下载后打开:

 

 

所以只要把所有的ts下载并合并就是完整的电影视频!!!

3.下载ts

1.下载ts分段视频

刚刚已经把ts的所有名称下载下来了

 

 

接下来通过python代码去读取这个文件,提取出名称,拼接链接后下载保存到一个文件夹里!


headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0',}

###下载ts文件
def download(url,name):
    r = requests.get(url, headers=headers)
    with open(name+"", "wb") as code:
        code.write(r.content)

with open("index.m3u8","r") as f:
    ts_list = f.readlines()

#去掉前面没用的信息
ts_list = ts_list[5:]
urlheader="https://xigua-cdn.haima-zuida.com/20210219/19948_fcbc225a/1000k/hls/"
count = 0
for i in ts_list:
    if "#" not in i:
        i = i.replace("\n","")
        download(urlheader+""+i,"cdzj2/"+str(count)+".ts")
        count = count+1
        print(count)

 

这样就可以把ts文件全部下载下来,但是一个一个下载很慢,下面通过多线程下载,提升下载速度!!!

2.多线程下载ts视频


for i in ts_list:
    if "#" not in i:
        i = i.replace("\n","")
        n = i[-7:]
        threading.Thread(target=download, args=(urlheader+""+i,"cdzj2/"+str(n),)).start()
        #download(urlheader+""+i,"cdzj2/"+str(count)+".ts")

 

通过多线程很快就可以将这些ts文件下载到本地!!!

4.合并ts

cmd合并文件


copy /b   *.ts   new.mp4

通过这个命令(cmd终端中运行),在含有ts文件的文件夹中就可以将ts文件合并(按名称顺序进行排列合并),并保存成new.mp4

 

5.总结

1.分析m3u8加密文件
2.python下载ts文件
3.cmd合并ts保存成mp4格式

别再傻傻下载.ts文件了!用Python的m3u8库+requests,5分钟搞定加密视频的爬取与合成 本文详细介绍了如何使用Python的m3u8库和requests模块自动化爬取并合成加密视频,解决手动下载.ts文件的低效问题。通过解析m3u8文件、处理AES-128加密、多线程下载等关键技术,5分钟内即可完成视频的完整获取与合并,大幅提升爬虫效率。 阅读详情

相关推荐

(不看后悔系列二)python网络爬虫爬取网络视频

Python网络爬虫带你爬取下载网络视频

Ares称雄 1万+

关于网页视频下载方法(仅针对存在index.m3u8)

针对网页中想要下载本地回看,却不能无法下载的视频,特别针对那种网页抓不到ts文件的视频。

weixin_48458238的博客 116万+

Python 爬取 M3U8 视频文件

m3u8 是一种基于文本的媒体播放列表文件格式,通常用于指定流媒体播放器播放在线媒体流。它是一个简单的文本文件,其中包含多个由 URI 引用的媒体资源文件的 URL。m3u8 文件通常包含多个 ts 文件的链接,这些 ts 文件是实际的视频和音频数据文件,通常是通过 HTTP 协议传输。ts 文件是一种流媒体传输格式,是 MPEG-2 传输流(MPEG-2 Transport Stream)的缩写。ts 文件通常用于存储视频、音频和字幕等媒体数据,是流媒体传输的基本单位。

cliffordl的专栏 1636

播放index.m3u8切片文件显示为直播问题

目前碰到的就是因修改了index.m3u8文件导致文件中无列表结束标记“#EXT-X-ENDLIST”

Dand 33万+

(不看绝对后悔系列一)python网络爬虫爬取长视频并下载

不看后悔!!网络爬虫爬取网页视频功能

Ares称雄 4856

python爬取视频网站中video标签的m3u8文件与ts文件

文章目录网站分析代码参数配置下载m3u8文件下载ts文件解密合并转换为MP4 网站分析 许多网站使用的都是video加载的视频,无法获得视频的源地址。 但是通过抓包可以获得两类文件,一类是m3u8,相当于ts文件的索引将不同的ts文件串起来;另一类是很多个ts片段,由这些片段构成我们观看的视频。 上图的m3u8文件显示的ts文件是未加密的,所以下载下来的ts文件可以直接播放;下载的时候还能注意...

JiajunBernoulli的博客 5916

python爬取下载m3u8加密视频,原来这么简单!

1.前言爬取视频的时候发现,现在的视频都是经过加密(m3u8),不再是mp4或者avi链接直接在网页显示,都是经过加密形成ts文件分段进行播放。今天就教大家如果通过python爬取下载m3...

公众号:Python研究者 1万+

index.m3u8

index.m3u8

Python爬虫进阶之爬取某视频并下载

这几天在家闲得无聊,意外的挖掘到了一个资源网站(你懂得),但是网速慢广告多下载不了种种原因让我突然萌生了爬虫的想法。 下面说说流程: 一、网站分析 首先进入网站,F12检查,本来以为这种低端网站很好爬取,是我太低估了web主。可以看到我刷新网页之后,出现了很多js文件,并且响应获取的代码与源代码不一样,这就不难猜到这个网站是动态加载页面。目前我知道的动态网页爬取的方法只有这两种:1、从网页响应中找...

weixin_45346759的博客 1万+

《index.m3u8高清视频播放索引文件》

资源下载链接为: https://pan.quark.cn/s/9d0cdde6baac “index.m3u8”这一表述通常用于视频播放领域,指的是一种播放列表文件格式。它主要用于组织和管理视频片段的播放顺序,使得视频能够流畅地播放。在一些视频流媒体服务中,它起到了关键的作用,帮助用户能够顺利地观看视频内容。 在当今数字化时代,视频内容的传播与观看已经成为我们生活中不可或缺的一部分。随着技术的发展,视频文件的存储与播放方式也日益多样化。而在这个过程中,一种名为“M3U8”的文件格式扮演了重要的角色。M3U8文件是一种播放列表文件格式,其用途在于组织和管理视频片段的播放顺序,确保视频流的稳定性和流畅性。这种文件格式特别适用于网络视频流媒体服务,如在线视频点播、直播等场景。 M3U8文件格式本质上是一种文本文件,其扩展名中的“.m3u8”意味着这是一个UTF-8编码的M3U文件。M3U本身是一种多媒体播放列表文件格式,起源于MP3播放器,用于指定媒体播放列表。而M3U8则是针对网络流媒体传输而优化的版本,支持UTF-8编码,从而能够包含非ASCII字符集的播放地址和元数据,使其更适合国际化使用。 在处理视频流媒体内容时,M3U8文件可以被视频播放器识别和利用。它包含了视频片段的地址信息以及播放顺序,通过这些信息,播放器可以按顺序加载视频片段并进行播放。这对于分段式视频内容的传输尤为重要,比如在网络条件不稳定的情况下,通过分段下载和播放的方式,可以有效避免缓冲和卡顿,提供更为流畅的观看体验。 在实际应用中,M3U8文件常用于直播和点播服务中。例如,直播平台会使用M3U8格式来存储和传输直播流媒体,这样,观众便可以通过网络观看实时的直播内容,而不必下载整个视频文件。

m3u8视频播放器

从公司网上抠下来的,完全看不懂,是我要努力的目标,简直大神,放在网上给有需要的人用吧,可以播放m3u8视频格式的播放器

python爬取m3u8格式视频

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

weixin_44975787的博客 5518

UOS忘记密码别慌!用LiveCD工具5分钟搞定,附命令行救援模式详细步骤

本文详细介绍了UOS系统密码遗忘时的两种解决方案:图形化LiveCD工具和命令行救援模式。针对普通用户,LiveCD工具提供5分钟快速重置密码的便捷操作;而技术人员可通过命令行深度解析系统分区挂载与密码修改流程。文章还包含安全加固建议,帮助用户预防类似问题发生。

weixin_27032989的博客 590

有加密的m3u8视频下载以及解码方法

        突然心血来潮想着,之前爬虫学习也可以爬取一些数据和图片了,那么视频呢?是不是也是找到一个 url 然后直接写入文件保存就可以呢?事实证明没那么容易,四处查资料还是折腾了一天,最后终于可以了。在众多博文中帮助最大的就是如下这篇,非常感谢。 https://blog.youkuaiyun.com/a33445621/article/details/80377424         总的来说,根...

baidu_41902768的博客 40万+

OCSP环境搭建--Windows Server 2016

OCSP环境搭建--Windows Server 2016 一. OCSP环境中相关信息 1. 服务器1 操作系统:Win Server 2016 Standard版 IP地址:172.16.0.19/23,网关:172.16.0.1,首选DNS:127.0.0.1 服务器角色:域控制器、证书颁发机构、radius服务器、DNS服务器 ...

CsdnCHong_566的博客 3351

基于Apache MINA SSHD配置及应用

Apache MINA SSHD是一个基于Java的开源SSH服务器/客户端实现,支持SSH2协议,提供文件传输、shell访问等功能。该代码实现了一个SftpClientService服务类,封装了SFTP文件操作,包括读取文件(readOnce/readLines)和写入文件(writeOnce)等核心功能。通过SftpProperties配置类管理连接参数,并采用Builder模式创建SSH会话。主要特点包括:支持大文件分块传输、自动创建目录、严格的异常处理和...

流沙QuickSand 945

Python通过m3u8文件下载合并ts视频

前段时间,接到一个需求,要求下载某一个网站的视频,然后自己从网上查阅了相关的资料,在这里做一个总结。 1. m3u8文件 m3u8是苹果公司推出一种视频播放标准,是一种文件检索格式,将视频切割成一小段一小段的ts格式的视频文件,然后存在服务器中(现在为了减少I/o访问次数,一般存在服务器的内存中),通过m3u8解析出来路径,然后去请求,是现在比较流行的一种加载方式。目前,很多新闻视频网站都是采用这...

菜鸡小白的成长记录 1万+

产品经理必备知识——API接口

在古代,我们的传输信息的方式有很多,比如写信、飞鸽传书,以及在战争中使用的烽烟,才有了著名的烽火戏诸侯,但这些方式传输信息的效率终究还是无法满足高速发展的社会需要。如果你选择允许,app就会根据你的当前位置为你提供更加个性化的一些服务,当然也有一些app拿到你的位置信息做出损害用户利益的行为,所以还是需要谨慎授权。首先,看接口文档的场景一般是自身业务模块需要获取外部的数据,但又不想自己重新开发,寻找外部已经实现的有开放能力的供应商(包含企业内部的)。通过发送请求和响应消息的方式实现程序间的通信。

WBKJ_Noah_的博客 3455

Python爬取m3u8格式的视频

M3U8 是 Unicode 版本的 M3U,用 UTF-8 编码。“M3U” 和 “M3U8” 文件都是苹果公司使用的 HTTP LiveStreaming(HLS) 协议格式的基础,这种协议格式可以在 iPhone 和 Macbook 等设备播放。通俗点可以理解为,一个视频文件拆分为多个.ts片段的视频文件,然后将所有的ts合成MP4文件就可以播放了。但是为什么有些在线或者m3u8的播放器会用不了呢?由于大部门的m3u8生成的结果不太一致,与该播放器的解密格式不一样,所以导致打开。

Rainist的博客 4013

【AI智能体】Codex AI 辅助编程高级技能实战操作详解

Codex AI 辅助编程高级技能实战操作详解

congge 6758

RK3568平台(USB篇)USB基础知识

现象:把USB设备比如Android手机接到PC答1:是USB控制器,是USB控制器内嵌的root hub.答2. windows里已经有了USB的总线驱动程序,接入USB设备后,是"总线驱动程序"知道你是"android phone"提示你安装的是"设备驱动程序"。USB总线驱动程序负责:识别USB设备, 给USB设备找到对应的驱动程序。答3. PC的USB口内部,D-和D+接有15K的下拉电阻,未接USB设备时为低电平USB设备的USB口内部,D-或D+接有1.5K的上拉电阻;

weixin_49303682的博客 1658
上一篇: 爬取淘宝热卖商品并可视化分析,看看大家都喜欢买什么!
下一篇: 以『B站』为实战案例!手把手教你掌握爬虫必备框架『Scrapy』
酸菜鱼编程
博客等级 码龄6年 155粉丝 63原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值