This commit is contained in:
Harold
2026-05-13 15:40:25 +08:00
parent b84d1ad21e
commit b8a21ca66e
6 changed files with 883 additions and 942 deletions
+642 -681
View File
@@ -1,12 +1,12 @@
{
"generated_at": "2026-05-13T14:53:44+08:00",
"generated_at": "2026-05-13T15:39:43+08:00",
"max_workers": 16,
"total_duration_ms": 60822.824,
"total_duration_ms": 41817.712,
"summary": {
"total": 72,
"total": 71,
"success": 59,
"failed": 13,
"success_rate": 0.8194,
"failed": 12,
"success_rate": 0.831,
"stage_failures": {
"module_load": 0,
"init": 0,
@@ -14,7 +14,7 @@
"category": 1,
"detail": 0,
"player": 1,
"url_check": 5,
"url_check": 4,
"unexpected": 5
}
},
@@ -27,14 +27,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 142.538,
"module_load": 210.586,
"init": 0.001,
"home": 0.002,
"category": 3866.932,
"detail": 2267.5,
"player": 0.005,
"url_check": 159.054,
"total": 6440.657
"category": 2020.781,
"detail": 1488.039,
"player": 0.004,
"url_check": 228.076,
"total": 3949.219
},
"counts": {
"classes": 5,
@@ -66,14 +66,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 142.528,
"init": 0.003,
"module_load": 114.855,
"init": 0.002,
"home": 0.001,
"category": 2292.091,
"detail": 2617.233,
"category": 2014.243,
"detail": 1222.757,
"player": 0.002,
"url_check": 0.058,
"total": 5064.809
"url_check": 0.054,
"total": 3352.418
},
"counts": {
"classes": 12,
@@ -105,14 +105,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 163.253,
"module_load": 203.684,
"init": 0.001,
"home": 3020.586,
"category": 2378.155,
"detail": 2354.251,
"player": 2295.857,
"url_check": 315.141,
"total": 10570.911
"home": 2499.706,
"category": 1294.995,
"detail": 1319.924,
"player": 1265.071,
"url_check": 332.458,
"total": 6924.094
},
"counts": {
"classes": 6,
@@ -132,7 +132,7 @@
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://lv-sycdn.kuwo.cn/7da80ea5cc8ffa2cb64daeaa7a7a4bcf/6a042003/resource/1307392909/trackmedia/C200000W91kQ0efKLA.m4a?from=vip",
"final_url": "https://lv-sycdn.kuwo.cn/90bcebe26786a6fc773f5559a66f1a02/6a042ac6/resource/1307392909/trackmedia/C200000W91kQ0efKLA.m4a?from=vip",
"reason": null
}
},
@@ -144,14 +144,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 254.275,
"module_load": 242.545,
"init": 0.001,
"home": 0.001,
"category": 2700.567,
"detail": 2210.571,
"player": 0.013,
"url_check": 1962.188,
"total": 7128.413
"home": 0.0,
"category": 1446.698,
"detail": 1409.903,
"player": 0.014,
"url_check": 810.386,
"total": 3910.092
},
"counts": {
"classes": 2,
@@ -183,14 +183,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 207.096,
"init": 0.008,
"home": 0.002,
"category": 523.991,
"detail": 583.577,
"player": 395.088,
"url_check": 150.743,
"total": 1863.732
"module_load": 164.801,
"init": 0.009,
"home": 0.003,
"category": 538.912,
"detail": 502.844,
"player": 368.435,
"url_check": 75.557,
"total": 1657.198
},
"counts": {
"classes": 6,
@@ -206,11 +206,11 @@
},
"player": {
"parse": 0,
"url": "https://isure.stream.qqmusic.qq.com/F000003Iu5fo0mXVj2.flac?guid=cfb88f0d69f0871bc19b54ef82875a4d&vkey=E832D245D7284F9D7E3FFBE8D706A27AAD682C81EB2127E1C758068181E7B7203920573EEDF2A498A2807130D913F42E5162700628DF80A1__v2b94c723&uin=1152921504846230218&fromtag=119114&redirect=1",
"url": "https://isure.stream.qqmusic.qq.com/F000003Iu5fo0mXVj2.flac?guid=e972ec7ee4e862c9596b6421e37fc1b7&vkey=A680A543C760CE3581CD1BA1BFF9E0F9994D6B37B586693D2FEFB94DA7A334ECA9095692EBB15D077B92D0161E9A4A0789D3D3F26289DAF0__v2b9ab6c8&uin=1152921504846230218&fromtag=119114&redirect=1",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://isure.stream.qqmusic.qq.com/F000003Iu5fo0mXVj2.flac?guid=cfb88f0d69f0871bc19b54ef82875a4d&vkey=E832D245D7284F9D7E3FFBE8D706A27AAD682C81EB2127E1C758068181E7B7203920573EEDF2A498A2807130D913F42E5162700628DF80A1__v2b94c723&uin=1152921504846230218&fromtag=119114&redirect=1",
"final_url": "https://isure.stream.qqmusic.qq.com/F000003Iu5fo0mXVj2.flac?guid=e972ec7ee4e862c9596b6421e37fc1b7&vkey=A680A543C760CE3581CD1BA1BFF9E0F9994D6B37B586693D2FEFB94DA7A334ECA9095692EBB15D077B92D0161E9A4A0789D3D3F26289DAF0__v2b9ab6c8&uin=1152921504846230218&fromtag=119114&redirect=1",
"reason": null
}
},
@@ -222,14 +222,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 147.057,
"module_load": 131.129,
"init": 0.001,
"home": 0.0,
"category": 2157.511,
"detail": 2027.298,
"player": 0.004,
"url_check": 342.266,
"total": 4675.5
"home": 0.001,
"category": 2164.058,
"detail": 995.291,
"player": 0.005,
"url_check": 340.712,
"total": 3665.769
},
"counts": {
"classes": 6,
@@ -261,34 +261,34 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 158.019,
"module_load": 168.322,
"init": 0.001,
"home": 0.001,
"category": 3701.892,
"detail": 4491.348,
"player": 5907.223,
"url_check": 2272.563,
"total": 16542.64
"category": 2876.247,
"detail": 1921.434,
"player": 1635.223,
"url_check": 1383.371,
"total": 7989.136
},
"counts": {
"classes": 7,
"category_videos": 216,
"category_videos": 217,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "index",
"vod_id": "202746",
"vod_id": "203471",
"flag": "YouKnowTV",
"play_id": "eyJ2b2RfaWQiOiIyMDI3NDYiLCJlcGlzb2RlX2luZGV4IjoxLCJ0aXRsZSI6IjIwMjYwMzI05LiKIiwiY2FuZGlkYXRlcyI6W3sic291cmNlIjoi57q_6LevMSIsInNvdXJjZV9pZCI6IjEiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8yMDI3NDYtMS0xLyJ9LHsic291cmNlIjoi57q_6LevMiIsInNvdXJjZV9pZCI6IjEiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8yMDI3NDYtMS0xLyJ9LHsic291cmNlIjoi57q_6LevMjciLCJzb3VyY2VfaWQiOiIyIiwiZXBpc29kZV91cmwiOiJodHRwczovL3d3dy55b3Vrbm93LnR2L3AvMjAyNzQ2LTItMS8ifSx7InNvdXJjZSI6Iue6v-i3rzI4Iiwic291cmNlX2lkIjoiMiIsImVwaXNvZGVfdXJsIjoiaHR0cHM6Ly93d3cueW91a25vdy50di9wLzIwMjc0Ni0yLTEvIn1dfQ"
"play_id": "eyJ2b2RfaWQiOiIyMDM0NzEiLCJlcGlzb2RlX2luZGV4IjoxLCJ0aXRsZSI6IuesrDAx6ZuGIiwiY2FuZGlkYXRlcyI6W3sic291cmNlIjoi57q_6LevMSIsInNvdXJjZV9pZCI6IjEiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8yMDM0NzEtMS0xLyJ9LHsic291cmNlIjoi57q_6LevMiIsInNvdXJjZV9pZCI6IjEiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8yMDM0NzEtMS0xLyJ9LHsic291cmNlIjoi57q_6LevMzEiLCJzb3VyY2VfaWQiOiIyIiwiZXBpc29kZV91cmwiOiJodHRwczovL3d3dy55b3Vrbm93LnR2L3AvMjAzNDcxLTItMS8ifSx7InNvdXJjZSI6Iue6v-i3rzMyIiwic291cmNlX2lkIjoiMiIsImVwaXNvZGVfdXJsIjoiaHR0cHM6Ly93d3cueW91a25vdy50di9wLzIwMzQ3MS0yLTEvIn1dfQ"
},
"player": {
"parse": 0,
"url": "https://vip.dytt-tvs.com/20260324/13984_bf15fc64/index.m3u8",
"url": "https://vip.dytt-tvs.com/20260426/17963_4a90df08/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://cnvod.jimxtc.com/20260324/13984_bf15fc64/index.m3u8",
"final_url": "https://cnvod.jimxtc.com/20260426/17963_4a90df08/index.m3u8",
"reason": null
}
},
@@ -300,14 +300,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 142.894,
"init": 0.003,
"module_load": 124.224,
"init": 0.004,
"home": 0.001,
"category": 2494.427,
"detail": 2548.354,
"player": 0.003,
"url_check": 1868.908,
"total": 7056.331
"category": 3052.975,
"detail": 1230.612,
"player": 0.002,
"url_check": 222.214,
"total": 4631.703
},
"counts": {
"classes": 5,
@@ -317,17 +317,17 @@
},
"samples": {
"tid": "1",
"vod_id": "481133",
"flag": "百度1",
"play_id": "https://pan.baidu.com/s/10vq8gNbjpazZbbVN07aS_Q?pwd=bgf4"
"vod_id": "435293",
"flag": "夸克1",
"play_id": "https://pan.quark.cn/s/40aa34f934fd"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/10vq8gNbjpazZbbVN07aS_Q?pwd=bgf4",
"url": "https://pan.quark.cn/s/40aa34f934fd",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=0vq8gNbjpazZbbVN07aS_Q&pwd=bgf4",
"final_url": "https://pan.quark.cn/s/40aa34f934fd",
"reason": null
}
},
@@ -339,14 +339,14 @@
"error": "playerContent 未返回播放地址",
"traceback": null,
"timings_ms": {
"module_load": 164.231,
"module_load": 204.291,
"init": 0.001,
"home": 2107.393,
"category": 2875.931,
"detail": 3814.304,
"player": 0.006,
"home": 2134.181,
"category": 1741.735,
"detail": 2873.841,
"player": 0.023,
"url_check": 0.0,
"total": 13827.339
"total": 11525.489
},
"counts": {
"classes": 5,
@@ -378,14 +378,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 146.483,
"module_load": 175.732,
"init": 0.001,
"home": 259.617,
"category": 161.695,
"detail": 192.381,
"player": 0.005,
"url_check": 434.447,
"total": 1198.946
"home": 265.692,
"category": 173.929,
"detail": 175.061,
"player": 0.007,
"url_check": 548.032,
"total": 1339.098
},
"counts": {
"classes": 5,
@@ -395,17 +395,17 @@
},
"samples": {
"tid": "home",
"vod_id": "song:tthnmwmemy",
"vod_id": "song:hwtdtnkmet",
"flag": "世纪音乐",
"play_id": "music:tthnmwmemy"
"play_id": "music:hwtdtnkmet"
},
"player": {
"parse": 0,
"url": "https://www.4c44.com/data/down.php?ac=music&id=tthnmwmemy",
"url": "https://www.4c44.com/data/down.php?ac=music&id=hwtdtnkmet",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://m701.music.126.net/20260513151846/161acda79789de6f3c7cbf9c2388a1f0/jdymusic/obj/wo3DlMOGwrbDjj7DisKw/77029674422/49ff/f3ab/0519/665ad100e6715456cc844f954c707f23.mp3?vuutv=EXVulKJoXASF7kbqYVRQ9NhDSN0CMd/JkKHP3io0kYANAeGe/8x37B2YX9et3lboP0ZrLN2W+QxSTjOF2KklO++a8EUWUYTrNf+6oNVstIk=",
"final_url": "http://m701.music.126.net/20260513160444/f104984c1e672cf0b85980f80867bba0/jdymusic/obj/wo3DlMOGwrbDjj7DisKw/26773661370/7b0d/7964/1eef/ce1382fdf47c606f2d6302dd0afd3924.mp3?vuutv=iR1Tu/DWH8NxeYgc40w/lryiLMvvfvneq1XOKbZOwWroTqhifcxNzAzXv4hsIcaq02kQu/mmL4gk8SiZv5e/JjKlC7I13MHAyQNtsR//Hi0=",
"reason": null
}
},
@@ -417,14 +417,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 221.441,
"module_load": 209.98,
"init": 0.001,
"home": 0.001,
"category": 4627.392,
"detail": 2025.57,
"player": 4116.18,
"url_check": 3095.531,
"total": 14086.654
"category": 1114.881,
"detail": 994.938,
"player": 2386.058,
"url_check": 1359.779,
"total": 6066.358
},
"counts": {
"classes": 14,
@@ -456,14 +456,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 137.357,
"module_load": 190.153,
"init": 0.001,
"home": 1956.92,
"category": 2034.918,
"detail": 14767.631,
"player": 0.025,
"url_check": 5296.529,
"total": 24195.451
"home": 844.605,
"category": 960.063,
"detail": 3814.681,
"player": 0.031,
"url_check": 2415.399,
"total": 18333.407
},
"counts": {
"classes": 7,
@@ -472,18 +472,18 @@
"episodes": 1
},
"samples": {
"tid": "movie",
"vod_id": "483203",
"tid": "tv_series",
"vod_id": "41042",
"flag": "乌云影视",
"play_id": "eyJtZWRpYUlkIjogIjQ4MzIwMyIsICJzZWFzb25ObyI6IDEsICJlcE5vIjogMSwgInZpZGVvSWQiOiAxNTc2MjgzMiwgInBsYXlVcmwiOiAiaHR0cHM6Ly9kMWpkbm1rYzFuNWNuNC5jbG91ZGZyb250Lm5ldC9nZW5fb3ZlcnNlYXMvaHR0cHM6Ly9zMi5iZmxsdmlwLmNvbS92aWRlby95YW54aWF4aW5nL2E2ZWY4NTRjMGMxZi9pbmRleC5tM3U4IiwgIm5hbWUiOiAi56ysMembhiDpq5jmuIUifQ"
"play_id": "eyJtZWRpYUlkIjogIjQxMDQyIiwgInNlYXNvbk5vIjogMSwgImVwTm8iOiAxLCAidmlkZW9JZCI6IDc2MjEyLCAicGxheVVybCI6ICJodHRwczovL2QxamRubWtjMW41Y240LmNsb3VkZnJvbnQubmV0L2dlbl9vdmVyc2Vhcy9odHRwczovL2MxLnJyY2RuYmYyLmNvbS92aWRlby9zaG91d2FuZy_nrKwwMembhi9pbmRleC5tM3U4IiwgIm5hbWUiOiAi56ysMembhiDnrKwwMembhiJ9"
},
"player": {
"parse": 0,
"url": "https://d1jdnmkc1n5cn4.cloudfront.net/gen_overseas/https://s2.bfllvip.com/video/yanxiaxing/a6ef854c0c1f/index.m3u8",
"url": "https://d1jdnmkc1n5cn4.cloudfront.net/gen_overseas/https://c1.rrcdnbf2.com/video/shouwang/第01集/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://d1jdnmkc1n5cn4.cloudfront.net/hls_overseas/d4e7b0effc0e1adb8946c23fdda9a271fe629a74.m3u8",
"final_url": "https://d1jdnmkc1n5cn4.cloudfront.net/hls_overseas/11772e16cc79ca759a267fb5ea4253824545052d.m3u8",
"reason": null
}
},
@@ -495,14 +495,14 @@
"error": "HTTPSConnectionPool(host='www.letu.me', port=443): Read timed out. (read timeout=10)",
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 464, in _make_request\n self._validate_conn(conn)\n ~~~~~~~~~~~~~~~~~~~^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 1093, in _validate_conn\n conn.connect()\n ~~~~~~~~~~~~^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 796, in connect\n sock_and_verified = _ssl_wrap_socket_and_match_hostname(\n sock=sock,\n ...<14 lines>...\n assert_fingerprint=self.assert_fingerprint,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 975, in _ssl_wrap_socket_and_match_hostname\n ssl_sock = ssl_wrap_socket(\n sock=sock,\n ...<8 lines>...\n tls_in_tls=tls_in_tls,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/ssl_.py\", line 483, in ssl_wrap_socket\n ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls, server_hostname)\nTimeoutError: _ssl.c:1063: The handshake operation timed out\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/requests/adapters.py\", line 645, in send\n resp = conn.urlopen(\n method=request.method,\n ...<9 lines>...\n chunked=chunked,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 841, in urlopen\n retries = retries.increment(\n method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/retry.py\", line 490, in increment\n raise reraise(type(error), error, _stacktrace)\n ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/util.py\", line 39, in reraise\n raise value\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\nurllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='www.letu.me', port=443): Read timed out. (read timeout=10)\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 680, in validate_spider_file\n _validate_from_tid(\n ~~~~~~~~~~~~~~~~~~^\n spider=spider,\n ^^^^^^^^^^^^^^\n ...<6 lines>...\n logger=logger,\n ^^^^^^^^^^^^^^\n )\n ^\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 405, in _validate_from_tid\n category_result = _run_timed(result[\"timings_ms\"], \"category\", spider.categoryContent, clock, tid, \"1\", False, {})\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 291, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/乐兔.txt\", line 117, in categoryContent\n File \"/home/harold/workspace/tvbox-resources/py/乐兔.txt\", line 72, in _request_html\nrequests.exceptions.ReadTimeout: HTTPSConnectionPool(host='www.letu.me', port=443): Read timed out. (read timeout=10)\n",
"timings_ms": {
"module_load": 168.585,
"module_load": 192.727,
"init": 0.001,
"home": 0.001,
"category": 10035.964,
"home": 0.0,
"category": 10029.069,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 10243.61
"total": 10226.407
},
"counts": {
"classes": 5,
@@ -534,14 +534,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 151.516,
"init": 0.001,
"home": 0.001,
"category": 2504.305,
"detail": 2852.573,
"player": 0.005,
"url_check": 1411.329,
"total": 6972.424
"module_load": 133.983,
"init": 0.004,
"home": 0.002,
"category": 2654.329,
"detail": 1020.195,
"player": 0.004,
"url_check": 1541.639,
"total": 5385.512
},
"counts": {
"classes": 4,
@@ -573,14 +573,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 206.985,
"module_load": 131.395,
"init": 0.001,
"home": 0.001,
"category": 3037.058,
"detail": 2301.43,
"player": 0.011,
"url_check": 1342.143,
"total": 6892.888
"home": 0.002,
"category": 2189.544,
"detail": 1558.768,
"player": 0.007,
"url_check": 1171.214,
"total": 5087.01
},
"counts": {
"classes": 4,
@@ -612,14 +612,14 @@
"error": "HTTP 403",
"traceback": null,
"timings_ms": {
"module_load": 210.731,
"init": 0.003,
"home": 254.593,
"category": 280.405,
"detail": 280.38,
"player": 425.357,
"url_check": 312.299,
"total": 3021.12
"module_load": 194.645,
"init": 0.001,
"home": 273.929,
"category": 281.596,
"detail": 270.071,
"player": 350.995,
"url_check": 176.273,
"total": 2691.845
},
"counts": {
"classes": 4,
@@ -635,11 +635,11 @@
},
"player": {
"parse": 0,
"url": "https://a3fkpcul3b4qlid.302.fledgecloud.com:56782/zj-302-cdn.bwcgee.cn/d03d598a130371f188926733a68f0402/cc6df813bad94a13bce4851918016715-2498cc62f9f8dad4c656ed2c1c108944-ld.mp4?auth_key=1778669627-e464ebc4e4818d7a9c1a2586b2a262fc-0-d6d25d4c3d3d5ab0035033310643b5be&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=c5eb08277fca4f2c8b45f65a4690dd74&hevc=false&seasonId=56609",
"url": "https://tfvu1gr3demttga51hctt8rzdkpy.ourdvsssvip.com:20443/ws-302.bwcgee.cn/d03d598a130371f188926733a68f0402/cc6df813bad94a13bce4851918016715-2498cc62f9f8dad4c656ed2c1c108944-ld.mp4?key=6a97dc0c0d76877214421551f7aa8cab&time=1778672386308&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=6fbb327bcdf34241a9024aedbd2b8991&hevc=false&seasonId=56609&wsiphost=ipdbme&wsrid_tag=6a042ac2_PS-CTU-01y7n22_41853-45140-s1t1778657986389&x-mamba-business-label=13551&redirect_cnt=0&ip_type=0&wshc=C&requery=0",
"valid": false,
"reachable": false,
"status_code": 403,
"final_url": "https://a3fkpcul3b4qlid.302.fledgecloud.com:56782/zj-302-cdn.bwcgee.cn/d03d598a130371f188926733a68f0402/cc6df813bad94a13bce4851918016715-2498cc62f9f8dad4c656ed2c1c108944-ld.mp4?auth_key=1778669627-e464ebc4e4818d7a9c1a2586b2a262fc-0-d6d25d4c3d3d5ab0035033310643b5be&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=c5eb08277fca4f2c8b45f65a4690dd74&hevc=false&seasonId=56609",
"final_url": "https://tfvu1gr3demttga51hctt8rzdkpy.ourdvsssvip.com:20443/ws-302.bwcgee.cn/d03d598a130371f188926733a68f0402/cc6df813bad94a13bce4851918016715-2498cc62f9f8dad4c656ed2c1c108944-ld.mp4?key=6a97dc0c0d76877214421551f7aa8cab&time=1778672386308&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=6fbb327bcdf34241a9024aedbd2b8991&hevc=false&seasonId=56609&wsiphost=ipdbme&wsrid_tag=6a042ac2_PS-CTU-01y7n22_41853-45140-s1t1778657986389&x-mamba-business-label=13551&redirect_cnt=0&ip_type=0&wshc=C&requery=0",
"reason": "HTTP 403"
}
},
@@ -651,14 +651,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 15.041,
"init": 0.002,
"home": 0.002,
"category": 457.161,
"detail": 583.318,
"player": 0.005,
"url_check": 279.253,
"total": 1335.508
"module_load": 8.628,
"init": 0.001,
"home": 0.001,
"category": 315.065,
"detail": 637.586,
"player": 0.002,
"url_check": 286.355,
"total": 1248.043
},
"counts": {
"classes": 6,
@@ -690,14 +690,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 18.587,
"init": 0.002,
"home": 0.002,
"category": 3562.006,
"detail": 2762.566,
"player": 0.015,
"url_check": 133.124,
"total": 6477.057
"module_load": 4.458,
"init": 0.001,
"home": 0.001,
"category": 1412.438,
"detail": 2728.376,
"player": 0.01,
"url_check": 148.394,
"total": 4294.194
},
"counts": {
"classes": 4,
@@ -726,17 +726,17 @@
"file": "修罗.txt",
"success": false,
"failed_stage": "url_check",
"error": "HTTPSConnectionPool(host='www.bde4.cc', port=443): Read timed out. (read timeout=5)",
"error": "HTTPSConnectionPool(host='www.bde4.cc', port=443): Max retries exceeded with url: /510ED26DE4746A134A040FA9D3887C0C43FE6008AE1653283692892AB53C46E1FB4F9324C5397440F318FB7B0CEC8C5BFA89FD391A0645F0285AB8B70B632A6D.m3u8 (Caused by SSLError(SSLError(1, '[SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1081)')))",
"traceback": null,
"timings_ms": {
"module_load": 7.77,
"module_load": 6.464,
"init": 0.001,
"home": 0.001,
"category": 2227.948,
"detail": 1752.779,
"player": 6491.009,
"url_check": 5012.094,
"total": 30562.498
"category": 1774.484,
"detail": 1465.353,
"player": 5482.801,
"url_check": 1746.765,
"total": 19245.485
},
"counts": {
"classes": 4,
@@ -757,45 +757,45 @@
"reachable": false,
"status_code": null,
"final_url": "https://www.bde4.cc/510ED26DE4746A134A040FA9D3887C0C43FE6008AE1653283692892AB53C46E1FB4F9324C5397440F318FB7B0CEC8C5BFA89FD391A0645F0285AB8B70B632A6D.m3u8#maliva",
"reason": "HTTPSConnectionPool(host='www.bde4.cc', port=443): Read timed out. (read timeout=5)"
"reason": "HTTPSConnectionPool(host='www.bde4.cc', port=443): Max retries exceeded with url: /510ED26DE4746A134A040FA9D3887C0C43FE6008AE1653283692892AB53C46E1FB4F9324C5397440F318FB7B0CEC8C5BFA89FD391A0645F0285AB8B70B632A6D.m3u8 (Caused by SSLError(SSLError(1, '[SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1081)')))"
}
},
{
"spider": "凡客TV",
"file": "凡客TV.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"success": false,
"failed_stage": "unexpected",
"error": "HTTPSConnectionPool(host='fktv.me', port=443): Read timed out. (read timeout=10)",
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 534, in _make_request\n response = conn.getresponse()\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 571, in getresponse\n httplib_response = super().getresponse()\n File \"/home/harold/.local/share/uv/python/cpython-3.14.3-linux-x86_64-gnu/lib/python3.14/http/client.py\", line 1450, in getresponse\n response.begin()\n ~~~~~~~~~~~~~~^^\n File \"/home/harold/.local/share/uv/python/cpython-3.14.3-linux-x86_64-gnu/lib/python3.14/http/client.py\", line 336, in begin\n version, status, reason = self._read_status()\n ~~~~~~~~~~~~~~~~~^^\n File \"/home/harold/.local/share/uv/python/cpython-3.14.3-linux-x86_64-gnu/lib/python3.14/http/client.py\", line 297, in _read_status\n line = str(self.fp.readline(_MAXLINE + 1), \"iso-8859-1\")\n ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^\nTimeoutError: The read operation timed out\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/requests/adapters.py\", line 645, in send\n resp = conn.urlopen(\n method=request.method,\n ...<9 lines>...\n chunked=chunked,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 841, in urlopen\n retries = retries.increment(\n method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/retry.py\", line 490, in increment\n raise reraise(type(error), error, _stacktrace)\n ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/util.py\", line 39, in reraise\n raise value\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\nurllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='fktv.me', port=443): Read timed out. (read timeout=10)\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 680, in validate_spider_file\n _validate_from_tid(\n ~~~~~~~~~~~~~~~~~~^\n spider=spider,\n ^^^^^^^^^^^^^^\n ...<6 lines>...\n logger=logger,\n ^^^^^^^^^^^^^^\n )\n ^\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 405, in _validate_from_tid\n category_result = _run_timed(result[\"timings_ms\"], \"category\", spider.categoryContent, clock, tid, \"1\", False, {})\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 291, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/凡客TV.txt\", line 157, in categoryContent\n File \"/home/harold/workspace/tvbox-resources/py/凡客TV.txt\", line 68, in _request_html\nrequests.exceptions.ReadTimeout: HTTPSConnectionPool(host='fktv.me', port=443): Read timed out. (read timeout=10)\n",
"timings_ms": {
"module_load": 6.093,
"module_load": 4.294,
"init": 0.001,
"home": 0.0,
"category": 3875.368,
"detail": 2532.303,
"player": 4685.473,
"url_check": 5266.524,
"total": 16366.205
"home": 0.001,
"category": 10524.172,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 10530.053
},
"counts": {
"classes": 8,
"category_videos": 32,
"detail_videos": 1,
"episodes": 1
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "1",
"vod_id": "b759a032caab0687",
"flag": "高速线路",
"play_id": "{\"movie_id\":\"b759a032caab0687\",\"link_id\":\"ee2850af60c6cb015c2589a05c922a37\",\"line_id\":\"line1\",\"line_name\":\"高速线路\",\"episode_name\":\"1080p\",\"type\":\"switch\",\"page\":\"https://fktv.me/movie/detail/b759a032caab0687\"}"
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": 0,
"url": "https://fktv.me/ysapi/m3u8/p/82778604c3fc76b5aa66c581d7e448b2.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://fktv.me/ysapi/m3u8/p/82778604c3fc76b5aa66c581d7e448b2.m3u8",
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
@@ -807,14 +807,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.086,
"module_load": 5.138,
"init": 0.001,
"home": 0.001,
"category": 4253.403,
"detail": 3524.928,
"player": 12570.81,
"url_check": 6048.613,
"total": 26403.231
"home": 0.0,
"category": 5875.682,
"detail": 4732.787,
"player": 25095.135,
"url_check": 2754.653,
"total": 38463.955
},
"counts": {
"classes": 5,
@@ -824,17 +824,17 @@
},
"samples": {
"tid": "dianying",
"vod_id": "vod/62720",
"flag": "FF备用",
"play_id": "play/62720-1-1"
"vod_id": "vod/62978",
"flag": "BF备用",
"play_id": "play/62978-2-1"
},
"player": {
"parse": 1,
"url": "https://www.jqqzx.cc/play/62720-1-1.html",
"url": "https://www.jqqzx.cc/play/62978-2-1.html",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://www.jqqzx.one/play/62720-1-1.html",
"final_url": "https://www.jqqzx.one/play/62978-2-1.html",
"reason": null
}
},
@@ -846,14 +846,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.131,
"init": 0.001,
"module_load": 4.644,
"init": 0.007,
"home": 0.0,
"category": 2127.455,
"detail": 2179.256,
"player": 2495.763,
"url_check": 3038.995,
"total": 9846.998
"category": 1180.366,
"detail": 1437.29,
"player": 1623.368,
"url_check": 1831.572,
"total": 6078.292
},
"counts": {
"classes": 6,
@@ -885,14 +885,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.089,
"init": 0.001,
"home": 3214.959,
"category": 301.418,
"detail": 819.062,
"player": 0.003,
"url_check": 262.834,
"total": 4602.81
"module_load": 4.426,
"init": 0.0,
"home": 3221.99,
"category": 299.253,
"detail": 832.541,
"player": 0.002,
"url_check": 73.257,
"total": 4432.323
},
"counts": {
"classes": 11,
@@ -924,14 +924,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.276,
"init": 339.527,
"module_load": 3.216,
"init": 350.035,
"home": 0.004,
"category": 188.31,
"detail": 199.119,
"category": 211.224,
"detail": 176.078,
"player": 0.003,
"url_check": 199.103,
"total": 930.035
"url_check": 225.741,
"total": 967.158
},
"counts": {
"classes": 7,
@@ -963,14 +963,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.947,
"init": 77.989,
"module_load": 3.649,
"init": 84.613,
"home": 0.001,
"category": 182.968,
"detail": 2537.167,
"player": 302.304,
"url_check": 164.902,
"total": 3270.992
"category": 193.89,
"detail": 506.64,
"player": 295.762,
"url_check": 180.869,
"total": 1265.958
},
"counts": {
"classes": 11,
@@ -986,11 +986,11 @@
},
"player": {
"parse": 0,
"url": "http://audiopay.cos.tx.xmcdn.com/download/1.0.0/storages/b817-audiopay/16/AA/GKwRIaIGGaRGADgE-gEx_hMS-aacv2-48K.m4a?sign=cd5e1bef37a9ef8fb792a4acdc772bd6&buy_key=FM&token=9985&timestamp=1778655235&duration=453",
"url": "http://audiopay.cos.tx.xmcdn.com/download/1.0.0/storages/b817-audiopay/16/AA/GKwRIaIGGaRGADgE-gEx_hMS-aacv2-48K.m4a?sign=be590b59ebfd30051465f34c4b76a4d5&buy_key=FM&token=2833&timestamp=1778657989&duration=453",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://audiopay.cos.tx.xmcdn.com/download/1.0.0/storages/b817-audiopay/16/AA/GKwRIaIGGaRGADgE-gEx_hMS-aacv2-48K.m4a?sign=cd5e1bef37a9ef8fb792a4acdc772bd6&buy_key=FM&token=9985&timestamp=1778655235&duration=453",
"final_url": "http://audiopay.cos.tx.xmcdn.com/download/1.0.0/storages/b817-audiopay/16/AA/GKwRIaIGGaRGADgE-gEx_hMS-aacv2-48K.m4a?sign=be590b59ebfd30051465f34c4b76a4d5&buy_key=FM&token=2833&timestamp=1778657989&duration=453",
"reason": null
}
},
@@ -1002,14 +1002,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 10.63,
"module_load": 9.547,
"init": 0.001,
"home": 2926.25,
"category": 3550.837,
"detail": 4845.469,
"player": 4051.322,
"url_check": 157.694,
"total": 15544.161
"home": 1571.97,
"category": 1478.899,
"detail": 2943.78,
"player": 2523.145,
"url_check": 163.394,
"total": 8692.275
},
"counts": {
"classes": 8,
@@ -1025,11 +1025,11 @@
},
"player": {
"parse": 0,
"url": "https://file.hgeuz.cn/stream/eJwANwDI_wJVZgVKIIrU0ECux-GJ1PSt38ahythCqsH-r9TAQ4rj5F94rOjbQKjk063xyIX2z3hfeGcIHF4BAAD__5DtISY.?ts=1778652734&sign=19bbdbceb6ed35f64e7cad66d42b5aee",
"url": "https://file.hgeuz.cn/stream/eJwANwDI_wJVZgVKIIrU0ECux-GJ1PSt38ahythCqsH-r9TAQ4rj5F94rOjbQKjk063xyIX2z3hfeGcIHF4BAAD__5DtISY.?ts=1778657996&sign=94219b8916163ae517b1dab207c49c2f",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://file.hgeuz.cn/stream/eJwANwDI_wJVZgVKIIrU0ECux-GJ1PSt38ahythCqsH-r9TAQ4rj5F94rOjbQKjk063xyIX2z3hfeGcIHF4BAAD__5DtISY.?ts=1778652734&sign=19bbdbceb6ed35f64e7cad66d42b5aee",
"final_url": "https://file.hgeuz.cn/stream/eJwANwDI_wJVZgVKIIrU0ECux-GJ1PSt38ahythCqsH-r9TAQ4rj5F94rOjbQKjk063xyIX2z3hfeGcIHF4BAAD__5DtISY.?ts=1778657996&sign=94219b8916163ae517b1dab207c49c2f",
"reason": null
}
},
@@ -1041,14 +1041,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.515,
"init": 0.004,
"home": 1965.996,
"category": 2222.811,
"detail": 2139.411,
"player": 3589.662,
"url_check": 80.32,
"total": 10007.357
"module_load": 8.518,
"init": 0.005,
"home": 1698.255,
"category": 1241.794,
"detail": 1315.193,
"player": 3132.989,
"url_check": 112.961,
"total": 7510.269
},
"counts": {
"classes": 3,
@@ -1064,11 +1064,11 @@
},
"player": {
"parse": 0,
"url": "https://p3-bot-workflow-sign.byteimg.com/tos-cn-i-mdko3gqilj/c87332e45fc54a998855db93afefd79b~tplv-mdko3gqilj-image.image?rk3s=81d4c505&x-expires=1809759241&x-signature=peYXFkP9YXxhc7Bu34dkTW6c5kw%3D",
"url": "https://p26-bot-workflow-sign.byteimg.com/tos-cn-i-mdko3gqilj/c87332e45fc54a998855db93afefd79b~tplv-mdko3gqilj-image.image?rk3s=81d4c505&x-expires=1809761995&x-signature=OOGxIO65Jw45EI%2Fe%2BIZxY9xtR4s%3D",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://p3-bot-workflow-sign.byteimg.com/tos-cn-i-mdko3gqilj/c87332e45fc54a998855db93afefd79b~tplv-mdko3gqilj-image.image?rk3s=81d4c505&x-expires=1809759241&x-signature=peYXFkP9YXxhc7Bu34dkTW6c5kw%3D",
"final_url": "https://p26-bot-workflow-sign.byteimg.com/tos-cn-i-mdko3gqilj/c87332e45fc54a998855db93afefd79b~tplv-mdko3gqilj-image.image?rk3s=81d4c505&x-expires=1809761995&x-signature=OOGxIO65Jw45EI%2Fe%2BIZxY9xtR4s%3D",
"reason": null
}
},
@@ -1080,14 +1080,14 @@
"error": "HTTPSConnectionPool(host='40000.me', port=443): Max retries exceeded with url: /api/maccms?ac=detail&t=20&pg=1&by=time (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate (_ssl.c:1081)')))",
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 464, in _make_request\n self._validate_conn(conn)\n ~~~~~~~~~~~~~~~~~~~^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 1093, in _validate_conn\n conn.connect()\n ~~~~~~~~~~~~^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 796, in connect\n sock_and_verified = _ssl_wrap_socket_and_match_hostname(\n sock=sock,\n ...<14 lines>...\n assert_fingerprint=self.assert_fingerprint,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 975, in _ssl_wrap_socket_and_match_hostname\n ssl_sock = ssl_wrap_socket(\n sock=sock,\n ...<8 lines>...\n tls_in_tls=tls_in_tls,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/ssl_.py\", line 483, in ssl_wrap_socket\n ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls, server_hostname)\nssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate (_ssl.c:1081)\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 488, in _make_request\n raise new_e\nurllib3.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate (_ssl.c:1081)\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/requests/adapters.py\", line 645, in send\n resp = conn.urlopen(\n method=request.method,\n ...<9 lines>...\n chunked=chunked,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 841, in urlopen\n retries = retries.increment(\n method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/retry.py\", line 535, in increment\n raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nurllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='40000.me', port=443): Max retries exceeded with url: /api/maccms?ac=detail&t=20&pg=1&by=time (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate (_ssl.c:1081)')))\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 680, in validate_spider_file\n _validate_from_tid(\n ~~~~~~~~~~~~~~~~~~^\n spider=spider,\n ^^^^^^^^^^^^^^\n ...<6 lines>...\n logger=logger,\n ^^^^^^^^^^^^^^\n )\n ^\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 405, in _validate_from_tid\n category_result = _run_timed(result[\"timings_ms\"], \"category\", spider.categoryContent, clock, tid, \"1\", False, {})\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 291, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/四万影视.txt\", line 238, in categoryContent\n File \"/home/harold/workspace/tvbox-resources/py/四万影视.txt\", line 212, in _api_get\nrequests.exceptions.SSLError: HTTPSConnectionPool(host='40000.me', port=443): Max retries exceeded with url: /api/maccms?ac=detail&t=20&pg=1&by=time (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate (_ssl.c:1081)')))\n",
"timings_ms": {
"module_load": 4.154,
"init": 0.001,
"home": 0.001,
"category": 1866.386,
"module_load": 3.783,
"init": 0.0,
"home": 0.0,
"category": 990.825,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 1873.941
"total": 996.699
},
"counts": {
"classes": 5,
@@ -1119,14 +1119,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.782,
"module_load": 7.584,
"init": 0.001,
"home": 0.001,
"category": 1905.08,
"detail": 4157.708,
"player": 2411.376,
"url_check": 281.059,
"total": 8764.625
"category": 1312.527,
"detail": 2757.9,
"player": 1384.372,
"url_check": 298.13,
"total": 5761.078
},
"counts": {
"classes": 6,
@@ -1158,14 +1158,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.705,
"init": 0.001,
"home": 0.001,
"category": 569.004,
"detail": 1456.739,
"module_load": 4.412,
"init": 0.0,
"home": 0.0,
"category": 1462.07,
"detail": 1141.689,
"player": 0.003,
"url_check": 1039.295,
"total": 3072.106
"url_check": 2175.203,
"total": 4783.945
},
"counts": {
"classes": 6,
@@ -1189,45 +1189,6 @@
"reason": null
}
},
{
"spider": "奕搜",
"file": "奕搜.txt",
"success": false,
"failed_stage": "url_check",
"error": "HTTP 418",
"traceback": null,
"timings_ms": {
"module_load": 11.691,
"init": 0.001,
"home": 0.001,
"category": 2212.002,
"detail": 2516.021,
"player": 0.002,
"url_check": 251.511,
"total": 10004.071
},
"counts": {
"classes": 6,
"category_videos": 20,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "dsj",
"vod_id": "/resources/legacy-post-29587/",
"flag": "奕搜",
"play_id": "push://https://movie.douban.com/subject/35758798/"
},
"player": {
"parse": 0,
"url": "https://movie.douban.com/subject/35758798/",
"valid": false,
"reachable": false,
"status_code": 418,
"final_url": "https://movie.douban.com/subject/35758798/",
"reason": "HTTP 418"
}
},
{
"spider": "如意资源",
"file": "如意资源.txt",
@@ -1236,14 +1197,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 18.069,
"module_load": 4.497,
"init": 0.001,
"home": 0.005,
"category": 5328.005,
"detail": 2098.932,
"player": 0.003,
"url_check": 2823.12,
"total": 10269.009
"home": 0.007,
"category": 2318.163,
"detail": 2429.192,
"player": 0.009,
"url_check": 1482.274,
"total": 6235.425
},
"counts": {
"classes": 6,
@@ -1275,14 +1236,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.87,
"init": 0.001,
"home": 0.0,
"category": 2356.768,
"detail": 3233.058,
"player": 2793.927,
"url_check": 433.628,
"total": 8823.863
"module_load": 5.112,
"init": 0.0,
"home": 0.001,
"category": 1320.712,
"detail": 2109.485,
"player": 1867.764,
"url_check": 381.528,
"total": 5685.241
},
"counts": {
"classes": 4,
@@ -1298,11 +1259,11 @@
},
"player": {
"parse": 0,
"url": "https://c167-obsdaz-ykj-01.obs.dualstack.cidc-rp-2006.joint.cmecloud.cn/1810c8ff2a78456b9348fadfe7ab0fd0086?response-content-disposition=attachment%3B%20filename%2A%3DUTF-8%27%274K.mp4&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20260513T065403Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Credential=AH4RWOMWLEL7ROYSF2S5%2F20260513%2Fcidc-rp-2006%2Fs3%2Faws4_request&t=2&u=1261698636582652615&ot=family&oi=1263000283947275586&f=FibTFWRt8ncqZsYDWQP5LF5BI3oB5_LXK&ext=eyJ1dCI6MX0%3D&X-Amz-Signature=a6b0cd6e0c33a1591b62b3570676dc86b11daf473c0edbb982aee91980adf4bc",
"url": "https://c167-obsdaz-ykj-01.obs.dualstack.cidc-rp-2006.joint.cmecloud.cn/1810c8ff2a78456b9348fadfe7ab0fd0086?response-content-disposition=attachment%3B%20filename%2A%3DUTF-8%27%274K.mp4&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20260513T073955Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Credential=AH4RWOMWLEL7ROYSF2S5%2F20260513%2Fcidc-rp-2006%2Fs3%2Faws4_request&t=2&u=1261698636582652615&ot=family&oi=1263000283947275586&f=FibTFWRt8ncqZsYDWQP5LF5BI3oB5_LXK&ext=eyJ1dCI6MX0%3D&X-Amz-Signature=dc59721722300678d08b3d9e21d058af88b7b686ebf221946bf71dcd4194091f",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://c167-obsdaz-ykj-01.obs.dualstack.cidc-rp-2006.joint.cmecloud.cn/1810c8ff2a78456b9348fadfe7ab0fd0086?response-content-disposition=attachment%3B%20filename%2A%3DUTF-8%27%274K.mp4&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20260513T065403Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Credential=AH4RWOMWLEL7ROYSF2S5%2F20260513%2Fcidc-rp-2006%2Fs3%2Faws4_request&t=2&u=1261698636582652615&ot=family&oi=1263000283947275586&f=FibTFWRt8ncqZsYDWQP5LF5BI3oB5_LXK&ext=eyJ1dCI6MX0%3D&X-Amz-Signature=a6b0cd6e0c33a1591b62b3570676dc86b11daf473c0edbb982aee91980adf4bc",
"final_url": "https://c167-obsdaz-ykj-01.obs.dualstack.cidc-rp-2006.joint.cmecloud.cn/1810c8ff2a78456b9348fadfe7ab0fd0086?response-content-disposition=attachment%3B%20filename%2A%3DUTF-8%27%274K.mp4&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20260513T073955Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Credential=AH4RWOMWLEL7ROYSF2S5%2F20260513%2Fcidc-rp-2006%2Fs3%2Faws4_request&t=2&u=1261698636582652615&ot=family&oi=1263000283947275586&f=FibTFWRt8ncqZsYDWQP5LF5BI3oB5_LXK&ext=eyJ1dCI6MX0%3D&X-Amz-Signature=dc59721722300678d08b3d9e21d058af88b7b686ebf221946bf71dcd4194091f",
"reason": null
}
},
@@ -1314,14 +1275,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.413,
"init": 0.019,
"home": 186.246,
"category": 515.449,
"detail": 304.731,
"player": 0.002,
"url_check": 134.989,
"total": 1146.484
"module_load": 3.291,
"init": 0.025,
"home": 217.648,
"category": 288.145,
"detail": 1090.758,
"player": 0.001,
"url_check": 427.779,
"total": 2028.145
},
"counts": {
"classes": 30,
@@ -1333,15 +1294,15 @@
"tid": "都市",
"vod_id": "110000044555935694",
"flag": "1080P",
"play_id": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1778655237&sign=16bb8c8d556e114b33fe48704aa96865"
"play_id": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1778657991&sign=23cb3b499a9ea78413751955203963d6"
},
"player": {
"parse": 0,
"url": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1778655237&sign=16bb8c8d556e114b33fe48704aa96865",
"url": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1778657991&sign=23cb3b499a9ea78413751955203963d6",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1778655237&sign=16bb8c8d556e114b33fe48704aa96865",
"final_url": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1778657991&sign=23cb3b499a9ea78413751955203963d6",
"reason": null
}
},
@@ -1353,14 +1314,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.431,
"init": 0.001,
"home": 0.001,
"category": 1787.015,
"detail": 2314.428,
"player": 2098.764,
"url_check": 3188.585,
"total": 9394.934
"module_load": 3.96,
"init": 0.0,
"home": 0.0,
"category": 2037.309,
"detail": 1885.628,
"player": 858.275,
"url_check": 1657.381,
"total": 6443.381
},
"counts": {
"classes": 5,
@@ -1392,14 +1353,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.093,
"init": 0.001,
"home": 0.001,
"category": 475.579,
"detail": 784.052,
"player": 0.002,
"url_check": 125.653,
"total": 1388.868
"module_load": 3.43,
"init": 0.0,
"home": 0.0,
"category": 469.515,
"detail": 773.907,
"player": 0.003,
"url_check": 118.887,
"total": 1366.262
},
"counts": {
"classes": 5,
@@ -1431,14 +1392,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.829,
"init": 0.0,
"module_load": 4.12,
"init": 0.001,
"home": 0.0,
"category": 3530.55,
"detail": 2063.087,
"player": 0.011,
"url_check": 345.731,
"total": 5943.618
"category": 1449.892,
"detail": 976.665,
"player": 0.007,
"url_check": 293.566,
"total": 2724.674
},
"counts": {
"classes": 7,
@@ -1470,14 +1431,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.695,
"module_load": 5.46,
"init": 0.001,
"home": 0.0,
"category": 8559.976,
"detail": 4604.405,
"player": 7313.031,
"url_check": 3611.727,
"total": 39134.074
"home": 0.001,
"category": 3100.89,
"detail": 2208.242,
"player": 2386.582,
"url_check": 1733.238,
"total": 22201.522
},
"counts": {
"classes": 4,
@@ -1509,14 +1470,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.838,
"init": 4676.27,
"home": 2355.966,
"category": 2343.077,
"detail": 2314.893,
"player": 7622.167,
"url_check": 4372.77,
"total": 23691.737
"module_load": 7.666,
"init": 3413.535,
"home": 1845.768,
"category": 1769.888,
"detail": 1625.051,
"player": 8802.659,
"url_check": 1322.706,
"total": 18788.102
},
"counts": {
"classes": 8,
@@ -1532,11 +1493,11 @@
},
"player": {
"parse": 0,
"url": "https://usaydd.0rvgx279.com/m3u87/share/6937197/7133173/20260414/171420/1080/index.m3u8?sign=365117f68f367a27a118c12a08f6a3db&t=1778655255",
"url": "https://usaydd.5gwcft9h.com/m3u87/share/6937197/7133173/20260414/171420/1080/index.m3u8?sign=32bd02c2e574569036c0cf4c09e0811e&t=1778658007",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://usaydd.0rvgx279.com/m3u87/share/6937197/7133173/20260414/171420/1080/index.m3u8?sign=365117f68f367a27a118c12a08f6a3db&t=1778655255",
"final_url": "https://usaydd.5gwcft9h.com/m3u87/share/6937197/7133173/20260414/171420/1080/index.m3u8?sign=32bd02c2e574569036c0cf4c09e0811e&t=1778658007",
"reason": null
}
},
@@ -1548,14 +1509,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.431,
"init": 0.0,
"module_load": 11.18,
"init": 0.001,
"home": 0.001,
"category": 1905.642,
"detail": 2094.439,
"player": 0.009,
"url_check": 1178.503,
"total": 5183.419
"category": 1074.249,
"detail": 763.176,
"player": 0.007,
"url_check": 1258.732,
"total": 3108.053
},
"counts": {
"classes": 6,
@@ -1587,14 +1548,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.484,
"module_load": 6.344,
"init": 0.0,
"home": 333.422,
"category": 636.307,
"detail": 887.384,
"player": 0.021,
"url_check": 150.171,
"total": 2014.811
"home": 388.828,
"category": 680.163,
"detail": 1079.121,
"player": 0.073,
"url_check": 151.171,
"total": 2307.024
},
"counts": {
"classes": 10,
@@ -1606,54 +1567,54 @@
"tid": "462",
"vod_id": "/drama/41000186435@@听见胎宝心声后,我逆袭了",
"flag": "河马剧场",
"play_id": "https://dzzt-video.cbread.cn/c33d05f84e26ab9f9e54a533eb6008f9/6a0556d0/58/5x3/53x4/534x6/53468100014/612428785_1/612428785.720p.narrowv3.mp4"
"play_id": "https://dzzt-video.cbread.cn/c19afa5d10d6a73a77324e76acf3017c/6a0564e0/58/5x3/53x4/534x6/53468100014/612428785_1/612428785.720p.narrowv3.mp4"
},
"player": {
"parse": 0,
"url": "https://dzzt-video.cbread.cn/c33d05f84e26ab9f9e54a533eb6008f9/6a0556d0/58/5x3/53x4/534x6/53468100014/612428785_1/612428785.720p.narrowv3.mp4",
"url": "https://dzzt-video.cbread.cn/c19afa5d10d6a73a77324e76acf3017c/6a0564e0/58/5x3/53x4/534x6/53468100014/612428785_1/612428785.720p.narrowv3.mp4",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://dzzt-video.cbread.cn/c33d05f84e26ab9f9e54a533eb6008f9/6a0556d0/58/5x3/53x4/534x6/53468100014/612428785_1/612428785.720p.narrowv3.mp4",
"final_url": "https://dzzt-video.cbread.cn/c19afa5d10d6a73a77324e76acf3017c/6a0564e0/58/5x3/53x4/534x6/53468100014/612428785_1/612428785.720p.narrowv3.mp4",
"reason": null
}
},
{
"spider": "滴答影视",
"file": "滴答影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"success": false,
"failed_stage": "unexpected",
"error": "HTTPSConnectionPool(host='www.didahd.pro', port=443): Max retries exceeded with url: /detail/3033.html (Caused by ConnectTimeoutError(<HTTPSConnection(host='www.didahd.pro', port=443) at 0x7c59fdc27b10>, 'Connection to www.didahd.pro timed out. (connect timeout=10)'))",
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 204, in _new_conn\n sock = connection.create_connection(\n (self._dns_host, self.port),\n ...<2 lines>...\n socket_options=self.socket_options,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/connection.py\", line 85, in create_connection\n raise err\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/connection.py\", line 73, in create_connection\n sock.connect(sa)\n ~~~~~~~~~~~~^^^^\nTimeoutError: timed out\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 488, in _make_request\n raise new_e\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 464, in _make_request\n self._validate_conn(conn)\n ~~~~~~~~~~~~~~~~~~~^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 1093, in _validate_conn\n conn.connect()\n ~~~~~~~~~~~~^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 759, in connect\n self.sock = sock = self._new_conn()\n ~~~~~~~~~~~~~~^^\nurllib3.exceptions.ConnectTimeoutError: (<HTTPSConnection(host='www.didahd.pro', port=443) at 0x7c59fdc27b10>, 'Connection to www.didahd.pro timed out. (connect timeout=10)')\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/requests/adapters.py\", line 645, in send\n resp = conn.urlopen(\n method=request.method,\n ...<9 lines>...\n chunked=chunked,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 841, in urlopen\n retries = retries.increment(\n method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/retry.py\", line 535, in increment\n raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nurllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='www.didahd.pro', port=443): Max retries exceeded with url: /detail/3033.html (Caused by ConnectTimeoutError(<HTTPSConnection(host='www.didahd.pro', port=443) at 0x7c59fdc27b10>, 'Connection to www.didahd.pro timed out. (connect timeout=10)'))\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 680, in validate_spider_file\n _validate_from_tid(\n ~~~~~~~~~~~~~~~~~~^\n spider=spider,\n ^^^^^^^^^^^^^^\n ...<6 lines>...\n logger=logger,\n ^^^^^^^^^^^^^^\n )\n ^\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 421, in _validate_from_tid\n detail_result = _run_timed(result[\"timings_ms\"], \"detail\", spider.detailContent, clock, [vod_id])\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 291, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/滴答影视.txt\", line 335, in detailContent\n File \"/home/harold/workspace/tvbox-resources/py/滴答影视.txt\", line 138, in _request_html\nrequests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='www.didahd.pro', port=443): Max retries exceeded with url: /detail/3033.html (Caused by ConnectTimeoutError(<HTTPSConnection(host='www.didahd.pro', port=443) at 0x7c59fdc27b10>, 'Connection to www.didahd.pro timed out. (connect timeout=10)'))\n",
"timings_ms": {
"module_load": 4.789,
"module_load": 13.971,
"init": 0.001,
"home": 0.001,
"category": 3289.004,
"detail": 4798.48,
"player": 0.004,
"url_check": 1180.654,
"total": 9273.476
"category": 1088.304,
"detail": 10012.328,
"player": 0.0,
"url_check": 0.0,
"total": 11116.58
},
"counts": {
"classes": 5,
"category_videos": 48,
"detail_videos": 1,
"episodes": 1
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "1",
"vod_id": "detail/3033",
"flag": "百度",
"play_id": "https://pan.baidu.com/s/1D_ftrHBRkMlxRs_aLWExxQ?pwd=p4uw"
"flag": null,
"play_id": null
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1D_ftrHBRkMlxRs_aLWExxQ?pwd=p4uw",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=D_ftrHBRkMlxRs_aLWExxQ&pwd=p4uw",
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
@@ -1665,14 +1626,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.225,
"module_load": 3.84,
"init": 0.002,
"home": 117.545,
"category": 122.278,
"detail": 166.18,
"player": 260.157,
"url_check": 93.559,
"total": 764.359
"home": 122.762,
"category": 125.114,
"detail": 155.48,
"player": 290.252,
"url_check": 100.619,
"total": 798.499
},
"counts": {
"classes": 10,
@@ -1688,11 +1649,11 @@
},
"player": {
"parse": 0,
"url": "http://43.248.100.143:9090/nby/m3u8/getM3u8?name=jx.91by.top&time=1778655242847&url=NBY-e84585334a25c5b49078dfac81549a0b.m3u8",
"url": "http://43.248.100.143:9090/nby/m3u8/getM3u8?name=jx.91by.top&time=1778657996216&url=NBY-e84585334a25c5b49078dfac81549a0b.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://43.248.100.143:9090/nby/m3u8/getM3u8?name=jx.91by.top&time=1778655242847&url=NBY-e84585334a25c5b49078dfac81549a0b.m3u8",
"final_url": "http://43.248.100.143:9090/nby/m3u8/getM3u8?name=jx.91by.top&time=1778657996216&url=NBY-e84585334a25c5b49078dfac81549a0b.m3u8",
"reason": null
}
},
@@ -1704,18 +1665,18 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 15.59,
"init": 0.02,
"home": 4164.178,
"category": 905.54,
"detail": 220.247,
"player": 0.001,
"url_check": 183.04,
"total": 5489.761
"module_load": 12.144,
"init": 0.019,
"home": 4934.668,
"category": 478.219,
"detail": 183.204,
"player": 0.002,
"url_check": 153.186,
"total": 5762.326
},
"counts": {
"classes": 11,
"category_videos": 48,
"category_videos": 60,
"detail_videos": 1,
"episodes": 1
},
@@ -1743,14 +1704,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 9.879,
"module_load": 11.12,
"init": 0.001,
"home": 0.0,
"category": 1925.531,
"detail": 2043.255,
"player": 2302.452,
"url_check": 1834.463,
"total": 8116.302
"home": 0.001,
"category": 937.818,
"detail": 946.865,
"player": 1388.893,
"url_check": 1144.876,
"total": 4430.201
},
"counts": {
"classes": 6,
@@ -1782,14 +1743,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 18.123,
"init": 0.001,
"home": 0.0,
"category": 1953.309,
"detail": 3123.561,
"player": 0.004,
"url_check": 1008.149,
"total": 6103.731
"module_load": 3.991,
"init": 0.0,
"home": 0.001,
"category": 1219.094,
"detail": 894.986,
"player": 0.006,
"url_check": 1372.511,
"total": 3491.179
},
"counts": {
"classes": 8,
@@ -1821,14 +1782,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 13.696,
"module_load": 8.049,
"init": 0.001,
"home": 0.123,
"category": 2751.702,
"detail": 2153.07,
"home": 0.05,
"category": 1137.28,
"detail": 1590.285,
"player": 0.002,
"url_check": 956.001,
"total": 5875.236
"url_check": 1853.049,
"total": 4589.242
},
"counts": {
"classes": 10,
@@ -1860,14 +1821,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.621,
"module_load": 5.333,
"init": 0.001,
"home": 0.019,
"category": 2166.771,
"detail": 4998.979,
"player": 4002.03,
"url_check": 114.62,
"total": 11288.895
"home": 0.021,
"category": 1265.742,
"detail": 2433.164,
"player": 982.047,
"url_check": 82.776,
"total": 4770.185
},
"counts": {
"classes": 5,
@@ -1883,11 +1844,11 @@
},
"player": {
"parse": 0,
"url": "https://vd.hxcztech.com/5d7a04f80091cb64134446c6b41314ca/20260513145415/decry/vd/20260311/MjYwZjE1YTRkO/172631/1998_1080/aac/h264/hls/decrypt/index.m3u8",
"url": "https://vd.hxcztech.com/2b564078504dbf878e100611f8b6a6ff/20260513154001/decry/vd/20260311/MjYwZjE1YTRkO/172631/1998_1080/aac/h264/hls/decrypt/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vd.hxcztech.com/5d7a04f80091cb64134446c6b41314ca/20260513145415/decry/vd/20260311/MjYwZjE1YTRkO/172631/1998_1080/aac/h264/hls/decrypt/index.m3u8",
"final_url": "https://vd.hxcztech.com/2b564078504dbf878e100611f8b6a6ff/20260513154001/decry/vd/20260311/MjYwZjE1YTRkO/172631/1998_1080/aac/h264/hls/decrypt/index.m3u8",
"reason": null
}
},
@@ -1899,14 +1860,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.679,
"module_load": 3.382,
"init": 0.001,
"home": 371.542,
"category": 310.945,
"detail": 693.215,
"player": 298.96,
"url_check": 65.86,
"total": 1744.944
"home": 445.761,
"category": 275.183,
"detail": 546.971,
"player": 320.296,
"url_check": 76.235,
"total": 1668.31
},
"counts": {
"classes": 29,
@@ -1922,11 +1883,11 @@
},
"player": {
"parse": 0,
"url": "http://vd3.bdstatic.com/mda-rh54j6is12ydd0q3/1080p/mv_cae264_backtrack_1080p_normal/1754453773225130912/mda-rh54j6is12ydd0q3.mp4?v_from_s=haokan-ui-video-hna",
"url": "http://vd3.bdstatic.com/mda-rh54j6is12ydd0q3/1080p/mv_cae264_backtrack_1080p_normal/1754453773225130912/mda-rh54j6is12ydd0q3.mp4?v_from_s=haokan-ui-video-hnb",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://vd3.bdstatic.com/mda-rh54j6is12ydd0q3/1080p/mv_cae264_backtrack_1080p_normal/1754453773225130912/mda-rh54j6is12ydd0q3.mp4?v_from_s=haokan-ui-video-hna",
"final_url": "http://vd3.bdstatic.com/mda-rh54j6is12ydd0q3/1080p/mv_cae264_backtrack_1080p_normal/1754453773225130912/mda-rh54j6is12ydd0q3.mp4?v_from_s=haokan-ui-video-hnb",
"reason": null
}
},
@@ -1938,14 +1899,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.085,
"module_load": 4.388,
"init": 0.001,
"home": 283.707,
"category": 276.353,
"detail": 297.354,
"player": 0.02,
"url_check": 158.061,
"total": 1022.232
"home": 351.792,
"category": 276.441,
"detail": 296.247,
"player": 0.019,
"url_check": 179.204,
"total": 1108.684
},
"counts": {
"classes": 8,
@@ -1977,14 +1938,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.148,
"module_load": 5.262,
"init": 0.001,
"home": 0.001,
"category": 1796.087,
"detail": 1922.712,
"player": 1958.419,
"url_check": 987.696,
"total": 6670.98
"home": 0.0,
"category": 1259.556,
"detail": 877.537,
"player": 2668.565,
"url_check": 1548.694,
"total": 6360.178
},
"counts": {
"classes": 4,
@@ -2016,14 +1977,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 19.603,
"init": 675.508,
"home": 0.101,
"category": 683.185,
"detail": 630.414,
"player": 0.002,
"url_check": 116.562,
"total": 2126.71
"module_load": 17.8,
"init": 691.549,
"home": 0.095,
"category": 789.213,
"detail": 372.348,
"player": 0.004,
"url_check": 85.993,
"total": 1957.706
},
"counts": {
"classes": 11,
@@ -2055,14 +2016,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.103,
"init": 0.0,
"module_load": 3.457,
"init": 0.001,
"home": 0.0,
"category": 2558.235,
"detail": 2487.584,
"player": 0.006,
"url_check": 231.36,
"total": 5282.927
"category": 1500.604,
"detail": 1283.427,
"player": 0.005,
"url_check": 226.741,
"total": 3015.052
},
"counts": {
"classes": 2,
@@ -2089,39 +2050,39 @@
{
"spider": "糯米",
"file": "糯米.txt",
"success": false,
"failed_stage": "unexpected",
"error": "HTTPSConnectionPool(host='vip.wwgz.cn', port=5200): Max retries exceeded with url: / (Caused by ConnectTimeoutError(<HTTPSConnection(host='vip.wwgz.cn', port=5200) at 0x7ca12b9b1310>, 'Connection to vip.wwgz.cn timed out. (connect timeout=10)'))",
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 204, in _new_conn\n sock = connection.create_connection(\n (self._dns_host, self.port),\n ...<2 lines>...\n socket_options=self.socket_options,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/connection.py\", line 85, in create_connection\n raise err\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/connection.py\", line 73, in create_connection\n sock.connect(sa)\n ~~~~~~~~~~~~^^^^\nTimeoutError: timed out\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 488, in _make_request\n raise new_e\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 464, in _make_request\n self._validate_conn(conn)\n ~~~~~~~~~~~~~~~~~~~^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 1093, in _validate_conn\n conn.connect()\n ~~~~~~~~~~~~^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 759, in connect\n self.sock = sock = self._new_conn()\n ~~~~~~~~~~~~~~^^\nurllib3.exceptions.ConnectTimeoutError: (<HTTPSConnection(host='vip.wwgz.cn', port=5200) at 0x7ca12b9b1310>, 'Connection to vip.wwgz.cn timed out. (connect timeout=10)')\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/requests/adapters.py\", line 645, in send\n resp = conn.urlopen(\n method=request.method,\n ...<9 lines>...\n chunked=chunked,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 841, in urlopen\n retries = retries.increment(\n method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/retry.py\", line 535, in increment\n raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nurllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='vip.wwgz.cn', port=5200): Max retries exceeded with url: / (Caused by ConnectTimeoutError(<HTTPSConnection(host='vip.wwgz.cn', port=5200) at 0x7ca12b9b1310>, 'Connection to vip.wwgz.cn timed out. (connect timeout=10)'))\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 664, in validate_spider_file\n home_result = _run_timed(result[\"timings_ms\"], \"home\", spider.homeContent, clock, False)\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 291, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/糯米.txt\", line 133, in homeContent\n File \"/home/harold/workspace/tvbox-resources/py/糯米.txt\", line 123, in _load_home\n File \"/home/harold/workspace/tvbox-resources/py/糯米.txt\", line 63, in _request_html\nrequests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='vip.wwgz.cn', port=5200): Max retries exceeded with url: / (Caused by ConnectTimeoutError(<HTTPSConnection(host='vip.wwgz.cn', port=5200) at 0x7ca12b9b1310>, 'Connection to vip.wwgz.cn timed out. (connect timeout=10)'))\n",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.43,
"module_load": 9.875,
"init": 0.001,
"home": 10006.811,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 10017.058
"home": 523.526,
"category": 706.213,
"detail": 175.596,
"player": 302.982,
"url_check": 359.829,
"total": 2078.59
},
"counts": {
"classes": 0,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
"classes": 7,
"category_videos": 81,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": null,
"vod_id": null,
"flag": null,
"play_id": null
"tid": "/vod-type-id-1-pg-1.html",
"vod_id": "/vod-detail-id-90063.html",
"flag": "uvw",
"play_id": "/vod-play-id-90063-src-1-num-1.html"
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"parse": 0,
"url": "https://vip.123pan.cn/1853039965/dy/东北往事极恶不赦.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vip.123pan.cn/1853039965/dy/%E4%B8%9C%E5%8C%97%E5%BE%80%E4%BA%8B%E6%9E%81%E6%81%B6%E4%B8%8D%E8%B5%A6.m3u8",
"reason": null
}
},
@@ -2133,14 +2094,14 @@
"error": "Expecting value: line 1 column 1 (char 0)",
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/requests/models.py\", line 978, in json\n return complexjson.loads(self.text, **kwargs)\n ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^\n File \"/home/harold/.local/share/uv/python/cpython-3.14.3-linux-x86_64-gnu/lib/python3.14/json/__init__.py\", line 352, in loads\n return _default_decoder.decode(s)\n ~~~~~~~~~~~~~~~~~~~~~~~^^^\n File \"/home/harold/.local/share/uv/python/cpython-3.14.3-linux-x86_64-gnu/lib/python3.14/json/decoder.py\", line 345, in decode\n obj, end = self.raw_decode(s, idx=_w(s, 0).end())\n ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/harold/.local/share/uv/python/cpython-3.14.3-linux-x86_64-gnu/lib/python3.14/json/decoder.py\", line 363, in raw_decode\n raise JSONDecodeError(\"Expecting value\", s, err.value) from None\njson.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 680, in validate_spider_file\n _validate_from_tid(\n ~~~~~~~~~~~~~~~~~~^\n spider=spider,\n ^^^^^^^^^^^^^^\n ...<6 lines>...\n logger=logger,\n ^^^^^^^^^^^^^^\n )\n ^\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 446, in _validate_from_tid\n player_result = _run_timed(result[\"timings_ms\"], \"player\", spider.playerContent, clock, play[\"flag\"], play[\"play_id\"], [])\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 291, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/网易云音乐.txt\", line 124, in playerContent\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/requests/models.py\", line 982, in json\n raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)\nrequests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)\n",
"timings_ms": {
"module_load": 2.717,
"module_load": 2.887,
"init": 0.001,
"home": 539.07,
"category": 439.056,
"home": 422.182,
"category": 433.116,
"detail": 0.005,
"player": 196.013,
"player": 198.018,
"url_check": 0.0,
"total": 1178.855
"total": 1058.159
},
"counts": {
"classes": 62,
@@ -2172,14 +2133,14 @@
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 5.181,
"init": 0.0,
"module_load": 9.117,
"init": 0.001,
"home": 0.0,
"category": 6574.966,
"category": 4007.706,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 10142.159
"total": 7165.539
},
"counts": {
"classes": 6,
@@ -2211,14 +2172,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.971,
"module_load": 5.362,
"init": 0.001,
"home": 135.065,
"category": 277.71,
"detail": 805.313,
"player": 0.002,
"url_check": 385.835,
"total": 1611.343
"home": 128.695,
"category": 314.516,
"detail": 684.667,
"player": 0.003,
"url_check": 238.794,
"total": 1372.8
},
"counts": {
"classes": 7,
@@ -2250,14 +2211,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.606,
"init": 0.001,
"home": 0.001,
"category": 3513.616,
"detail": 2594.717,
"player": 0.005,
"url_check": 1210.886,
"total": 7324.239
"module_load": 4.057,
"init": 0.0,
"home": 0.0,
"category": 1763.908,
"detail": 2158.491,
"player": 0.013,
"url_check": 221.306,
"total": 4148.9
},
"counts": {
"classes": 7,
@@ -2267,17 +2228,17 @@
},
"samples": {
"tid": "1",
"vod_id": "/index.php/vod/detail/id/20396.html",
"flag": "百度#至臻",
"play_id": "https://pan.baidu.com/s/1689HdL9zr7VcSmUwONIWCQ?pwd=d48g"
"vod_id": "/index.php/vod/detail/id/20405.html",
"flag": "夸克#至臻",
"play_id": "https://pan.quark.cn/s/bc2199089fe0"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1689HdL9zr7VcSmUwONIWCQ?pwd=d48g",
"url": "https://pan.quark.cn/s/bc2199089fe0",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=689HdL9zr7VcSmUwONIWCQ&pwd=d48g",
"final_url": "https://pan.quark.cn/s/bc2199089fe0",
"reason": null
}
},
@@ -2286,17 +2247,17 @@
"file": "茶杯狐.txt",
"success": false,
"failed_stage": "url_check",
"error": "HTTP 403",
"error": "HTTP 404",
"traceback": null,
"timings_ms": {
"module_load": 7.709,
"init": 0.0,
"home": 2487.025,
"category": 2374.722,
"detail": 3133.727,
"player": 7222.22,
"url_check": 6482.378,
"total": 36396.166
"module_load": 6.527,
"init": 0.001,
"home": 2852.997,
"category": 1842.688,
"detail": 1318.657,
"player": 3780.588,
"url_check": 1136.986,
"total": 20611.525
},
"counts": {
"classes": 4,
@@ -2306,18 +2267,18 @@
},
"samples": {
"tid": "2",
"vod_id": "detail/video/116597",
"flag": "FF有广104",
"play_id": "play/116597-1-1"
"vod_id": "detail/video/120767",
"flag": "BF有广8",
"play_id": "play/120767-1-1"
},
"player": {
"parse": 0,
"url": "https://vip.ffzy-online3.com/20251216/40365_0dd3985f/index.m3u8",
"url": "https://v10.baofeng10.com/video/youlingzhijia/ebb5c0437b6f/index.m3u8",
"valid": false,
"reachable": false,
"status_code": 403,
"final_url": "https://vip.ffzy-online3.com/20251216/40365_0dd3985f/index.m3u8",
"reason": "HTTP 403"
"status_code": 404,
"final_url": "https://v10.baofeng10.com/video/youlingzhijia/ebb5c0437b6f/index.m3u8",
"reason": "HTTP 404"
}
},
{
@@ -2328,14 +2289,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.906,
"module_load": 5.545,
"init": 0.001,
"home": 0.001,
"category": 343.51,
"detail": 624.32,
"player": 0.019,
"url_check": 1527.917,
"total": 2502.344
"category": 2559.1,
"detail": 2904.53,
"player": 0.009,
"url_check": 2118.861,
"total": 7588.857
},
"counts": {
"classes": 6,
@@ -2367,14 +2328,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.704,
"module_load": 4.297,
"init": 0.001,
"home": 0.0,
"category": 2274.858,
"detail": 3682.421,
"player": 0.004,
"url_check": 1082.013,
"total": 7043.738
"home": 0.001,
"category": 1254.309,
"detail": 1896.143,
"player": 0.007,
"url_check": 1630.503,
"total": 4785.846
},
"counts": {
"classes": 7,
@@ -2406,14 +2367,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.241,
"module_load": 4.947,
"init": 0.001,
"home": 0.001,
"category": 2357.588,
"detail": 1824.97,
"player": 3029.292,
"url_check": 3535.669,
"total": 10756.385
"category": 2249.772,
"detail": 1958.291,
"player": 1855.382,
"url_check": 3011.162,
"total": 9080.118
},
"counts": {
"classes": 4,
@@ -2440,19 +2401,19 @@
{
"spider": "视界",
"file": "视界.txt",
"success": false,
"failed_stage": "unexpected",
"error": "('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))",
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 488, in _make_request\n raise new_e\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 464, in _make_request\n self._validate_conn(conn)\n ~~~~~~~~~~~~~~~~~~~^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 1093, in _validate_conn\n conn.connect()\n ~~~~~~~~~~~~^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 796, in connect\n sock_and_verified = _ssl_wrap_socket_and_match_hostname(\n sock=sock,\n ...<14 lines>...\n assert_fingerprint=self.assert_fingerprint,\n )\nConnectionResetError: [Errno 104] Connection reset by peer\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/requests/adapters.py\", line 645, in send\n resp = conn.urlopen(\n method=request.method,\n ...<9 lines>...\n chunked=chunked,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 841, in urlopen\n retries = retries.increment(\n method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/retry.py\", line 490, in increment\n raise reraise(type(error), error, _stacktrace)\n ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/util.py\", line 38, in reraise\n raise value.with_traceback(tb)\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\nurllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 680, in validate_spider_file\n _validate_from_tid(\n ~~~~~~~~~~~~~~~~~~^\n spider=spider,\n ^^^^^^^^^^^^^^\n ...<6 lines>...\n logger=logger,\n ^^^^^^^^^^^^^^\n )\n ^\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 446, in _validate_from_tid\n player_result = _run_timed(result[\"timings_ms\"], \"player\", spider.playerContent, clock, play[\"flag\"], play[\"play_id\"], [])\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 291, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/视界.txt\", line 163, in playerContent\n File \"/home/harold/workspace/tvbox-resources/py/视界.txt\", line 468, in _extract_direct_url\nrequests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.991,
"module_load": 18.759,
"init": 0.001,
"home": 1787.794,
"category": 4775.833,
"detail": 4365.067,
"player": 5039.905,
"url_check": 0.0,
"total": 15976.792
"home": 3083.798,
"category": 1404.871,
"detail": 2483.464,
"player": 1201.353,
"url_check": 1015.183,
"total": 9208.202
},
"counts": {
"classes": 6,
@@ -2462,17 +2423,17 @@
},
"samples": {
"tid": "20",
"vod_id": "57877",
"vod_id": "57423",
"flag": "备用源(有广勿信)",
"play_id": "https://svip.ffzyplay.com/?url=https://vip.ffzy-video.com/20260408/41207_72bf4c46/index.m3u8|证言2026|1"
"play_id": "https://svip.ffzyplay.com/?url=https://vip.ffzy-online3.com/20251216/40365_0dd3985f/index.m3u8|第一个男人|1"
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"parse": 0,
"url": "https://svip.ffzyplay.com/?url=https://vip.ffzy-online3.com/20251216/40365_0dd3985f/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://svip.ffzyplay.com/?url=https://vip.ffzy-online3.com/20251216/40365_0dd3985f/index.m3u8",
"reason": null
}
},
@@ -2484,14 +2445,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 11.298,
"module_load": 7.229,
"init": 0.001,
"home": 0.001,
"category": 2368.923,
"detail": 4443.024,
"player": 7461.388,
"url_check": 2014.335,
"total": 30929.848
"category": 1491.675,
"detail": 1134.593,
"player": 2307.905,
"url_check": 1028.137,
"total": 15021.26
},
"counts": {
"classes": 6,
@@ -2523,14 +2484,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 11.942,
"module_load": 8.968,
"init": 0.001,
"home": 707.958,
"category": 97.496,
"detail": 3489.785,
"player": 150.241,
"url_check": 77.777,
"total": 4536.266
"home": 404.19,
"category": 94.669,
"detail": 3584.664,
"player": 155.34,
"url_check": 76.152,
"total": 4325.053
},
"counts": {
"classes": 4,
@@ -2546,11 +2507,11 @@
},
"player": {
"parse": 0,
"url": "http://lv.sycdn.kuwo.cn/3f1021b938288f67ad85eae25e67700f/6a042018/resource/30106/trackmedia/long/M500002ZiI9a1sctnS.mp3?bitrate$128&format$mp3&source$kwplayerhd_ar_4.3.0.8_tianbao_T1A_qirui.apk&type$convert_url_with_sign&user$&loginUid$",
"url": "http://lv.sycdn.kuwo.cn/34a094f0667b4fe3aa7bd19db4505721/6a042ad5/resource/30106/trackmedia/long/M500002ZiI9a1sctnS.mp3?bitrate$128&format$mp3&source$kwplayerhd_ar_4.3.0.8_tianbao_T1A_qirui.apk&type$convert_url_with_sign&user$&loginUid$",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://lv.sycdn.kuwo.cn/3f1021b938288f67ad85eae25e67700f/6a042018/resource/30106/trackmedia/long/M500002ZiI9a1sctnS.mp3?bitrate$128&format$mp3&source$kwplayerhd_ar_4.3.0.8_tianbao_T1A_qirui.apk&type$convert_url_with_sign&user$&loginUid$",
"final_url": "http://lv.sycdn.kuwo.cn/34a094f0667b4fe3aa7bd19db4505721/6a042ad5/resource/30106/trackmedia/long/M500002ZiI9a1sctnS.mp3?bitrate$128&format$mp3&source$kwplayerhd_ar_4.3.0.8_tianbao_T1A_qirui.apk&type$convert_url_with_sign&user$&loginUid$",
"reason": null
}
},
@@ -2562,14 +2523,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 11.655,
"init": 486.017,
"home": 298.203,
"category": 254.333,
"detail": 323.983,
"player": 365.479,
"url_check": 78.916,
"total": 1820.633
"module_load": 7.978,
"init": 531.455,
"home": 345.297,
"category": 281.727,
"detail": 331.296,
"player": 392.389,
"url_check": 137.881,
"total": 2029.567
},
"counts": {
"classes": 12,
@@ -2579,17 +2540,17 @@
},
"samples": {
"tid": "recommend",
"vod_id": "699245980",
"vod_id": "584399626",
"flag": "酷狗音乐",
"play_id": "699245980"
"play_id": "584399626"
},
"player": {
"parse": 0,
"url": "http://fsdg360.hw.kugou.com/202605131454/240371cd09f1c0a8f5519e2684d097a8/v3/a6765c2f5387a1235ee9ffa6f81bace0/yp/p_0_960123/ap1013_us0_mic85f71c379c462618de1399950957c33_pi6101_mx699245980_qu128_s2764456931.mp3?ft=car_203559_10049&fts=b05bb02d44717442054bac7624ed9a29&ext=.mp3",
"url": "http://fsdg360.tx.kugou.com/202605131540/f0f74f9e8968eea2bcfe8770f8f7bdf5/v3/65b21ce18e93fc9750217ce8793e456a/yp/p_0_960159/ap1013_us0_mic85f71c379c462618de1399950957c33_pi6101_mx584399626_qu128_s3134496769.mp3?ft=car_203559_10049&fts=b05bb02d44717442054bac7624ed9a29&ext=.mp3",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://fsdg360.hw.kugou.com/202605131454/240371cd09f1c0a8f5519e2684d097a8/v3/a6765c2f5387a1235ee9ffa6f81bace0/yp/p_0_960123/ap1013_us0_mic85f71c379c462618de1399950957c33_pi6101_mx699245980_qu128_s2764456931.mp3?ft=car_203559_10049&fts=b05bb02d44717442054bac7624ed9a29&ext=.mp3",
"final_url": "http://fsdg360.tx.kugou.com/202605131540/f0f74f9e8968eea2bcfe8770f8f7bdf5/v3/65b21ce18e93fc9750217ce8793e456a/yp/p_0_960159/ap1013_us0_mic85f71c379c462618de1399950957c33_pi6101_mx584399626_qu128_s3134496769.mp3?ft=car_203559_10049&fts=b05bb02d44717442054bac7624ed9a29&ext=.mp3",
"reason": null
}
},
@@ -2601,14 +2562,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.19,
"init": 0.0,
"home": 708.981,
"category": 241.796,
"detail": 241.73,
"player": 248.111,
"url_check": 550.853,
"total": 1996.644
"module_load": 4.159,
"init": 0.001,
"home": 695.139,
"category": 243.556,
"detail": 240.201,
"player": 240.95,
"url_check": 553.055,
"total": 1977.644
},
"counts": {
"classes": 4,
@@ -2624,11 +2585,11 @@
},
"player": {
"parse": 0,
"url": "https://ppvod011.blbtgg.com/splitOut/20260318/1267932/V20260318194542050871267932/index.m3u8?auth_key=1778655253-14cc7b719ffb477f973d1aa08575ed3c-0-7a6a950d4624af3274c733627fa24349",
"url": "https://ppvod011.blbtgg.com/splitOut/20260318/1267932/V20260318194542050871267932/index.m3u8?auth_key=1778658004-34554755c4a74eaca3af03288dacae1d-0-7464c1adbdbe22678ea66b32c8c587cb",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://ppvod011.blbtgg.com/splitOut/20260318/1267932/V20260318194542050871267932/index.m3u8?auth_key=1778655253-14cc7b719ffb477f973d1aa08575ed3c-0-7a6a950d4624af3274c733627fa24349",
"final_url": "https://ppvod011.blbtgg.com/splitOut/20260318/1267932/V20260318194542050871267932/index.m3u8?auth_key=1778658004-34554755c4a74eaca3af03288dacae1d-0-7464c1adbdbe22678ea66b32c8c587cb",
"reason": null
}
},
@@ -2640,14 +2601,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.414,
"module_load": 6.052,
"init": 0.001,
"home": 0.001,
"category": 8840.311,
"detail": 6838.142,
"player": 0.008,
"url_check": 2151.183,
"total": 31809.71
"category": 6610.37,
"detail": 5797.254,
"player": 0.004,
"url_check": 1092.647,
"total": 13507.213
},
"counts": {
"classes": 5,
@@ -2656,18 +2617,18 @@
"episodes": 1
},
"samples": {
"tid": "2",
"vod_id": "/index.php/vod/detail/id/185897.html",
"tid": "1",
"vod_id": "/index.php/vod/detail/id/185903.html",
"flag": "百度#闪电",
"play_id": "https://pan.baidu.com/s/1deO6ABG1pGaDz9rU-SpZGw?pwd=6688"
"play_id": "https://pan.baidu.com/s/1hxalL4JYwZ5Td9Hc-V4qpw?pwd=6688"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1deO6ABG1pGaDz9rU-SpZGw?pwd=6688",
"url": "https://pan.baidu.com/s/1hxalL4JYwZ5Td9Hc-V4qpw?pwd=6688",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=deO6ABG1pGaDz9rU-SpZGw&pwd=6688",
"final_url": "https://pan.baidu.com/share/init?surl=hxalL4JYwZ5Td9Hc-V4qpw&pwd=6688",
"reason": null
}
},
@@ -2679,14 +2640,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.351,
"init": 0.001,
"home": 0.001,
"category": 5704.547,
"detail": 9836.376,
"player": 8526.606,
"url_check": 2173.74,
"total": 26248.347
"module_load": 3.739,
"init": 0.0,
"home": 0.0,
"category": 4212.798,
"detail": 3550.682,
"player": 4129.971,
"url_check": 1226.956,
"total": 13125.165
},
"counts": {
"classes": 4,
@@ -2696,9 +2657,9 @@
},
"samples": {
"tid": "1",
"vod_id": "/voddetail/239451.html",
"vod_id": "/voddetail/239466.html",
"flag": "魔都资源4",
"play_id": "/vodplay/239451-1-1.html"
"play_id": "/vodplay/239466-1-1.html"
},
"player": {
"parse": 0,
@@ -2718,14 +2679,14 @@
"error": "分类列表为空",
"traceback": null,
"timings_ms": {
"module_load": 5.112,
"init": 0.001,
"home": 1955.327,
"module_load": 10.465,
"init": 0.002,
"home": 2203.473,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 1960.599
"total": 2214.214
},
"counts": {
"classes": 0,
@@ -2757,14 +2718,14 @@
"error": "不支持的地址协议: empty",
"traceback": null,
"timings_ms": {
"module_load": 3.464,
"init": 0.0,
"module_load": 7.683,
"init": 0.001,
"home": 0.0,
"category": 2185.101,
"detail": 2276.254,
"player": 0.024,
"url_check": 0.057,
"total": 12364.968
"category": 690.536,
"detail": 1707.705,
"player": 0.058,
"url_check": 0.155,
"total": 5953.563
},
"counts": {
"classes": 6,
@@ -2796,14 +2757,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 7.371,
"module_load": 4.923,
"init": 0.001,
"home": 2212.794,
"category": 4448.618,
"detail": 4076.197,
"player": 4025.312,
"url_check": 301.477,
"total": 26567.982
"home": 2219.437,
"category": 1021.911,
"detail": 900.056,
"player": 857.225,
"url_check": 449.398,
"total": 9031.154
},
"counts": {
"classes": 5,
@@ -2813,17 +2774,17 @@
},
"samples": {
"tid": "2",
"vod_id": "92473",
"vod_id": "93641",
"flag": "🐈‍⬛高清线路",
"play_id": "高清线路1@@direct@@66ddeb0b0fe39924c19b86fc5dcce841,9911a84999f446c0de8b5b109ca0492f,token+,1,1"
"play_id": "高清线路1@@direct@@66ddeb0b0fe39924c19b86fc5dcce841,fdcba9d26d7ee6becd7fb9b41423ccfb,token+,1,1"
},
"player": {
"parse": 0,
"url": "https://v6-cold1.douyinvod.com/ff2cef04be9adcf472f2d72dc43ff6f3/6a047816/video/tos/cn/tos-cn-v-5f73e7/o0OLrTfulbII1VwEBOIaIDneJKRATLIGneaCaq/",
"url": "https://v3-cold1.douyinvod.com/2f1e0e52d118173b1c9ec4a809957844/6a047faf/video/tos/cn/tos-cn-v-5f73e7/osQcEbBAgpo1HIulqOIoBBF3aaACDofiBgeqD1/",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://v6-cold1.douyinvod.com/ff2cef04be9adcf472f2d72dc43ff6f3/6a047816/video/tos/cn/tos-cn-v-5f73e7/o0OLrTfulbII1VwEBOIaIDneJKRATLIGneaCaq/",
"final_url": "https://v3-cold1.douyinvod.com/2f1e0e52d118173b1c9ec4a809957844/6a047faf/video/tos/cn/tos-cn-v-5f73e7/osQcEbBAgpo1HIulqOIoBBF3aaACDofiBgeqD1/",
"reason": null
}
}