脚本代码
import requests
def check_validity(url):
try:
response = requests.head(url, timeout=5)
return response.status_code == 200
except requests.RequestException:
return False
def process_m3u8(input_file, output_file):
with open(input_file, 'r') as f:
lines = f.readlines()
valid_urls = []
with open(output_file, 'w') as f_out:
for line in lines:
line = line.strip()
if line.startswith('#EXTINF') or line.startswith('#EXTM3U'):
f_out.write(f"{line}\n")
elif line.startswith('http'):
if check_validity(line):
f_out.write(f"{line}\n")
valid_urls.append(line)
else:
print(f"Invalid URL: {line}")
print(f"Processed {len(valid_urls)} valid URLs and {len(lines) - len(valid_urls)} invalid URLs.")
# 输入和输出文件名
input_m3u8 = '/root/your_file.m3u8'
output_m3u8 = '/root/valid_urls.m3u8'
# 处理m3u8文件
process_m3u8(input_m3u8, output_m3u8)输入的文档your_file.m3u8
文档里放上要测试的全部m3u8链接
扫描完后会输出到output_m3u8