itv(ZHGXTV) 多城市.py 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  1. import time
  2. import os
  3. import concurrent.futures
  4. from selenium import webdriver
  5. from selenium.webdriver.chrome.options import Options
  6. import requests
  7. import re
  8. urls = [
  9. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iYmVpamluZyI=", # 北京
  10. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ic2hhbmdoYWki", # 上海
  11. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0idGlhbmppbiI=", # 天津
  12. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iYW5zaGFuIg==", # 鞍山
  13. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iYW55YW5nIg==", # 安阳
  14. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iYmFpY2hlbmci", # 白城
  15. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iYmFvZGluZyI=", # 保定
  16. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iYmVueGki", # 本溪
  17. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iYm96aG91Ig==", # 亳州
  18. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iY2FuZ3pob3Ui", # 沧州
  19. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iY2hhb3lhbmci", # 朝阳
  20. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iY2hhb3pob3Ui", # 潮州
  21. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iY2hlbmdkZSI=", # 承德
  22. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iY2hlbmdkdSI=", # 成都
  23. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iY2hpZmVuZyI=", # 赤峰
  24. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iY2h1eGlvbmci", # 楚雄
  25. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iY2h1emhvdSI=", # 滁州
  26. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iZGFsaWFuIg==", # 大连
  27. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iZG9uZ2d1YW4i", # 东莞
  28. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iZnV5YW5nIg==", # 阜阳
  29. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iZnV6aG91Ig==", # 福州
  30. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iZ2FuemhvdSI=", # 赣州
  31. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iZ3Vhbmd6aG91Ig==", # 广州
  32. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iZ3VpeWFuZyI=", # 贵阳
  33. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iaGFuZGFuIg==", # 邯郸
  34. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iaGFuZ3pob3Ui", # 杭州
  35. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iaGViaSI=", # 鹤壁
  36. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iaGVmZWki", # 合肥
  37. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iaGVuZ3NodWki", # 衡水
  38. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iaGVuZ3lhbmci", # 衡阳
  39. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iaGV6ZSI=", # 菏泽
  40. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iaHVhaWh1YSI=", # 怀化
  41. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iaHVhaW5hbiI=", # 淮南
  42. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iaHVhbmdnYW5nIg==", # 黄冈
  43. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iaHVhbmdzaGFuIg==", # 黄山
  44. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iaHVpemhvdSI=", # 惠州
  45. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iamlhbXVzaSI=", # 佳木斯
  46. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iamlhbmdtZW4i", # 江门
  47. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iamlhb3p1byI=", # 焦作
  48. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iamluYW4i", # 济南
  49. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iamluZ2RlemhlbiI=", # 景德镇
  50. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iamluZ3pob3Ui", # 荆州
  51. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iamluemhvbmci", # 晋中
  52. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iamluemhvdSI=", # 锦州
  53. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iaml1amlhbmci", # 九江
  54. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iaml4aSI=", # 鸡西
  55. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ia2FpZmVuZyI=", # 开封
  56. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ia3VubWluZyI=", # 昆明
  57. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ibGFpYmluIg==", # 来宾
  58. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ibGFuZ2Zhbmci", # 廊坊
  59. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ibGFuemhvdSI=", # 兰州
  60. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ibGlhb3l1YW4i", # 辽源
  61. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ibGlueWki", # 临沂
  62. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ibG91ZGki", # 娄底
  63. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ibHVvaGUi", # 漯河
  64. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ibHVveWFuZyI=", # 洛阳
  65. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ibWFvbWluZyI=", # 茂名
  66. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ibWVpemhvdSI=", # 梅州
  67. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ibmFuY2hhbmci", # 南昌
  68. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ibmFuamluZyI=", # 南京
  69. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ibmFubmluZyI=", # 南宁
  70. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ibmFueWFuZyI=", # 南阳
  71. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0icGluZ2RpbmdzaGFuIg==", # 平顶山
  72. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0icHV5YW5nIg==", # 濮阳
  73. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0icWluZ2RhbyI=", # 青岛
  74. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0icXVhbnpob3Ui", # 泉州
  75. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ic2FubWVueGlhIg==", # 三门峡
  76. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ic2hhbiI=", # 佛山
  77. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ic2hhbmdxaXUi", # 商丘
  78. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ic2hhbmdyYW8i", # 上饶
  79. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ic2hhbnRvdSI=", # 汕头
  80. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ic2hlbnlhbmci", # 沈阳
  81. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ic2hlbnpoZW4i", # 深圳
  82. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ic2hpamlhemh1YW5nIg==", # 石家庄
  83. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ic2h1YW5neWFzaGFuIg==", # 双鸭山
  84. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ic2lwaW5nIg==", # 四平
  85. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ic3V6aG91Ig==", # 苏州
  86. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0idGFpeXVhbiI=", # 太原
  87. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0idGFuZ3NoYW4i", # 唐山
  88. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0idGVuZ3pob3Ui", # 滕州
  89. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0idGllbGluZyI=", # 铁岭
  90. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0id2FmYW5nZGlhbiI=", # 瓦房店
  91. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0id2VpZmFuZyI=", # 潍坊
  92. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0id3VoYW4i", # 武汉
  93. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0id3VodSI=", # 芜湖
  94. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0id3V4aSI=", # 无锡
  95. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ieGlhbiI=", # 西安
  96. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ieGlhbnlhbmci", # 咸阳
  97. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ieGljaGFuZyI=", # 西昌
  98. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ieGluZ3RhaSI=", # 邢台
  99. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ieGlueGlhbmci", # 新乡
  100. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ieGlueWFuZyI=", # 信阳
  101. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ieHVjaGFuZyI=", # 许昌
  102. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ieHV6aG91Ig==", # 徐州
  103. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ieWFuZ2ppYW5nIg==", # 阳江
  104. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ieWFudGFpIg==", # 烟台
  105. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ieWljaHVuIg==", # 宜春
  106. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ieWluY2h1YW4i", # 银川
  107. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ieWluZ2tvdSI=", # 营口
  108. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ieWluZ3RhbiI=", # 鹰潭
  109. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ieWl5YW5nIg==", # 益阳
  110. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ieW9uZ3pob3Ui", # 永州
  111. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ieXVleWFuZyI=", # 岳阳
  112. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iY2hhbmdjaHVuIg==", # 长春
  113. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iemhhbmdqaWFrb3Ui", # 张家口
  114. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iY2hhbmdzaGEi", # 长沙
  115. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iY2hhbmd6aGki", # 长治
  116. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iemhhbmd6aG91Ig==", # 漳州
  117. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iemhhbmppYW5nIg==", # 湛江
  118. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iemhlbmd6aG91Ig==", # 郑州
  119. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iemhlbmppYW5nIg==", # 镇江
  120. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iemhvbmdzaGFuIg==", # 中山
  121. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iemhvdWtvdSI=", # 周口
  122. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iemh1aGFpIg==", # 珠海
  123. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iemh1bWFkaWFuIg==", # 驻马店
  124. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iemh1emhvdSI=", # 株洲
  125. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0iYmFvdG91Ig==", # 包头
  126. "https://fofa.info/result?qbase64=IlpIR1hUViIgJiYgY2l0eT0ieml5YW5nIg==", # 资阳
  127. ]
  128. def modify_urls(url):
  129. modified_urls = []
  130. ip_start_index = url.find("//") + 2
  131. ip_end_index = url.find(":", ip_start_index)
  132. base_url = url[:ip_start_index] # http:// or https://
  133. ip_address = url[ip_start_index:ip_end_index]
  134. port = url[ip_end_index:]
  135. ip_end = "/ZHGXTV/Public/json/live_interface.txt"
  136. for i in range(1, 256):
  137. modified_ip = f"{ip_address[:-1]}{i}"
  138. modified_url = f"{base_url}{modified_ip}{port}{ip_end}"
  139. modified_urls.append(modified_url)
  140. return modified_urls
  141. def is_url_accessible(url):
  142. try:
  143. response = requests.get(url, timeout=1)
  144. if response.status_code == 200:
  145. return url
  146. except requests.exceptions.RequestException:
  147. pass
  148. return None
  149. results = []
  150. for url in urls:
  151. try:
  152. # 创建一个Chrome WebDriver实例
  153. chrome_options = Options()
  154. chrome_options.add_argument('--headless')
  155. chrome_options.add_argument('--no-sandbox')
  156. chrome_options.add_argument('--disable-dev-shm-usage')
  157. driver = webdriver.Chrome(options=chrome_options)
  158. # 使用WebDriver访问网页
  159. driver.get(url) # 将网址替换为你要访问的网页地址
  160. time.sleep(10)
  161. # 获取网页内容
  162. page_content = driver.page_source
  163. # 关闭WebDriver
  164. driver.quit()
  165. # 查找所有符合指定格式的网址
  166. pattern = r"http://\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}:\d+" # 设置匹配的格式,如http://8.8.8.8:8888
  167. urls_all = re.findall(pattern, page_content)
  168. # urls = list(set(urls_all)) # 去重得到唯一的URL列表
  169. urls = set(urls_all) # 去重得到唯一的URL列表
  170. x_urls = []
  171. for url in urls: # 对urls进行处理,ip第四位修改为1,并去重
  172. url = url.strip()
  173. ip_start_index = url.find("//") + 2
  174. ip_end_index = url.find(":", ip_start_index)
  175. ip_dot_start = url.find(".") + 1
  176. ip_dot_second = url.find(".", ip_dot_start) + 1
  177. ip_dot_three = url.find(".", ip_dot_second) + 1
  178. base_url = url[:ip_start_index] # http:// or https://
  179. ip_address = url[ip_start_index:ip_dot_three]
  180. port = url[ip_end_index:]
  181. ip_end = "1"
  182. modified_ip = f"{ip_address}{ip_end}"
  183. x_url = f"{base_url}{modified_ip}{port}"
  184. x_urls.append(x_url)
  185. urls = set(x_urls) # 去重得到唯一的URL列表
  186. valid_urls = []
  187. # 多线程获取可用url
  188. with concurrent.futures.ThreadPoolExecutor(max_workers=100) as executor:
  189. futures = []
  190. for url in urls:
  191. url = url.strip()
  192. modified_urls = modify_urls(url)
  193. for modified_url in modified_urls:
  194. futures.append(executor.submit(is_url_accessible, modified_url))
  195. for future in concurrent.futures.as_completed(futures):
  196. result = future.result()
  197. if result:
  198. valid_urls.append(result)
  199. for url in valid_urls:
  200. print(url)
  201. # 遍历网址列表,获取JSON文件并解析
  202. for url in valid_urls:
  203. try:
  204. # 发送GET请求获取JSON文件,设置超时时间为0.5秒
  205. json_url = f"{url}"
  206. response = requests.get(json_url, timeout=1)
  207. json_data = response.content.decode('utf-8')
  208. try:
  209. # 按行分割数据
  210. lines = json_data.split('\n')
  211. for line in lines:
  212. line = line.strip()
  213. if line:
  214. name, channel_url = line.split(',')
  215. urls = channel_url.split('/', 3)
  216. url_data = json_url.split('/', 3)
  217. if len(urls) >= 4:
  218. urld = (f"{urls[0]}//{url_data[2]}/{urls[3]}")
  219. else:
  220. urld = (f"{urls[0]}//{url_data[2]}")
  221. print(f"{name},{urld}")
  222. if name and urld:
  223. # 删除特定文字
  224. name = name.replace("cctv", "CCTV")
  225. name = name.replace("中央", "CCTV")
  226. name = name.replace("央视", "CCTV")
  227. name = name.replace("高清", "")
  228. name = name.replace("超高", "")
  229. name = name.replace("HD", "")
  230. name = name.replace("标清", "")
  231. name = name.replace("频道", "")
  232. name = name.replace("-", "")
  233. name = name.replace(" ", "")
  234. name = name.replace("PLUS", "+")
  235. name = name.replace("+", "+")
  236. name = name.replace("(", "")
  237. name = name.replace(")", "")
  238. name = re.sub(r"CCTV(\d+)台", r"CCTV\1", name)
  239. name = name.replace("CCTV1综合", "CCTV1")
  240. name = name.replace("CCTV2财经", "CCTV2")
  241. name = name.replace("CCTV3综艺", "CCTV3")
  242. name = name.replace("CCTV4国际", "CCTV4")
  243. name = name.replace("CCTV4中文国际", "CCTV4")
  244. name = name.replace("CCTV4欧洲", "CCTV4")
  245. name = name.replace("CCTV5体育", "CCTV5")
  246. name = name.replace("CCTV6电影", "CCTV6")
  247. name = name.replace("CCTV7军事", "CCTV7")
  248. name = name.replace("CCTV7军农", "CCTV7")
  249. name = name.replace("CCTV7农业", "CCTV7")
  250. name = name.replace("CCTV7国防军事", "CCTV7")
  251. name = name.replace("CCTV8电视剧", "CCTV8")
  252. name = name.replace("CCTV9记录", "CCTV9")
  253. name = name.replace("CCTV9纪录", "CCTV9")
  254. name = name.replace("CCTV10科教", "CCTV10")
  255. name = name.replace("CCTV11戏曲", "CCTV11")
  256. name = name.replace("CCTV12社会与法", "CCTV12")
  257. name = name.replace("CCTV13新闻", "CCTV13")
  258. name = name.replace("CCTV新闻", "CCTV13")
  259. name = name.replace("CCTV14少儿", "CCTV14")
  260. name = name.replace("CCTV15音乐", "CCTV15")
  261. name = name.replace("CCTV16奥林匹克", "CCTV16")
  262. name = name.replace("CCTV17农业农村", "CCTV17")
  263. name = name.replace("CCTV17农业", "CCTV17")
  264. name = name.replace("CCTV5+体育赛视", "CCTV5+")
  265. name = name.replace("CCTV5+体育赛事", "CCTV5+")
  266. name = name.replace("CCTV5+体育", "CCTV5+")
  267. results.append(f"{name},{urld}")
  268. except:
  269. continue
  270. except:
  271. continue
  272. except:
  273. continue
  274. results = set(results) # 去重得到唯一的URL列表
  275. results = sorted(results)
  276. with open("itv.txt", 'w', encoding='utf-8') as file:
  277. for result in results:
  278. file.write(result + "\n")
  279. print(result)