Update GAT.py

This commit is contained in:
frxz751113
2024-10-05 02:17:30 +08:00
committed by GitHub
parent a9230eebba
commit 15409bba96
+29 -13
View File
@@ -716,20 +716,36 @@ file_path1 = '网络收集.txt'
file_path2 = '综合源.txt' file_path2 = '综合源.txt'
append_text_between_files(file_path1, file_path2) append_text_between_files(file_path1, file_path2)
# 打开文档并读取所有行 ##############################################################对生成的文件进行网址及文本去重复,避免同一个频道出现在不同的类中
with open('综合源.txt', 'r', encoding="utf-8") as file:
lines = file.readlines() def remove_duplicates(input_file, output_file):
# 使用列表来存储唯一的行的顺序 # 用于存储已经遇到的URL和包含genre的行
unique_lines = [] seen_urls = set()
seen_lines = set() seen_lines_with_genre = set()
# 遍历每一行,如果是新的就加入unique_lines # 用于存储最终输出的行
output_lines = []
# 打开输入文件并读取所有行
with open(input_file, 'r', encoding='utf-8') as f:
lines = f.readlines()
print("去重前的行数:", len(lines))
# 遍历每一行
for line in lines: for line in lines:
if line not in seen_lines: # 使用正则表达式查找URL和包含genre的行,默认最后一行
unique_lines.append(line) urls = re.findall(r'[https]?[http]?[P2p]?[rtmp]?[rtsp]?[mitv]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\\(\\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+', line)
seen_lines.add(line) genre_line = re.search(r'\bgenre\b', line, re.IGNORECASE) is not None
# 将唯一的行写入新的文档 # 如果找到URL并且该URL尚未被记录
with open('综合源.txt', 'w', encoding="utf-8") as file: if urls and urls[0] not in seen_urls:
file.writelines(unique_lines) seen_urls.add(urls[0])
output_lines.append(line)
# 如果找到包含genre的行,无论是否已被记录,都写入新文件
if genre_line:
output_lines.append(line)
# 将结果写入输出文件
with open(output_file, 'w', encoding='utf-8') as f:
f.writelines(output_lines)
print("去重后的行数:", len(output_lines))
# 使用方法
remove_duplicates('综合源.txt', '综合源.txt')
#TXT转M3U# #TXT转M3U#