Python 爬取ts流视频

准备工具

1、安装python,本机环境linux+python3.6

2、直接开撸,基本的包需要pip install

3、话不多说直接干

https://www.******.com/video/*/2-1.html某网站,F12 播放视频界面的所有请求,可以看到有个m3u8 的请求,里面是所有的ts流,下载了这个,意味着所有的TS流的地址你都有了。以下是部分m3u8请求返回数据

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:5
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-KEY:METHOD=AES-128,URI="key.key"
#EXTINF:5.000000,
ebCy82OQ000.ts
#EXTINF:5.000000,
ebCy82OQ001.ts
#EXTINF:5.000000,
ebCy82OQ002.ts
#EXTINF:5.000000,
ebCy82OQ003.ts
#EXTINF:5.000000,

看上面可以看出,视频的TS流是AES-128加密的。需要key解密才能播放该TS视频

不着急,继续看浏览器的请求,发现后面还有一个key的请求,很重要,这个就是解密TS流的关键了。没有这个,你的视频是无法解析的

https://www.****.com/***/****/key.key

到这,上帝已经阻止不了你的狂野之心了

贴出部分代码,有需要的自取(记得替换链接)

import urllib.request
import ssl
from Crypto.Cipher import AES
key='key'//获取到的key值,解密TS视频的
cryptor = AES.new(key, AES.MODE_CBC, key)

url='https://www.***.com/***/***/'
for i in range(1026):
    if i<1:
        continue
    k = str(i)
    other_url = k.zfill(3)
    name='****'+other_url
    print(url+name+'.ts')
    ssl._create_default_https_context = ssl._create_unverified_context
    f = urllib.request.urlopen(url+name+'.ts')
    buffer = f.read()
    with open("/python/ts1/"+name+".ts", "wb") as code:
        code.write(cryptor.decrypt(buffer))

至此结束,大家也可以把 m3u8返回的数据,做处理获取到所有ts流的地址,然后请求下载也是可以的。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RenBingo

一点一滴源于你的鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值