网络抓取ts文件转mp4_抓取加密ts视频,并合并转成MP4

# -*- coding:utf-8 -*-

import os

import random

import sys

from imp import reload

import requests

import datetime

from Crypto.Cipher import AES

from binascii import b2a_hex, a2b_hex

# reload(sys)

# sys.setdefaultencoding('utf-8')

def download(url):

download_path = os.getcwd() + "\download"

if not os.path.exists(download_path):

os.mkdir(download_path)

# 新建日期文件夹

download_path = os.path.join(download_path, datetime.datetime.now().strftime('%Y%m%d_%H%M%S'))

# print download_path

os.mkdir(download_path)

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36'}

all_content = requests.get(url,headers=headers).text # 获取第一层M3U8文件内容

if "#EXTM3U" not in all_content:

raise BaseException("非M3U8的链接")

if "EXT-X-STREAM-INF" in all_content: # 第一层

file_line = all_content.split("\n")

for line in file_line:

if '.m3u8' in line:

url = url.rsplit("/", 1)[0] + "/" + line # 拼出第二层m3u8的URL

all_content = requests.get(url).text

file_line = all_content.split("\n")

unknow = True

key = ""

for index, line in enumerate(file_line): # 第二层

if "#EXT-X-KEY" in line: # 找解密Key

method_pos = line.find("METHOD")

comma_pos = line.find(",")

method = line[method_pos:comma_pos].split('=')[1]

print ("Decode Method:", method)

uri_pos = line.find("URI")

<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值