修改后的代码如下:

import os import requests

headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8', 'Accept-Language': 'en-US,en;q=0.9,ja-JP;q=0.8,ja;q=0.7', 'Cache-Control': 'no-cache', 'Connection': 'keep-alive', 'Pragma': 'no-cache', 'Upgrade-Insecure-Requests': '1' }

dir_path = input('请输入.m3u8文件所在目录的路径:')

for file_name in os.listdir(dir_path): if file_name.endswith('.m3u8'): print(f'处理文件: {file_name}') file_path = os.path.join(dir_path, file_name) with open(file_path, 'r') as f: lines = f.readlines()

    if '#YUMING|https' in lines[0]:
        url = lines[0][lines[0].index('https'):lines[0].index('/-/')+3]
        response = requests.post(url + 'playlist.m3u8', headers=headers)
        if response.status_code == 200:
            print('成功:' + str(response.status_code))
            new_url = response.url
            new_url = new_url[:new_url.index('playlist.m3u8')]

            # Replace all occurrences of "media_" with the new URL
            new_lines = []
            for line in lines:
                if 'media_' in line:
                    new_line = line.replace('media_', '')
                    new_line = new_line[:new_line.index('.ts')] + '.ts\n'
                    new_lines.append(new_url + new_line)
                elif not line.startswith('#YUMING|https'):
                    new_lines.append(line)

            # Write the new lines back to the original file (except for the first line if it starts with '#YUMING|https')
            with open(file_path, 'w') as f:
                for line in new_lines:
                    f.write(line)
        else:
            print('失效:' + str(response.status_code))

    else:
        if 'http' in lines[1]:
            url = lines[1][lines[1].index('http'):lines[1].index('/-/')+3]
        else:
            url = lines[8][lines[8].index('http'):lines[8].index('/-/')+3]

        response = requests.post(url + 'playlist.m3u8', headers=headers)
        if response.status_code == 200:
            print('成功:' + str(response.status_code))
            new_url = response.url
            new_url = new_url[:new_url.index('playlist.m3u8')]

            # Replace all occurrences of URLs between "http" and "/-/" with the new URL
            new_lines = []
            for line in lines:
                if 'http' in line and '/-/' in line:
                    new_line = line[line.index('http'):line.index('/-/')+3]
                    new_line = new_line + line[line.index('/-/')+3:]
                    new_lines.append(line.replace(new_line, new_url + new_line))
                else:
                    new_lines.append(line)

            # Write the new lines back to the original file
            with open(file_path, 'w') as f:
                for line in new_lines:
                    if not line.startswith('#YUMING|https'):
                        f.write(line)
        else:
            print('失效:' + str(response.status_code)
请检查代码中针对以以#YUMINGhttps开头的m3u8文件对media_的替换部分没有成功被执行纠正一下media_并不是一个url只是一段文件并且需要替换这部分内容import osimport requestsheaders = User-Agent Mozilla50 Windows NT 61; Win64; x64 AppleWebKit53736 KHTML like Ge

原文地址: https://www.cveoy.top/t/topic/dmQ0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录