[Python玩家]Python电影下载神器 可将m3u8格式下载转成mp4视频
消息源:学霸 时间:2024-1-12 20:45:08,点击:0

Honker.org.cn红盟网讯 今天给你们带来了,我一手写的全网电影下载神器,基于requests写的,可以下载各网站m3u8格式视频,并且下载一个完整mp4文件,非常强的工具,idm一般只能下载片段,而这个能下载整个电影。

安装requests:

pip install requests tqdm

完整实例:

import requests

import re

import json

from tqdm import tqdm

import shutil

from urllib.parse import urlparse

 

def get_page_title(url):

    response = requests.get(url)

    if response.status_code == 200:

        match = re.search(r'<title>(.*?)</title>', response.text)

        if match:

            return match.group(1)

    return "video"

def download_m3u8_video(url):

        response = requests.get(url)

        html = response.text

        pattern = r'([^"]+index\.m3u8)'

        match = re.search(pattern, html)

        decoded_url = json.loads('"' + match.group(1) + '"')

        m3u8_response = requests.get(decoded_url)

        m3u8_data = m3u8_response.text

        match = re.search(r".*\.m3u8.*", m3u8_data)

        if match:#多层m3u8

         lines = m3u8_data.split("\n")

         s=lines[2]

         decoded_url=decoded_url.replace("index.m3u8",s)

         print("第二层链接:",decoded_url)

         m3u8_response = requests.get(decoded_url)

         m3u8_data = m3u8_response.text

        segments = [line.strip() for line in m3u8_data.split('\n') if line.endswith('.ts')]

        output_file = get_page_title(url) + '.mp4'

        print("电影名:",output_file)

        print("电影下载链接:",decoded_url)

        print("开始下载...")

        print("__________________________")

        with open(output_file, 'wb') as f:

            for segment in tqdm(segments):

                segment_url = decoded_url.rsplit('/', 1)[0] + '/' + segment

                segment_response = requests.get(segment_url, stream=True)

                segment_response.raw.decode_content = True

                shutil.copyfileobj(segment_response.raw, f)

        print("视频下载完成,保存为:" + output_file)

 

#电影播放链接

url = 'https://www.pian-ku.com/vodplay/145660-1-1/'

download_m3u8_video(url)

注:红色链接应该是就是替换的。

 

支持网站列表(只是部分):

https://www.pian-ku.com/

 

打印】【关闭

相关评论


我要评论
查看所有评论内容
评论内容
隐藏 是 
 

Copyright 2001-2024 Honker.org.cn All Rights

登录 | 快速注册 | 关于中国红客官网 | 网站留言