diff --git a/py/iptv-get-check.py b/py/iptv-get-check.py index 0002961..62d72d2 100644 --- a/py/iptv-get-check.py +++ b/py/iptv-get-check.py @@ -285,7 +285,7 @@ urls = [ "https://fofa.info/result?qbase64=ImlwdHYvbGl2ZS96aF9jbi5qcyIgJiYgcmVnaW9uPSJIdWJlaSIg",#湖北 "https://fofa.info/result?qbase64=ImlwdHYvbGl2ZS96aF9jbi5qcyIgJiYgcG9ydD0iODE4MSIgJiYgY2l0eT0iR3VpZ2FuZyI%3D", #贵港8181 "https://fofa.info/result?qbase64=ImlwdHYvbGl2ZS96aF9jbi5qcyIgJiYgY2l0eT0ieXVsaW4i",#玉林 - #"https://fofa.info/result?qbase64=ImlwdHYvbGl2ZS96aF9jbi5qcyIgJiYgcmVnaW9uPSJmdWppYW4i",#福建 + "https://fofa.info/result?qbase64=ImlwdHYvbGl2ZS96aF9jbi5qcyIgJiYgcmVnaW9uPSJmdWppYW4i",#福建 "https://fofa.info/result?qbase64=ImlwdHYvbGl2ZS96aF9jbi5qcyIgJiYgY291bnRyeT0iQ04iICYmIHJlZ2lvbj0i5bm%2F6KW%2FIg%3D%3D", #广西 壮族iptv ] def modify_urls(url): @@ -517,13 +517,39 @@ print("频道列表文件iptv.txt追加写入成功!") #这里排序IP段去重放在了原文件头 -#这里排序IP段去重放在了原文件头 -#这里排序IP段去重放在了原文件头 -#这里排序IP段去重放在了原文件头 -#这里排序IP段去重放在了原文件头 -#这里排序IP段去重放在了原文件头 -#这里排序IP段去重放在了原文件头 - +##########################################################IP段去重 +import re +def deduplicate_lines(input_file_path, output_file_path): + seen_combinations = {} + unique_lines = [] + with open(input_file_path, 'r', encoding='utf-8') as file: + for line in file: + # 使用正则表达式查找行中的所有URL,并捕获IP地址、端口号和端口号之后的部分 + urls = re.findall(r'http://([\d.]+):(\d+)(/.*)?', line) + # 为每个URL生成一个去重键 + for full_url in urls: + ip, port, path = full_url + ip_parts = ip.split('.') + if len(ip_parts) < 3: + continue + # 使用IP的前三个字段和端口号之后的部分生成去重键 + combination_key = f"{ip_parts[0]}.{ip_parts[1]}.{ip_parts[2]}-{port}-{path or ''}" + # 检查这个组合是否已经出现过 + if combination_key not in seen_combinations: + # 如果没有出现过,记录当前行和去重键 + seen_combinations[combination_key] = line.strip() + else: + # 如果已经出现过,更新为最后出现的行 + seen_combinations[combination_key] = line.strip() + # 将去重后的所有唯一行写入新文件 + with open(output_file_path, 'w', encoding='utf-8') as file: + for line in seen_combinations.values(): + file.write(line + '\n') +# 调用函数 +input_file_path = 'iptv.txt' +output_file_path = 'iptv.txt' +deduplicate_lines(input_file_path, output_file_path) +################################################################################ ###################################################去除列表中的组播地址以及CCTV和卫视