admin管理员组

文章数量:1549477

前言

大家好,继续咱们的python上传文件到百度网盘系列,今天给大家带来的是如果下载一个m3u8

格式的文件。

M3u8简介

M3U8 是 Unicode 版本的 M3U,用 UTF-8 编码。"M3U" 和 "M3U8" 文件都是苹果公司使用的 HTTP Live Streaming(HLS) 协议格式的基础,这种协议格式可以在 iPhone 和 Macbook 等设备播放。

当然我们要的,肯定不是单纯的能看,毕竟资源是会失效的,对吧,下载下来才最靠谱。

M3u8Downloader

作为一个懒人,能用的三分工具肯定是要用的呀,这里给大家介绍一款m3u8下载工具:m3u8Downloader.

安装方式:

第一种:

 第二种:

pip3 install m3u8Downloader 或者pip install m3u8Downloader ,看自己的python版本

撸代码

使用m3u8:

# -*- coding: utf-8 -*-
import os.path
import subprocess
import sys
import time

from m3u8downloader.main import M3u8Downloader, logger, filesizeMiB

from db.mysql import query
from util.file_util import get_str_md5

if __name__ == '__main__':
    data = query()
    path = '/Users/admin/Downloads/'
    for el in data:
        print(el)
        file_name = get_str_md5(str(el[1]).encode())
        downloader = M3u8Downloader(el[0], os.path.join(path, file_name + '.bk'))
        downloader.start()
        time.sleep(6)

 当然看了下人家的源码发现,嘿,我自己也可以写,我写的精简版:

def ffmpeg_download(url_path, target_local_path):
    cmd = ["ffmpeg",
           "-i", url_path,
           target_local_path]
    logger.info("Running: %s", cmd)
    proc = subprocess.run(cmd)
    if proc.returncode != 0:
        logger.error("run ffmpeg command failed: exitcode=%s",
                     proc.returncode)
        sys.exit(proc.returncode)
    logger.info("mp4 file created, size=%.1fMiB, filename=%s",
                filesizeMiB(target_local_path), target_local_path)

大家按需取用哈,当然两个方式都需要下载一个工具 ffmpeg

mac用户直接brew install ffmpeg即可。

总结

好啦,今天的内容比较简单,就是一个下载器,用命令调用一下,预告一下,下次咱们来聊一聊怎么实现文件压缩~。~

本文标签: 上传文件百度网Python