Update iptv_udp.py
This commit is contained in:
+9
-45
@@ -279,7 +279,7 @@ def main():
|
|||||||
# 移除文件
|
# 移除文件
|
||||||
# os.remove('playlist/' + file_path)
|
# os.remove('playlist/' + file_path)
|
||||||
# 写入合并后的txt文件
|
# 写入合并后的txt文件
|
||||||
with open("playlist/IPTV_UDP.txt", "w", encoding="utf-8") as output:
|
with open("playlist/IPTV_UDP", "w", encoding="utf-8") as output:
|
||||||
output.write('\n\n'.join(file_contents))
|
output.write('\n\n'.join(file_contents))
|
||||||
# 写入更新日期时间
|
# 写入更新日期时间
|
||||||
# file.write(f"{now_today}更新,#genre#\n")
|
# file.write(f"{now_today}更新,#genre#\n")
|
||||||
@@ -291,56 +291,20 @@ def main():
|
|||||||
output.write(f"{now.strftime("%Y-%m-%d")},url\n")
|
output.write(f"{now.strftime("%Y-%m-%d")},url\n")
|
||||||
output.write(f"{now.strftime("%H:%M:%S")},url\n")
|
output.write(f"{now.strftime("%H:%M:%S")},url\n")
|
||||||
output.close()
|
output.close()
|
||||||
print(f"电视频道成功写入IPTV_UDP.txt")
|
print(f"电视频道成功写入IPTV_UDP")
|
||||||
main()
|
main()
|
||||||
|
|
||||||
########################################################################################################################################################################################
|
for line in fileinput.input("playlist/IPTV_UDP", inplace=True): #打开文件,并对其进行关键词原地替换
|
||||||
|
|
||||||
for line in fileinput.input("playlist/IPTV_UDP.txt", inplace=True): #打开文件,并对其进行关键词原地替换
|
|
||||||
line = line.replace("CHC电影", "CHC影迷电影")
|
line = line.replace("CHC电影", "CHC影迷电影")
|
||||||
line = line.replace("高清电影", "影迷电影")
|
line = line.replace("高清电影", "影迷电影")
|
||||||
print(line, end="") #设置end="",避免输出多余的换行符
|
print(line, end="") #设置end="",避免输出多余的换行符
|
||||||
print(f"文件已替换完成")
|
|
||||||
|
|
||||||
########################################################################################################################################################################################
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#从整理好的文本中按类别进行特定关键词提取#
|
|
||||||
keywords = ['CCTV', '剧场', '影院', '电影'] # 需要提取的关键字列表
|
|
||||||
pattern = '|'.join(keywords) # 创建正则表达式模式,匹配任意一个关键字
|
|
||||||
#pattern = r"^(.*?),(?!#genre#)(.*?)$" #以分类直接复制
|
|
||||||
with open('playlist/IPTV_UDP.txt', 'r', encoding='utf-8') as file, open('c0.txt', 'w', encoding='utf-8') as c0: #定义临时文件名
|
|
||||||
c0.write('组播央视,#genre#\n') #写入临时文件名$GD
|
|
||||||
for line in file:
|
|
||||||
if re.search(pattern, line): # 如果行中有任意关键字
|
|
||||||
c0.write(line) # 将该行写入输出文件 #定义临时文件
|
|
||||||
|
|
||||||
import re
|
|
||||||
def find_number_before_comma(line):
|
|
||||||
# 从行的开始到逗号前的部分,找到第一个数字
|
|
||||||
before_comma = line.split(',')[0] if ',' in line else line
|
|
||||||
numbers = re.findall(r'\d+', before_comma)
|
|
||||||
return int(numbers[0]) if numbers else None
|
|
||||||
def custom_sort_key(line):
|
|
||||||
# 返回一个元组,元组的第一个元素用于数字排序,第二个元素用于字典排序
|
|
||||||
return (find_number_before_comma(line), line)
|
|
||||||
with open('c0.txt', 'r', encoding='utf-8') as file:
|
|
||||||
lines = file.readlines()
|
|
||||||
sorted_lines = sorted(lines, key=custom_sort_key)
|
|
||||||
# 写入新文件
|
|
||||||
with open('c00.txt', 'w', encoding='utf-8') as file:
|
|
||||||
for line in sorted_lines:
|
|
||||||
file.write(line)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#从整理好的文本中按类别进行特定关键词提取#
|
#从整理好的文本中按类别进行特定关键词提取#
|
||||||
keywords = ['爱动漫', '爱怀旧', '爱经典', '爱科幻', '爱幼教', '爱青春', '爱院线', '爱悬疑'] # 需要提取的关键字列表
|
keywords = ['爱动漫', '爱怀旧', '爱经典', '爱科幻', '爱幼教', '爱青春', '爱院线', '爱悬疑'] # 需要提取的关键字列表
|
||||||
pattern = '|'.join(keywords) # 创建正则表达式模式,匹配任意一个关键字
|
pattern = '|'.join(keywords) # 创建正则表达式模式,匹配任意一个关键字
|
||||||
#pattern = r"^(.*?),(?!#genre#)(.*?)$" #以分类直接复制
|
#pattern = r"^(.*?),(?!#genre#)(.*?)$" #以分类直接复制
|
||||||
with open('playlist/IPTV_UDP.txt', 'r', encoding='utf-8') as file, open('c1.txt', 'w', encoding='utf-8') as c1: #定义临时文件名
|
with open('playlist/IPTV_UDP', 'r', encoding='utf-8') as file, open('c1.txt', 'w', encoding='utf-8') as c1: #定义临时文件名
|
||||||
c1.write('组播央视,#genre#\n') #写入临时文件名$GD
|
c1.write('\niHOT系列,#genre#\n') #写入临时文件名$GD
|
||||||
for line in file:
|
for line in file:
|
||||||
if '$GD' not in line and '4K' not in line:
|
if '$GD' not in line and '4K' not in line:
|
||||||
if re.search(pattern, line): # 如果行中有任意关键字
|
if re.search(pattern, line): # 如果行中有任意关键字
|
||||||
@@ -353,7 +317,7 @@ keywords = ['河北', '石家庄', '丰宁', '临漳', '井陉', '井陉矿区',
|
|||||||
'邱县', '隆化', '雄县', '阜平', '高碑店', '高邑', '魏县', '黄骅', '饶阳', '赵县', '睛彩河北', '滦南', '玉田', '崇礼', '平泉', '容城', '文安', '三河', '清河'] # 需要提取的关键字列表
|
'邱县', '隆化', '雄县', '阜平', '高碑店', '高邑', '魏县', '黄骅', '饶阳', '赵县', '睛彩河北', '滦南', '玉田', '崇礼', '平泉', '容城', '文安', '三河', '清河'] # 需要提取的关键字列表
|
||||||
pattern = '|'.join(keywords) # 创建正则表达式模式,匹配任意一个关键字
|
pattern = '|'.join(keywords) # 创建正则表达式模式,匹配任意一个关键字
|
||||||
#pattern = r"^(.*?),(?!#genre#)(.*?)$" #以分类直接复制
|
#pattern = r"^(.*?),(?!#genre#)(.*?)$" #以分类直接复制
|
||||||
with open('playlist/IPTV_UDP.txt', 'r', encoding='utf-8') as file, open('f.txt', 'w', encoding='utf-8') as f: #定义临时文件名
|
with open('playlist/IPTV_UDP', 'r', encoding='utf-8') as file, open('f.txt', 'w', encoding='utf-8') as f: #定义临时文件名
|
||||||
f.write('\n河北频道,#genre#\n') #写入临时文件名
|
f.write('\n河北频道,#genre#\n') #写入临时文件名
|
||||||
for line in file:
|
for line in file:
|
||||||
if 'CCTV' not in line and '卫视' not in line and 'CHC' not in line and '4K' not in line and 'genre' not in line:
|
if 'CCTV' not in line and '卫视' not in line and 'CHC' not in line and '4K' not in line and 'genre' not in line:
|
||||||
@@ -365,7 +329,7 @@ keywords = ['河南', '焦作', '开封', '卢氏', '洛阳', '孟津', '安阳'
|
|||||||
'新密', '新乡', '信阳', '新郑', '延津', '叶县', '义马', '永城', '禹州', '原阳', '镇平', '郑州', '周口'] # 需要提取的关键字列表
|
'新密', '新乡', '信阳', '新郑', '延津', '叶县', '义马', '永城', '禹州', '原阳', '镇平', '郑州', '周口'] # 需要提取的关键字列表
|
||||||
pattern = '|'.join(keywords) # 创建正则表达式模式,匹配任意一个关键字
|
pattern = '|'.join(keywords) # 创建正则表达式模式,匹配任意一个关键字
|
||||||
#pattern = r"^(.*?),(?!#genre#)(.*?)$" #以分类直接复制
|
#pattern = r"^(.*?),(?!#genre#)(.*?)$" #以分类直接复制
|
||||||
with open('playlist/IPTV_UDP.txt', 'r', encoding='utf-8') as file, open('f1.txt', 'w', encoding='utf-8') as f1: #定义临时文件名
|
with open('playlist/IPTV_UDP', 'r', encoding='utf-8') as file, open('f1.txt', 'w', encoding='utf-8') as f1: #定义临时文件名
|
||||||
f1.write('\n河南频道,#genre#\n') #写入临时文件名
|
f1.write('\n河南频道,#genre#\n') #写入临时文件名
|
||||||
for line in file:
|
for line in file:
|
||||||
if 'CCTV' not in line and '卫视' not in line and 'CHC' not in line and '4K' not in line and 'genre' not in line:
|
if 'CCTV' not in line and '卫视' not in line and 'CHC' not in line and '4K' not in line and 'genre' not in line:
|
||||||
@@ -465,7 +429,7 @@ print('删除的行已保存到:', deleted_lines_file_path)
|
|||||||
#合并所有频道文件#
|
#合并所有频道文件#
|
||||||
# 读取要合并的频道文件,并生成临时文件#合并所有频道文件#
|
# 读取要合并的频道文件,并生成临时文件#合并所有频道文件#
|
||||||
file_contents = []
|
file_contents = []
|
||||||
file_paths = ["a0.txt", "港澳.txt", "df0.txt", "c00.txt", "c1.txt", "f.txt", "f1.txt"] # 替换为实际的文件路径列表#
|
file_paths = ["a0.txt", "港澳.txt", "df0.txt", "f.txt", "f1.txt"] # 替换为实际的文件路径列表#
|
||||||
for file_path in file_paths: #
|
for file_path in file_paths: #
|
||||||
with open(file_path, 'r', encoding="utf-8") as file: #
|
with open(file_path, 'r', encoding="utf-8") as file: #
|
||||||
content = file.read()
|
content = file.read()
|
||||||
@@ -577,7 +541,7 @@ def txt_to_m3u(input_file, output_file):
|
|||||||
# 将txt文件转换为m3u文件
|
# 将txt文件转换为m3u文件
|
||||||
txt_to_m3u('综合源.txt', '综合源.m3u')
|
txt_to_m3u('综合源.txt', '综合源.m3u')
|
||||||
#任务结束,删除不必要的过程文件#
|
#任务结束,删除不必要的过程文件#
|
||||||
files_to_remove = ["TW.txt", "a.txt", "a0.txt", "港澳.txt", "playlist/IPTV_UDP.txt", "df0.txt", "sr1.txt", "c0.txt", "c00.txt", "c1.txt", \
|
files_to_remove = ["TW.txt", "a.txt", "a0.txt", "港澳.txt", "playlist/IPTV_UDP", "df0.txt", "sr1.txt", "c1.txt", \
|
||||||
"f.txt", "f1.txt", "playlist/酒店源#.txt"]
|
"f.txt", "f1.txt", "playlist/酒店源#.txt"]
|
||||||
for file in files_to_remove:
|
for file in files_to_remove:
|
||||||
if os.path.exists(file):
|
if os.path.exists(file):
|
||||||
|
|||||||
Reference in New Issue
Block a user