Update iptv流畅度检测.py

This commit is contained in:
frxz751113
2024-08-18 12:09:51 +08:00
committed by GitHub
parent 5a956297b9
commit af656e9040
+11 -18
View File
@@ -67,10 +67,10 @@ for keyword in keywords:
org == "China Mobile communications corporation" org == "China Mobile communications corporation"
isp_en = "cmcc" isp_en = "cmcc"
start_time = datetime.now() # 记录循环开始时间 current_time = datetime.now()
timeout_duration = timedelta(minutes=2) # 设置超时时间为1分钟 timeout_cnt = 0
result_urls = set()
while True: # 使用无限循环代替之前的条件 while len(result_urls) == 0 and timeout_cnt <= 5:
try: try:
search_url = 'https://fofa.info/result?qbase64=' search_url = 'https://fofa.info/result?qbase64='
search_txt = f'\"udpxy\" && country=\"CN\" && region=\"{province}\"' # && org=\"{org}\" search_txt = f'\"udpxy\" && country=\"CN\" && region=\"{province}\"' # && org=\"{org}\"
@@ -126,21 +126,14 @@ for keyword in keywords:
new_data = data.replace("rtp://", f"{url}/rtp/") new_data = data.replace("rtp://", f"{url}/rtp/")
new_file.write(new_data) new_file.write(new_data)
print(f'已生成播放列表,保存至{txt_filename}') print(f'已生成播放列表,保存至{txt_filename}')
break
except (requests.Timeout, requests.RequestException) as e: except (requests.Timeout, requests.RequestException) as e:
current_time = datetime.now() # 更新当前时间 timeout_cnt += 1
print(f"{current_time} [{province}]搜索请求发生超时.") print(f"{current_time} [{province}]搜索请求发生超时,异常次数:{timeout_cnt}")
if timeout_cnt <= 5:
# 检查是否达到超时时间 # 退出循环迭代
if datetime.now() - start_time >= timeout_duration: break
current_time = datetime.now() # 更新当前时间 else:
print(f"{current_time} 搜索超时,已达到最大等待时间.") print(f"{current_time} 搜索IPTV频道源[],超时次数过多:{timeout_cnt} 次,停止处理")
break
# 重置超时计数器
timeout_cnt = 0
# 继续下一次循环迭代
print('节目表制作完成! 文件输出在当前文件夹!') print('节目表制作完成! 文件输出在当前文件夹!')
###################################################################################################################### ######################################################################################################################
###################################################################################################################### ######################################################################################################################