ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

下载m3u8视频,下载小电影,破解,下载,以及整合

2021-06-07 16:02:03  阅读:437  来源: 互联网

标签:tmp index obj m3u8 os 破解 下载


:怎么说呢,一直想写一个下载小电影的程序,之前搞过爬虫,只是看到过m3u8的文件,

近日有时间,心血来潮想搞一下,可是现在竟然加密了,是我out了,还是技术发展太快。

话不多说,直接上思路:

1 读取m3u8文件,给他标记上型号
2 根据标记,然后下载,并以标记给文件命名,
3 然后合并视频
4 操作说明:
5 1.需要自己去下载m3u8文件,命名:index.m3u8
6 2.自己去找密钥 ,下载的时候会遇到密钥,自己下载函数里面去改
7     key = "fad2a57ccb9deefc"

代码奉上:有本事就留个脚印,没有本事就算了,因为我已经把你们能对我的所有可见操作都关闭了。

from concurrent.futures import ThreadPoolExecutor
from Crypto.Cipher import AES
import requests,os,uuid
# 合并文件
def merge():
    tmp = []
    for root, dirs, files in os.walk("video/"):
        for f in files:
            if f.split(".", 1)[1] == "ts":
                tmp.append(int(f.split(".", 1)[0]))
    tmp.sort()
    for i in range(len(tmp)):
        tmp[i] = f"{tmp[i]}.ts"
    shell_str = '+'.join(tmp)
    shell_str = 'copy /b ' + shell_str + ' ' + "0.ts"
    os.chdir(os.path.join(os.getcwd(), "video"))
    os.system(shell_str)

    # 接下来复制,并且转换成MP4
    shell_str = f"copy /b 0.ts {uuid.uuid1()}.mp4"
    os.system(shell_str)
    os.system('del /Q *.ts')
    print("整合完毕,快去看吧")

def downVideo(obj,key=None):
    print(f"正在下载第{obj['num']}")
    url = obj["url"]
    res = requests.get(url)
    key = "fad2a57ccb9deefc".encode("utf-8")
    cryptor = AES.new(key, AES.MODE_CBC, b'qqqqqqqqqqqqqqqq')
    with open(f"video/{obj['num']}.ts",'ab')as fp:
        fp.write(cryptor.decrypt(res.content))

def start(file_src="index.m3u8"):
    # 创建目录
    if not os.path.isdir("video"):
        os.mkdir("video")
    file_src = "index.m3u8"
    arr = []
    with open(file_src)as f:
        index = 1
        for line in f.readlines():
            if "#" not in line:
                obj = {}
                obj["url"] = line.replace("\n", "")
                obj["num"] = index
                index = index + 1
                arr.append(obj)
    return arr


if __name__ == "__main__":
    # 准备工作
    arr = start()
    # 利用线程池 下载视频
    tps = ThreadPoolExecutor(10)  # 最大线程数
    for obj in arr:
        tps.submit(downVideo, obj)
    tps.shutdown()
    # 下载完毕自动整合数据
    merge()
View Code

 

标签:tmp,index,obj,m3u8,os,破解,下载
来源: https://www.cnblogs.com/3-wusen/p/14859151.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有