Update iptv.py
This commit is contained in:
+19
-18
@@ -126,30 +126,31 @@ for url in valid_urls:
|
|||||||
# 按行分割解码后的数据,每行可能包含一个JSON对象
|
# 按行分割解码后的数据,每行可能包含一个JSON对象
|
||||||
lines = json_data.split('\n')
|
lines = json_data.split('\n')
|
||||||
for line in lines:
|
for line in lines:
|
||||||
# 去除行首尾的空白字符
|
# 去除行首尾的空白字符
|
||||||
line = line.strip()
|
line = line.strip()
|
||||||
# 检查去除空白后的行是否为空
|
# 检查去除空白后的行是否为空
|
||||||
if not line:
|
if not line:
|
||||||
continue # 如果行是空的,则跳过当前循环迭代
|
continue # 如果行是空的,则跳过当前循环迭代
|
||||||
|
|
||||||
# 检查当前行是否包含'udp'或'rtp'字符串
|
# 检查当前行是否包含'udp'或'rtp'字符串
|
||||||
if 'udp' in line or 'rtp' in line:
|
if 'udp' in line or 'rtp' in line:
|
||||||
continue # 如果行包含'udp'或'rtp',则跳过当前循环迭代
|
continue # 如果行包含'udp'或'rtp',则跳过当前循环迭代
|
||||||
# 假设每行包含name和channel_url,以逗号分隔
|
|
||||||
name, channel_url = line.split(',')
|
# 假设每行包含name和channel_url,以逗号分隔
|
||||||
# 将channel_url以'/'分割成多个部分
|
name, channel_url = line.split(',')
|
||||||
urls = channel_url.split('/', 3)
|
# 将channel_url以'/'分割成多个部分
|
||||||
# 将json_url以'/'分割成多个部分,这里只取前三个部分
|
urls = channel_url.split('/', 3)
|
||||||
url_data = json_url.split('/', 3)
|
# 将json_url以'/'分割成多个部分,这里只取前三个部分
|
||||||
# 检查urls的长度是否至少为4
|
url_data = json_url.split('/', 3)
|
||||||
if len(urls) >= 4:
|
# 检查urls的长度是否至少为4
|
||||||
# 构造一个新的URL,格式为scheme://netloc/path
|
if len(urls) >= 4:
|
||||||
urld = (f"{urls[0]}//{url_data[2]}/{urls[3]}")
|
# 构造一个新的URL,格式为scheme://netloc/path
|
||||||
else:
|
urld = (f"{urls[0]}//{url_data[2]}/{urls[3]}")
|
||||||
# 如果urls长度小于4,则只使用前两个部分构造URL
|
else:
|
||||||
urld = (f"{urls[0]}//{url_data[2]}")
|
# 如果urls长度小于4,则只使用前两个部分构造URL
|
||||||
# 打印name和构造的URL
|
urld = (f"{urls[0]}//{url_data[2]}")
|
||||||
print(f"{name},{urld}")
|
# 打印name和构造的URL
|
||||||
|
print(f"{name},{urld}")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
# 这里应该处理解析JSON数据时可能发生的异常,例如格式错误等
|
# 这里应该处理解析JSON数据时可能发生的异常,例如格式错误等
|
||||||
# 打印异常信息,实际使用中可能需要更详细的异常处理
|
# 打印异常信息,实际使用中可能需要更详细的异常处理
|
||||||
|
|||||||
Reference in New Issue
Block a user