Update iptv-get-check.py
This commit is contained in:
+34
-8
@@ -285,7 +285,7 @@ urls = [
|
|||||||
"https://fofa.info/result?qbase64=ImlwdHYvbGl2ZS96aF9jbi5qcyIgJiYgcmVnaW9uPSJIdWJlaSIg",#湖北
|
"https://fofa.info/result?qbase64=ImlwdHYvbGl2ZS96aF9jbi5qcyIgJiYgcmVnaW9uPSJIdWJlaSIg",#湖北
|
||||||
"https://fofa.info/result?qbase64=ImlwdHYvbGl2ZS96aF9jbi5qcyIgJiYgcG9ydD0iODE4MSIgJiYgY2l0eT0iR3VpZ2FuZyI%3D", #贵港8181
|
"https://fofa.info/result?qbase64=ImlwdHYvbGl2ZS96aF9jbi5qcyIgJiYgcG9ydD0iODE4MSIgJiYgY2l0eT0iR3VpZ2FuZyI%3D", #贵港8181
|
||||||
"https://fofa.info/result?qbase64=ImlwdHYvbGl2ZS96aF9jbi5qcyIgJiYgY2l0eT0ieXVsaW4i",#玉林
|
"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
|
"https://fofa.info/result?qbase64=ImlwdHYvbGl2ZS96aF9jbi5qcyIgJiYgY291bnRyeT0iQ04iICYmIHJlZ2lvbj0i5bm%2F6KW%2FIg%3D%3D", #广西 壮族iptv
|
||||||
]
|
]
|
||||||
def modify_urls(url):
|
def modify_urls(url):
|
||||||
@@ -517,13 +517,39 @@ print("频道列表文件iptv.txt追加写入成功!")
|
|||||||
|
|
||||||
|
|
||||||
#这里排序IP段去重放在了原文件头
|
#这里排序IP段去重放在了原文件头
|
||||||
#这里排序IP段去重放在了原文件头
|
##########################################################IP段去重
|
||||||
#这里排序IP段去重放在了原文件头
|
import re
|
||||||
#这里排序IP段去重放在了原文件头
|
def deduplicate_lines(input_file_path, output_file_path):
|
||||||
#这里排序IP段去重放在了原文件头
|
seen_combinations = {}
|
||||||
#这里排序IP段去重放在了原文件头
|
unique_lines = []
|
||||||
#这里排序IP段去重放在了原文件头
|
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和卫视
|
###################################################去除列表中的组播地址以及CCTV和卫视
|
||||||
|
|||||||
Reference in New Issue
Block a user