This commit is contained in:
Harold
2026-05-15 16:51:09 +08:00
parent abb4fc7205
commit 4f66ea8fa3
6 changed files with 850 additions and 851 deletions
+618 -618
View File
@@ -1,21 +1,21 @@
{
"generated_at": "2026-05-15T16:43:35+08:00",
"generated_at": "2026-05-15T16:50:52+08:00",
"max_workers": 16,
"total_duration_ms": 16472.663,
"total_duration_ms": 16498.237,
"summary": {
"total": 72,
"success": 60,
"failed": 12,
"success_rate": 0.8333,
"success": 59,
"failed": 13,
"success_rate": 0.8194,
"stage_failures": {
"module_load": 0,
"init": 0,
"home": 1,
"category": 4,
"detail": 0,
"player": 1,
"player": 0,
"url_check": 2,
"unexpected": 4
"unexpected": 6
}
},
"results": [
@@ -27,14 +27,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 182.363,
"init": 0.001,
"home": 0.002,
"category": 682.378,
"detail": 480.614,
"player": 0.004,
"url_check": 141.28,
"total": 1494.473
"module_load": 313.934,
"init": 0.002,
"home": 0.007,
"category": 767.926,
"detail": 437.031,
"player": 0.006,
"url_check": 136.54,
"total": 1713.293
},
"counts": {
"classes": 5,
@@ -66,14 +66,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 113.431,
"init": 0.003,
"home": 0.0,
"category": 755.044,
"detail": 662.826,
"player": 0.002,
"url_check": 0.047,
"total": 1533.215
"module_load": 312.139,
"init": 0.004,
"home": 0.002,
"category": 851.26,
"detail": 688.331,
"player": 0.004,
"url_check": 0.094,
"total": 1908.174
},
"counts": {
"classes": 12,
@@ -105,14 +105,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 132.127,
"init": 0.001,
"home": 418.378,
"category": 175.722,
"detail": 201.178,
"player": 171.496,
"url_check": 462.098,
"total": 1562.34
"module_load": 312.687,
"init": 0.002,
"home": 199.006,
"category": 188.595,
"detail": 178.707,
"player": 167.892,
"url_check": 305.827,
"total": 1392.176
},
"counts": {
"classes": 6,
@@ -132,7 +132,7 @@
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://lv-sycdn.kuwo.cn/0473dc7bf8d060daa9c5a8aec6eadc39/6a06dcb9/resource/1307392909/trackmedia/C200000W91kQ0efKLA.m4a?from=vip",
"final_url": "https://lv-sycdn.kuwo.cn/7930831eb115ad35dfa45f65143b2b6b/6a06de6e/resource/1307392909/trackmedia/C200000W91kQ0efKLA.m4a?from=vip",
"reason": null
}
},
@@ -144,14 +144,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 229.648,
"init": 0.0,
"home": 0.001,
"category": 418.292,
"detail": 386.272,
"player": 0.018,
"url_check": 160.917,
"total": 1198.618
"module_load": 379.537,
"init": 0.001,
"home": 0.002,
"category": 449.31,
"detail": 371.608,
"player": 0.014,
"url_check": 173.222,
"total": 1375.275
},
"counts": {
"classes": 2,
@@ -183,14 +183,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 217.399,
"init": 0.008,
"home": 0.003,
"category": 53.614,
"detail": 70.573,
"player": 469.343,
"url_check": 157.523,
"total": 2142.519
"module_load": 314.67,
"init": 0.015,
"home": 0.007,
"category": 122.967,
"detail": 183.548,
"player": 458.669,
"url_check": 199.576,
"total": 2533.891
},
"counts": {
"classes": 6,
@@ -206,11 +206,11 @@
},
"player": {
"parse": 0,
"url": "https://isure.stream.qqmusic.qq.com/M50000032bOd4TmOyq.mp3?guid=d1ac8ccdd3926d0a01ddf70c7f54f47d&vkey=7C634D28F392C76D33916980701C25F956CCEBF84CCD7B5336278F46E8A63EF1A07E9BF5737721D6E2160186DB902BE38B0FC621152FC7C3__v2b9abb42&uin=&fromtag=119042&src=M500003huyNt4KNIZd.mp3&redirect=1",
"url": "https://isure.stream.qqmusic.qq.com/M50000032bOd4TmOyq.mp3?guid=93072fd93c4dbebd795e216c06bb56f5&vkey=21870BCF1C03E9201EDC6241C0B3ECDCA258FDCD5A4C43993B90CA50A0E28F073E2A7FEE54420214F54CD5272F0F30E1B8C2B1113463F7BE__v2b9ab6c4&uin=&fromtag=119042&src=M500003huyNt4KNIZd.mp3&redirect=1",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://isure.stream.qqmusic.qq.com/M50000032bOd4TmOyq.mp3?guid=d1ac8ccdd3926d0a01ddf70c7f54f47d&vkey=7C634D28F392C76D33916980701C25F956CCEBF84CCD7B5336278F46E8A63EF1A07E9BF5737721D6E2160186DB902BE38B0FC621152FC7C3__v2b9abb42&uin=&fromtag=119042&src=M500003huyNt4KNIZd.mp3&redirect=1",
"final_url": "https://isure.stream.qqmusic.qq.com/M50000032bOd4TmOyq.mp3?guid=93072fd93c4dbebd795e216c06bb56f5&vkey=21870BCF1C03E9201EDC6241C0B3ECDCA258FDCD5A4C43993B90CA50A0E28F073E2A7FEE54420214F54CD5272F0F30E1B8C2B1113463F7BE__v2b9ab6c4&uin=&fromtag=119042&src=M500003huyNt4KNIZd.mp3&redirect=1",
"reason": null
}
},
@@ -222,14 +222,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 155.593,
"init": 0.001,
"home": 0.001,
"category": 214.962,
"detail": 233.598,
"player": 0.005,
"url_check": 143.977,
"total": 756.507
"module_load": 310.616,
"init": 0.002,
"home": 0.002,
"category": 198.988,
"detail": 214.65,
"player": 0.007,
"url_check": 162.403,
"total": 898.649
},
"counts": {
"classes": 6,
@@ -256,39 +256,39 @@
{
"spider": "youknow",
"file": "youknow.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"success": false,
"failed_stage": "unexpected",
"error": "'NoneType' object has no attribute 'xpath'",
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 716, 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 428, 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/youknow.txt\", line 296, in detailContent\n File \"/home/harold/workspace/tvbox-resources/py/youknow.txt\", line 209, in _parse_detail_page\nAttributeError: 'NoneType' object has no attribute 'xpath'\n",
"timings_ms": {
"module_load": 161.12,
"module_load": 310.59,
"init": 0.001,
"home": 0.001,
"category": 1899.49,
"detail": 1025.786,
"player": 1006.712,
"url_check": 1139.38,
"total": 5236.093
"home": 0.002,
"category": 1886.908,
"detail": 926.107,
"player": 0.0,
"url_check": 0.0,
"total": 3183.716
},
"counts": {
"classes": 7,
"category_videos": 229,
"detail_videos": 1,
"episodes": 1
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "index",
"vod_id": "172856",
"flag": "YouKnowTV",
"play_id": "eyJ2b2RfaWQiOiIxNzI4NTYiLCJlcGlzb2RlX2luZGV4IjoxLCJ0aXRsZSI6IjI1MDEwMSIsImNhbmRpZGF0ZXMiOlt7InNvdXJjZSI6Iue6v-i3rzEiLCJzb3VyY2VfaWQiOiIxIiwiZXBpc29kZV91cmwiOiJodHRwczovL3d3dy55b3Vrbm93LnR2L3AvMTcyODU2LTEtMS8ifSx7InNvdXJjZSI6Iue6v-i3rzIiLCJzb3VyY2VfaWQiOiIxIiwiZXBpc29kZV91cmwiOiJodHRwczovL3d3dy55b3Vrbm93LnR2L3AvMTcyODU2LTEtMS8ifSx7InNvdXJjZSI6Iue6v-i3rzczIiwic291cmNlX2lkIjoiMyIsImVwaXNvZGVfdXJsIjoiaHR0cHM6Ly93d3cueW91a25vdy50di9wLzE3Mjg1Ni0zLTEvIn0seyJzb3VyY2UiOiLnur_ot683NCIsInNvdXJjZV9pZCI6IjMiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8xNzI4NTYtMy0xLyJ9LHsic291cmNlIjoi57q_6LevODgiLCJzb3VyY2VfaWQiOiIyIiwiZXBpc29kZV91cmwiOiJodHRwczovL3d3dy55b3Vrbm93LnR2L3AvMTcyODU2LTItMS8ifSx7InNvdXJjZSI6Iue6v-i3rzg5Iiwic291cmNlX2lkIjoiMiIsImVwaXNvZGVfdXJsIjoiaHR0cHM6Ly93d3cueW91a25vdy50di9wLzE3Mjg1Ni0yLTEvIn1dfQ"
"vod_id": "199634",
"flag": null,
"play_id": null
},
"player": {
"parse": 0,
"url": "https://vip.dytt-cinema.com/20250224/11203_c24c6525/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vip.dytt-cinema.com/20250224/11203_c24c6525/index.m3u8",
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
@@ -300,14 +300,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 189.818,
"init": 0.004,
"home": 0.004,
"category": 525.308,
"detail": 960.556,
"player": 0.004,
"url_check": 1079.491,
"total": 2759.005
"module_load": 312.942,
"init": 0.01,
"home": 0.003,
"category": 735.576,
"detail": 1079.774,
"player": 0.006,
"url_check": 1093.176,
"total": 3281.71
},
"counts": {
"classes": 5,
@@ -335,33 +335,33 @@
"spider": "不太灵",
"file": "不太灵.txt",
"success": false,
"failed_stage": "player",
"error": "playerContent 未返回播放地址",
"traceback": null,
"failed_stage": "unexpected",
"error": "HTTPSConnectionPool(host='web5.mukaku.com', 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='web5.mukaku.com', 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 716, 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 412, 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 300, in categoryContent\n File \"/home/harold/workspace/tvbox-resources/py/不太灵.txt\", line 58, in _request_api\nrequests.exceptions.ReadTimeout: HTTPSConnectionPool(host='web5.mukaku.com', port=443): Read timed out. (read timeout=10)\n",
"timings_ms": {
"module_load": 148.112,
"init": 0.001,
"home": 703.007,
"category": 1211.414,
"detail": 838.693,
"player": 0.004,
"module_load": 313.068,
"init": 0.002,
"home": 596.53,
"category": 10233.547,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 5402.158
"total": 11195.752
},
"counts": {
"classes": 5,
"category_videos": 25,
"detail_videos": 1,
"episodes": 2
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "2",
"vod_id": "37462041",
"flag": "xunlei#1",
"play_id": "xunlei"
"tid": "1",
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": 0,
"parse": null,
"url": "",
"valid": false,
"reachable": null,
@@ -378,14 +378,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 134.898,
"module_load": 311.602,
"init": 0.001,
"home": 272.006,
"category": 130.093,
"detail": 115.419,
"player": 0.005,
"url_check": 618.685,
"total": 1274.528
"home": 158.58,
"category": 138.694,
"detail": 187.239,
"player": 0.006,
"url_check": 636.612,
"total": 1483.45
},
"counts": {
"classes": 5,
@@ -395,17 +395,17 @@
},
"samples": {
"tid": "home",
"vod_id": "song:yetmhhydnn",
"vod_id": "song:ttkckheckn",
"flag": "世纪音乐",
"play_id": "music:yetmhhydnn"
"play_id": "music:ttkckheckn"
},
"player": {
"parse": 0,
"url": "https://www.4c44.com/data/down.php?ac=music&id=yetmhhydnn",
"url": "https://www.4c44.com/data/down.php?ac=music&id=ttkckheckn",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://m701.music.126.net/20260515170836/6735dedf256c9d7504cf749b850238ab/jdymusic/obj/wo3DlMOGwrbDjj7DisKw/4172537990/bb8a/648e/5e8f/edd020e14b78e890248e5a7ef11c004f.mp3?vuutv=QVOGITJfL4Ut/fTxaC82JHHnd/7Y3+2DVdz2Bb95MlbXUqsgqIjlFP6NZchuvlaOXmKLDF7mnZLQflZkzpzCK30ThYL7qdxEKdeUt6DA940=",
"final_url": "http://m701.music.126.net/20260515171554/8574b6bf30249f16e80e4e94134d71c1/jdymusic/obj/wo3DlMOGwrbDjj7DisKw/80092826916/0c9f/dedd/959a/b6f69e9ffaf96c1815492deb31b32414.mp3?vuutv=F0Js4Wvg/zNGKJmeijfpM6szCELh5WiRmPEapvn6ZuqDQ/NXG5ArLM8Od6m044JN4fYKz1OWrWmkKfuGqCR7q/RvZ3CJcQNiEmycE9TBhtQ=",
"reason": null
}
},
@@ -417,14 +417,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 147.822,
"init": 0.002,
"home": 0.002,
"category": 393.296,
"detail": 348.323,
"player": 649.29,
"url_check": 431.222,
"total": 1980.554
"module_load": 314.455,
"init": 0.001,
"home": 0.001,
"category": 409.786,
"detail": 348.304,
"player": 673.625,
"url_check": 456.103,
"total": 2258.83
},
"counts": {
"classes": 14,
@@ -456,14 +456,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 116.895,
"init": 0.0,
"home": 392.73,
"category": 386.963,
"detail": 719.643,
"player": 0.029,
"url_check": 1965.11,
"total": 3583.444
"module_load": 306.975,
"init": 0.001,
"home": 261.816,
"category": 314.591,
"detail": 964.169,
"player": 0.048,
"url_check": 1682.861,
"total": 3535.555
},
"counts": {
"classes": 7,
@@ -483,7 +483,7 @@
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://d1jdnmkc1n5cn4.cloudfront.net/hls_overseas/91fbdee35818798903b37549dd063c44841d3817.m3u8",
"final_url": "https://d1jdnmkc1n5cn4.cloudfront.net/hls_overseas/8cd367ac588b9915fb6f1cb40f9ff53751c0f695.m3u8",
"reason": null
}
},
@@ -495,14 +495,14 @@
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 137.632,
"module_load": 311.541,
"init": 0.001,
"home": 0.001,
"category": 224.096,
"home": 0.005,
"category": 218.936,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 586.113
"total": 842.362
},
"counts": {
"classes": 5,
@@ -534,14 +534,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 187.536,
"module_load": 310.026,
"init": 0.001,
"home": 0.001,
"category": 304.159,
"detail": 215.456,
"player": 0.004,
"url_check": 1443.334,
"total": 2152.512
"home": 0.002,
"category": 297.794,
"detail": 222.556,
"player": 0.008,
"url_check": 1456.001,
"total": 2343.667
},
"counts": {
"classes": 4,
@@ -573,14 +573,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 145.764,
"module_load": 306.086,
"init": 0.001,
"home": 0.001,
"category": 537.022,
"detail": 477.827,
"player": 0.007,
"url_check": 972.017,
"total": 2136.351
"home": 0.003,
"category": 615.467,
"detail": 445.702,
"player": 0.015,
"url_check": 1186.626,
"total": 2612.818
},
"counts": {
"classes": 4,
@@ -612,14 +612,14 @@
"error": "HTTP 403",
"traceback": null,
"timings_ms": {
"module_load": 107.538,
"module_load": 309.667,
"init": 0.001,
"home": 159.009,
"category": 253.295,
"detail": 248.132,
"player": 283.643,
"url_check": 190.377,
"total": 2147.777
"home": 178.618,
"category": 249.954,
"detail": 265.281,
"player": 313.468,
"url_check": 263.922,
"total": 2604.122
},
"counts": {
"classes": 4,
@@ -635,11 +635,11 @@
},
"player": {
"parse": 0,
"url": "https://tfvw1gr3dymt1ge31hcj3gezdgco.ourdvsssvip.com:20443/ws-302.bwcgee.cn/20c3705c49b871f198246733a68f0402/e97cf6f6692a4a93b6679b556fe67b42-d31f19a0e930010b0ed993fed007ae7f-ld.mp4?key=0d168822aa87e5158790ab0638501269&time=1778849017829&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=1ab9b366e5e045f289d9a5c2c48632f5&hevc=false&seasonId=57435&wsiphost=ipdbme&wsrid_tag=6a06dcb9_PS-CKG-015Er210_44106-38212-s1t1778834617888&x-mamba-business-label=13423&redirect_cnt=0&ip_type=0&wshc=C&requery=0",
"url": "https://tfvw0grhdgmt1gc41hcttghzdnptz.ourdvsssvip.com:20443/ws-302.bwcgee.cn/20c3705c49b871f198246733a68f0402/e97cf6f6692a4a93b6679b556fe67b42-d31f19a0e930010b0ed993fed007ae7f-ld.mp4?key=5596a9d779c3644199ee7106d8f9ebf6&time=1778849455575&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=e6007945a3e14affa6da7291d871bc2d&hevc=false&seasonId=57435&wsiphost=ipdbme&wsrid_tag=6a06de6f_PS-CKG-015Er210_42659-43073-s1t1778835055642&x-mamba-business-label=13679&redirect_cnt=0&ip_type=0&wshc=C&requery=0",
"valid": false,
"reachable": false,
"status_code": 403,
"final_url": "https://tfvw1gr3dymt1ge31hcj3gezdgco.ourdvsssvip.com:20443/ws-302.bwcgee.cn/20c3705c49b871f198246733a68f0402/e97cf6f6692a4a93b6679b556fe67b42-d31f19a0e930010b0ed993fed007ae7f-ld.mp4?key=0d168822aa87e5158790ab0638501269&time=1778849017829&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=1ab9b366e5e045f289d9a5c2c48632f5&hevc=false&seasonId=57435&wsiphost=ipdbme&wsrid_tag=6a06dcb9_PS-CKG-015Er210_44106-38212-s1t1778834617888&x-mamba-business-label=13423&redirect_cnt=0&ip_type=0&wshc=C&requery=0",
"final_url": "https://tfvw0grhdgmt1gc41hcttghzdnptz.ourdvsssvip.com:20443/ws-302.bwcgee.cn/20c3705c49b871f198246733a68f0402/e97cf6f6692a4a93b6679b556fe67b42-d31f19a0e930010b0ed993fed007ae7f-ld.mp4?key=5596a9d779c3644199ee7106d8f9ebf6&time=1778849455575&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=e6007945a3e14affa6da7291d871bc2d&hevc=false&seasonId=57435&wsiphost=ipdbme&wsrid_tag=6a06de6f_PS-CKG-015Er210_42659-43073-s1t1778835055642&x-mamba-business-label=13679&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": 8.655,
"module_load": 12.967,
"init": 0.002,
"home": 0.001,
"category": 295.957,
"detail": 565.292,
"player": 0.002,
"url_check": 256.223,
"total": 1126.999
"category": 251.57,
"detail": 518.595,
"player": 0.005,
"url_check": 243.283,
"total": 1028.842
},
"counts": {
"classes": 6,
@@ -690,14 +690,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.794,
"module_load": 9.192,
"init": 0.001,
"home": 0.001,
"category": 1019.551,
"detail": 733.584,
"player": 0.007,
"url_check": 337.718,
"total": 2097.073
"home": 0.002,
"category": 1024.536,
"detail": 1372.645,
"player": 0.02,
"url_check": 374.763,
"total": 2782.406
},
"counts": {
"classes": 4,
@@ -729,14 +729,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 7.899,
"init": 0.001,
"home": 0.001,
"category": 636.293,
"detail": 202.361,
"player": 983.793,
"url_check": 3015.228,
"total": 4846.854
"module_load": 13.17,
"init": 0.002,
"home": 0.004,
"category": 649.87,
"detail": 205.517,
"player": 1011.478,
"url_check": 530.464,
"total": 2413.449
},
"counts": {
"classes": 4,
@@ -752,7 +752,7 @@
},
"player": {
"parse": 0,
"url": "https://v.xlys.ltd.ua/obj/3279ED9F40AFEF189CC30F881ED09ED58D60E26773ED62834F8E874E8885B0D6",
"url": "https://v.xlys.ltd.ua/obj/E80CE6D3A46B59BC8DBE8A2CEFCD746AA287F9D35985EF23A47E2A02C0911E4C",
"valid": true,
"reachable": true,
"status_code": 200,
@@ -768,14 +768,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.666,
"module_load": 5.245,
"init": 0.001,
"home": 0.0,
"category": 958.431,
"detail": 988.058,
"player": 1811.327,
"url_check": 3002.906,
"total": 6766.036
"home": 0.001,
"category": 946.113,
"detail": 1137.2,
"player": 1900.013,
"url_check": 2471.047,
"total": 6460.971
},
"counts": {
"classes": 8,
@@ -807,14 +807,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.603,
"init": 0.001,
"home": 0.0,
"category": 875.578,
"detail": 624.982,
"player": 1862.291,
"url_check": 593.666,
"total": 3962.618
"module_load": 11.134,
"init": 0.003,
"home": 0.003,
"category": 692.332,
"detail": 617.364,
"player": 1911.55,
"url_check": 596.157,
"total": 3832.89
},
"counts": {
"classes": 5,
@@ -846,14 +846,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.578,
"init": 0.001,
"home": 0.0,
"category": 243.145,
"detail": 410.096,
"player": 389.873,
"url_check": 1090.324,
"total": 2138.455
"module_load": 8.013,
"init": 0.002,
"home": 0.001,
"category": 228.745,
"detail": 421.987,
"player": 394.554,
"url_check": 920.355,
"total": 1975.779
},
"counts": {
"classes": 6,
@@ -885,14 +885,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.834,
"module_load": 8.24,
"init": 0.001,
"home": 2811.53,
"category": 237.812,
"detail": 710.001,
"player": 0.003,
"url_check": 39.675,
"total": 3803.308
"home": 2828.751,
"category": 242.398,
"detail": 688.206,
"player": 0.004,
"url_check": 44.619,
"total": 3813.252
},
"counts": {
"classes": 11,
@@ -924,14 +924,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.095,
"init": 365.562,
"home": 0.005,
"category": 163.49,
"detail": 223.543,
"player": 0.002,
"url_check": 156.833,
"total": 915.101
"module_load": 4.578,
"init": 369.542,
"home": 0.007,
"category": 204.358,
"detail": 186.618,
"player": 0.008,
"url_check": 147.785,
"total": 915.018
},
"counts": {
"classes": 7,
@@ -963,14 +963,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.436,
"init": 79.104,
"home": 0.001,
"category": 174.71,
"detail": 2221.113,
"player": 280.814,
"url_check": 69.942,
"total": 2831.857
"module_load": 6.194,
"init": 87.78,
"home": 0.002,
"category": 156.48,
"detail": 2899.785,
"player": 242.135,
"url_check": 74.622,
"total": 3468.236
},
"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=adad5b4f47ce3ba21c0e66ae71b9d715&buy_key=FM&token=8322&timestamp=1778834620&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=4a5a12a4e2922159ce7898ee701ed080&buy_key=FM&token=2105&timestamp=1778835058&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=adad5b4f47ce3ba21c0e66ae71b9d715&buy_key=FM&token=8322&timestamp=1778834620&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=4a5a12a4e2922159ce7898ee701ed080&buy_key=FM&token=2105&timestamp=1778835058&duration=453",
"reason": null
}
},
@@ -1002,14 +1002,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 23.123,
"module_load": 9.5,
"init": 0.001,
"home": 465.426,
"category": 286.85,
"detail": 635.873,
"player": 475.603,
"url_check": 145.835,
"total": 2033.873
"home": 430.591,
"category": 247.103,
"detail": 605.206,
"player": 10223.357,
"url_check": 321.522,
"total": 11840.806
},
"counts": {
"classes": 8,
@@ -1024,12 +1024,12 @@
"play_id": "9783312385|1"
},
"player": {
"parse": 0,
"url": "https://file.hgeuz.cn/stream/eJwANwDI_wJVZgVKIIrU0ECux-GJ1PSt38ahythCqsH-r9TAQ4rj5F94rOjbQKjk063xyIX2z3hfeGcIHF4BAAD__5DtISY.?ts=1778834619&sign=23b8da1c7eeed1f6ac0d82dcdd0df861",
"parse": 1,
"url": "https://tingyou.fm/audios/9783312385/1",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://file.hgeuz.cn/stream/eJwANwDI_wJVZgVKIIrU0ECux-GJ1PSt38ahythCqsH-r9TAQ4rj5F94rOjbQKjk063xyIX2z3hfeGcIHF4BAAD__5DtISY.?ts=1778834619&sign=23b8da1c7eeed1f6ac0d82dcdd0df861",
"final_url": "https://tingyou.fm/audios/9783312385/1",
"reason": null
}
},
@@ -1041,14 +1041,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 13.099,
"init": 0.004,
"home": 487.068,
"category": 375.336,
"detail": 403.549,
"player": 1399.072,
"url_check": 94.153,
"total": 2773.889
"module_load": 18.268,
"init": 0.012,
"home": 518.663,
"category": 577.237,
"detail": 519.716,
"player": 1390.483,
"url_check": 124.519,
"total": 3150.342
},
"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=1809938620&x-signature=v7zAZZifkfVajqd9NYDmg6LIWHk%3D",
"url": "https://p9-bot-workflow-sign.byteimg.com/tos-cn-i-mdko3gqilj/c87332e45fc54a998855db93afefd79b~tplv-mdko3gqilj-image.image?rk3s=81d4c505&x-expires=1809939058&x-signature=lWQYY35lBmeYJIY7gU%2F00yo9Chg%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=1809938620&x-signature=v7zAZZifkfVajqd9NYDmg6LIWHk%3D",
"final_url": "https://p9-bot-workflow-sign.byteimg.com/tos-cn-i-mdko3gqilj/c87332e45fc54a998855db93afefd79b~tplv-mdko3gqilj-image.image?rk3s=81d4c505&x-expires=1809939058&x-signature=lWQYY35lBmeYJIY7gU%2F00yo9Chg%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 716, 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 412, 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": 27.629,
"init": 0.001,
"home": 0.001,
"category": 119.927,
"module_load": 15.864,
"init": 0.002,
"home": 0.003,
"category": 164.439,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 151.206
"total": 186.656
},
"counts": {
"classes": 5,
@@ -1119,14 +1119,14 @@
"error": "HTTPSConnectionPool(host='jx.zxzjys.com', port=9876): 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='jx.zxzjys.com', port=9876): 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 716, 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 467, 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 550, in playerContent\n File \"/home/harold/workspace/tvbox-resources/py/在线之家.txt\", line 245, in _request_html\nrequests.exceptions.ReadTimeout: HTTPSConnectionPool(host='jx.zxzjys.com', port=9876): Read timed out. (read timeout=10)\n",
"timings_ms": {
"module_load": 20.94,
"module_load": 24.116,
"init": 0.001,
"home": 0.001,
"category": 575.451,
"detail": 769.744,
"player": 10404.131,
"home": 0.002,
"category": 391.353,
"detail": 788.778,
"player": 10427.13,
"url_check": 0.0,
"total": 11787.045
"total": 11633.94
},
"counts": {
"classes": 6,
@@ -1158,14 +1158,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.088,
"init": 0.001,
"home": 0.001,
"category": 426.857,
"detail": 356.694,
"player": 0.003,
"url_check": 1092.875,
"total": 1883.13
"module_load": 21.599,
"init": 0.002,
"home": 0.004,
"category": 513.367,
"detail": 358.506,
"player": 0.005,
"url_check": 1624.685,
"total": 2521.727
},
"counts": {
"classes": 6,
@@ -1197,14 +1197,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.159,
"init": 0.0,
"home": 0.006,
"category": 834.626,
"detail": 318.982,
"player": 0.003,
"url_check": 1775.965,
"total": 2935.917
"module_load": 11.226,
"init": 0.002,
"home": 0.026,
"category": 709.353,
"detail": 331.868,
"player": 0.005,
"url_check": 1814.908,
"total": 2869.356
},
"counts": {
"classes": 6,
@@ -1236,14 +1236,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.855,
"init": 0.001,
"module_load": 7.386,
"init": 0.002,
"home": 0.001,
"category": 818.174,
"detail": 625.869,
"player": 1264.998,
"url_check": 560.84,
"total": 3275.264
"category": 663.272,
"detail": 633.675,
"player": 986.082,
"url_check": 308.274,
"total": 2601.443
},
"counts": {
"classes": 4,
@@ -1275,14 +1275,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.942,
"init": 0.018,
"home": 181.108,
"category": 234.527,
"detail": 334.672,
"player": 0.002,
"url_check": 65.185,
"total": 819.829
"module_load": 8.373,
"init": 0.06,
"home": 168.664,
"category": 312.24,
"detail": 1092.878,
"player": 0.005,
"url_check": 130.626,
"total": 1714.33
},
"counts": {
"classes": 30,
@@ -1294,15 +1294,15 @@
"tid": "都市",
"vod_id": "110000044555935694",
"flag": "1080P",
"play_id": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1778834619&sign=626093b5c39732a79709c255f1eddf85"
"play_id": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1778835057&sign=fc2bd4c0e8c7e97d1b98e8d64230d9b1"
},
"player": {
"parse": 0,
"url": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1778834619&sign=626093b5c39732a79709c255f1eddf85",
"url": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1778835057&sign=fc2bd4c0e8c7e97d1b98e8d64230d9b1",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1778834619&sign=626093b5c39732a79709c255f1eddf85",
"final_url": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1778835057&sign=fc2bd4c0e8c7e97d1b98e8d64230d9b1",
"reason": null
}
},
@@ -1314,14 +1314,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.452,
"init": 0.001,
"home": 0.0,
"category": 506.558,
"detail": 450.047,
"player": 403.726,
"url_check": 975.203,
"total": 2340.61
"module_load": 16.853,
"init": 0.002,
"home": 0.006,
"category": 482.261,
"detail": 431.9,
"player": 394.431,
"url_check": 1024.092,
"total": 2353.049
},
"counts": {
"classes": 5,
@@ -1353,14 +1353,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.385,
"module_load": 19.221,
"init": 0.001,
"home": 0.0,
"category": 389.555,
"detail": 616.137,
"player": 0.003,
"url_check": 71.967,
"total": 1086.64
"home": 0.001,
"category": 391.892,
"detail": 626.115,
"player": 0.006,
"url_check": 67.799,
"total": 1105.943
},
"counts": {
"classes": 5,
@@ -1392,14 +1392,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 10.293,
"module_load": 16.713,
"init": 0.001,
"home": 0.001,
"category": 290.258,
"detail": 224.436,
"player": 0.007,
"url_check": 243.669,
"total": 769.493
"category": 287.487,
"detail": 207.833,
"player": 0.023,
"url_check": 250.389,
"total": 764.226
},
"counts": {
"classes": 7,
@@ -1431,14 +1431,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.76,
"module_load": 7.917,
"init": 0.001,
"home": 0.0,
"category": 1658.727,
"detail": 1329.526,
"player": 1316.441,
"url_check": 999.554,
"total": 5309.287
"home": 0.001,
"category": 2145.29,
"detail": 1344.138,
"player": 1329.154,
"url_check": 1777.224,
"total": 6605.001
},
"counts": {
"classes": 4,
@@ -1470,14 +1470,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.839,
"init": 451.11,
"home": 348.419,
"category": 369.743,
"detail": 362.151,
"player": 709.763,
"url_check": 1060.31,
"total": 3305.968
"module_load": 7.246,
"init": 314.497,
"home": 340.754,
"category": 349.875,
"detail": 370.712,
"player": 682.628,
"url_check": 997.547,
"total": 3065.114
},
"counts": {
"classes": 8,
@@ -1493,11 +1493,11 @@
},
"player": {
"parse": 0,
"url": "https://usaydd.up8r6jjh.com/m3u87/share/7404387/7599927/20260511/161239/720/index.m3u8?sign=5ec76f8ac26808df7073c44ac1b2e354&t=1778834622",
"url": "https://usaydd.zvoz3tsd.com/m3u87/share/7404387/7599927/20260511/161239/720/index.m3u8?sign=27e0945bf13f2e0e3157f873878b9bc0&t=1778835059",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://usaydd.up8r6jjh.com/m3u87/share/7404387/7599927/20260511/161239/720/index.m3u8?sign=5ec76f8ac26808df7073c44ac1b2e354&t=1778834622",
"final_url": "https://usaydd.zvoz3tsd.com/m3u87/share/7404387/7599927/20260511/161239/720/index.m3u8?sign=27e0945bf13f2e0e3157f873878b9bc0&t=1778835059",
"reason": null
}
},
@@ -1509,14 +1509,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.957,
"init": 0.001,
"module_load": 6.766,
"init": 0.002,
"home": 0.001,
"category": 251.466,
"detail": 183.227,
"player": 0.005,
"url_check": 4933.602,
"total": 5377.804
"category": 252.107,
"detail": 190.698,
"player": 0.016,
"url_check": 1135.662,
"total": 1586.302
},
"counts": {
"classes": 6,
@@ -1548,14 +1548,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.607,
"module_load": 8.46,
"init": 0.001,
"home": 346.038,
"category": 370.61,
"detail": 1295.444,
"player": 0.027,
"url_check": 101.875,
"total": 2121.158
"home": 599.662,
"category": 357.989,
"detail": 804.802,
"player": 0.046,
"url_check": 81.548,
"total": 1854.267
},
"counts": {
"classes": 10,
@@ -1582,39 +1582,39 @@
{
"spider": "滴答影视",
"file": "滴答影视.txt",
"success": false,
"failed_stage": "unexpected",
"error": "HTTPSConnectionPool(host='www.didahd.pro', port=443): Max retries exceeded with url: /detail/3034.html (Caused by ConnectTimeoutError(<HTTPSConnection(host='www.didahd.pro', port=443) at 0x7bccc4737110>, '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 0x7bccc4737110>, '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/3034.html (Caused by ConnectTimeoutError(<HTTPSConnection(host='www.didahd.pro', port=443) at 0x7bccc4737110>, '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 716, 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 428, 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/3034.html (Caused by ConnectTimeoutError(<HTTPSConnection(host='www.didahd.pro', port=443) at 0x7bccc4737110>, 'Connection to www.didahd.pro timed out. (connect timeout=10)'))\n",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.637,
"init": 0.0,
"home": 0.001,
"category": 206.777,
"detail": 10011.587,
"player": 0.0,
"url_check": 0.0,
"total": 10228.052
"module_load": 18.759,
"init": 0.002,
"home": 0.003,
"category": 199.112,
"detail": 203.08,
"player": 0.017,
"url_check": 1403.861,
"total": 1827.177
},
"counts": {
"classes": 5,
"category_videos": 48,
"detail_videos": 0,
"episodes": 0
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "3034",
"flag": null,
"play_id": null
"flag": "百度",
"play_id": "https://pan.baidu.com/s/1iUOPtAOz3ypj2nyY7Wv9Ww?pwd=969e"
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"parse": 0,
"url": "https://pan.baidu.com/s/1iUOPtAOz3ypj2nyY7Wv9Ww?pwd=969e",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=iUOPtAOz3ypj2nyY7Wv9Ww&pwd=969e",
"reason": null
}
},
@@ -1626,14 +1626,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.196,
"init": 0.002,
"home": 91.474,
"category": 99.391,
"detail": 143.812,
"player": 289.126,
"url_check": 76.6,
"total": 705.13
"module_load": 12.21,
"init": 0.008,
"home": 83.464,
"category": 82.85,
"detail": 141.753,
"player": 296.664,
"url_check": 86.803,
"total": 705.275
},
"counts": {
"classes": 10,
@@ -1649,11 +1649,11 @@
},
"player": {
"parse": 0,
"url": "http://210.16.164.82:9090/nby/m3u8/getM3u8?name=jx.91by.top&time=1778834644629&url=NBY-e84585334a25c5b49078dfac81549a0b.m3u8",
"url": "http://210.16.164.53:9090/nby/m3u8/getM3u8?name=jx.91by.top&time=1778835059223&url=NBY-e84585334a25c5b49078dfac81549a0b.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://210.16.164.82:9090/nby/m3u8/getM3u8?name=jx.91by.top&time=1778834644629&url=NBY-e84585334a25c5b49078dfac81549a0b.m3u8",
"final_url": "http://210.16.164.53:9090/nby/m3u8/getM3u8?name=jx.91by.top&time=1778835059223&url=NBY-e84585334a25c5b49078dfac81549a0b.m3u8",
"reason": null
}
},
@@ -1665,14 +1665,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 18.477,
"module_load": 43.442,
"init": 0.027,
"home": 2969.332,
"category": 1136.553,
"detail": 160.254,
"home": 5395.387,
"category": 939.435,
"detail": 89.024,
"player": 0.002,
"url_check": 111.581,
"total": 4398.423
"url_check": 107.226,
"total": 6577.342
},
"counts": {
"classes": 11,
@@ -1704,14 +1704,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.803,
"module_load": 74.081,
"init": 0.001,
"home": 0.0,
"category": 388.707,
"detail": 363.202,
"player": 386.785,
"url_check": 211.632,
"total": 1356.83
"home": 0.001,
"category": 417.857,
"detail": 296.902,
"player": 357.496,
"url_check": 216.68,
"total": 1365.533
},
"counts": {
"classes": 6,
@@ -1743,14 +1743,14 @@
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 6.358,
"init": 0.001,
"home": 0.001,
"category": 131.268,
"module_load": 66.492,
"init": 0.002,
"home": 0.002,
"category": 131.778,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 288.258
"total": 353.61
},
"counts": {
"classes": 8,
@@ -1779,17 +1779,17 @@
"file": "玩偶聚合.txt",
"success": false,
"failed_stage": "unexpected",
"error": "HTTPSConnectionPool(host='wogg.xxooo.cf', port=443): Max retries exceeded with url: /vodshow/44--------1---.html (Caused by ConnectTimeoutError(<HTTPSConnection(host='wogg.xxooo.cf', port=443) at 0x7bccc46907d0>, 'Connection to wogg.xxooo.cf timed out. (connect timeout=10)'))",
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 716, 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 412, 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 475, in categoryContent\n File \"/home/harold/workspace/tvbox-resources/py/玩偶聚合.txt\", line 407, in _request_with_failover\nRuntimeError: HTTPSConnectionPool(host='wogg.xxooo.cf', port=443): Max retries exceeded with url: /vodshow/44--------1---.html (Caused by ConnectTimeoutError(<HTTPSConnection(host='wogg.xxooo.cf', port=443) at 0x7bccc46907d0>, 'Connection to wogg.xxooo.cf timed out. (connect timeout=10)'))\n",
"error": "all domains failed",
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 716, 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 412, 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 475, in categoryContent\n File \"/home/harold/workspace/tvbox-resources/py/玩偶聚合.txt\", line 407, in _request_with_failover\nRuntimeError: all domains failed\n",
"timings_ms": {
"module_load": 8.505,
"init": 0.001,
"home": 0.085,
"category": 10172.867,
"module_load": 50.366,
"init": 0.003,
"home": 1.311,
"category": 336.113,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 10182.138
"total": 396.644
},
"counts": {
"classes": 10,
@@ -1821,14 +1821,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 7.358,
"init": 0.001,
"home": 0.02,
"category": 410.073,
"detail": 993.291,
"player": 353.868,
"url_check": 63.75,
"total": 1829.386
"module_load": 14.399,
"init": 0.002,
"home": 0.08,
"category": 428.476,
"detail": 694.873,
"player": 376.638,
"url_check": 61.967,
"total": 1578.419
},
"counts": {
"classes": 5,
@@ -1844,11 +1844,11 @@
},
"player": {
"parse": 0,
"url": "https://vd.hxcztech.com/5131139fa31ed6fe3e8514300bcfb19d/20260515164343/decry/vd/20260311/MjYwZjE1YTRkO/172631/1998_1080/aac/h264/hls/decrypt/index.m3u8",
"url": "https://vd.hxcztech.com/05807854f285724d37059abf8c8cdfec/20260515165100/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/5131139fa31ed6fe3e8514300bcfb19d/20260515164343/decry/vd/20260311/MjYwZjE1YTRkO/172631/1998_1080/aac/h264/hls/decrypt/index.m3u8",
"final_url": "https://vd.hxcztech.com/05807854f285724d37059abf8c8cdfec/20260515165100/decry/vd/20260311/MjYwZjE1YTRkO/172631/1998_1080/aac/h264/hls/decrypt/index.m3u8",
"reason": null
}
},
@@ -1860,14 +1860,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.018,
"init": 0.001,
"home": 423.519,
"category": 249.064,
"detail": 699.953,
"player": 246.286,
"url_check": 40.989,
"total": 1664.408
"module_load": 8.29,
"init": 0.003,
"home": 411.474,
"category": 273.047,
"detail": 595.381,
"player": 263.368,
"url_check": 44.529,
"total": 1597.114
},
"counts": {
"classes": 29,
@@ -1883,11 +1883,11 @@
},
"player": {
"parse": 0,
"url": "http://vd3.bdstatic.com/mda-rgu31fx13xnschwc/1080p/mv_cae264_backtrack_1080p_normal/1753858859061604699/mda-rgu31fx13xnschwc.mp4?v_from_s=haokan-ui-video-hna",
"url": "http://vd3.bdstatic.com/mda-rgu31fx13xnschwc/1080p/mv_cae264_backtrack_1080p_normal/1753858859061604699/mda-rgu31fx13xnschwc.mp4?v_from_s=haokan-ui-video-hnb",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://vd3.bdstatic.com/mda-rgu31fx13xnschwc/1080p/mv_cae264_backtrack_1080p_normal/1753858859061604699/mda-rgu31fx13xnschwc.mp4?v_from_s=haokan-ui-video-hna",
"final_url": "http://vd3.bdstatic.com/mda-rgu31fx13xnschwc/1080p/mv_cae264_backtrack_1080p_normal/1753858859061604699/mda-rgu31fx13xnschwc.mp4?v_from_s=haokan-ui-video-hnb",
"reason": null
}
},
@@ -1899,14 +1899,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.918,
"init": 0.001,
"home": 284.778,
"category": 298.161,
"detail": 316.811,
"player": 0.016,
"url_check": 130.797,
"total": 1035.04
"module_load": 9.816,
"init": 0.004,
"home": 318.629,
"category": 240.794,
"detail": 394.641,
"player": 0.066,
"url_check": 135.561,
"total": 1100.81
},
"counts": {
"classes": 8,
@@ -1938,14 +1938,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.88,
"init": 0.001,
"home": 0.0,
"category": 193.508,
"detail": 188.109,
"player": 194.103,
"url_check": 1060.592,
"total": 1642.829
"module_load": 14.605,
"init": 0.002,
"home": 0.001,
"category": 184.658,
"detail": 201.825,
"player": 185.136,
"url_check": 892.091,
"total": 1479.596
},
"counts": {
"classes": 4,
@@ -1977,14 +1977,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.001,
"init": 0.021,
"module_load": 11.261,
"init": 0.049,
"home": 0.001,
"category": 902.972,
"detail": 200.514,
"player": 0.002,
"url_check": 1598.269,
"total": 2710.622
"category": 923.255,
"detail": 188.123,
"player": 0.005,
"url_check": 1107.249,
"total": 2236.308
},
"counts": {
"classes": 5,
@@ -2016,14 +2016,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 26.368,
"init": 471.953,
"home": 0.111,
"category": 803.49,
"detail": 574.204,
"player": 0.002,
"url_check": 38.167,
"total": 1915.21
"module_load": 39.543,
"init": 545.79,
"home": 0.202,
"category": 462.87,
"detail": 641.548,
"player": 0.007,
"url_check": 46.014,
"total": 1737.594
},
"counts": {
"classes": 11,
@@ -2055,14 +2055,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.446,
"init": 0.0,
"home": 0.0,
"category": 225.602,
"detail": 258.227,
"player": 0.005,
"url_check": 147.586,
"total": 640.523
"module_load": 9.076,
"init": 0.001,
"home": 0.001,
"category": 292.131,
"detail": 238.417,
"player": 0.008,
"url_check": 166.283,
"total": 708.661
},
"counts": {
"classes": 2,
@@ -2094,14 +2094,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 9.963,
"module_load": 16.033,
"init": 0.001,
"home": 489.957,
"category": 664.184,
"detail": 130.063,
"player": 239.979,
"url_check": 264.009,
"total": 1798.91
"home": 474.467,
"category": 741.656,
"detail": 131.951,
"player": 253.185,
"url_check": 317.256,
"total": 1937.217
},
"counts": {
"classes": 7,
@@ -2133,14 +2133,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 7.271,
"module_load": 4.395,
"init": 0.001,
"home": 492.087,
"category": 413.066,
"detail": 0.006,
"player": 1605.659,
"url_check": 60.242,
"total": 2579.377
"home": 383.023,
"category": 432.733,
"detail": 0.012,
"player": 1366.691,
"url_check": 72.464,
"total": 2260.686
},
"counts": {
"classes": 62,
@@ -2156,11 +2156,11 @@
},
"player": {
"parse": 0,
"url": "https://iot202.music.126.net/Yml6PWlvdCZjaGFubmVsPW5ldGVhc2Umc2NlbmU9YW5kcmNhcg/20260515170844/4690a470767d155b2e542feae3bf1ae4/jdymusic/obj/wo3DlMOGwrbDjj7DisKw/79589342496/522e/c121/cc67/789d3ed87383402332574ed74a20cec3.mp3",
"url": "https://iot102.music.126.net/Yml6PWlvdCZjaGFubmVsPW5ldGVhc2Umc2NlbmU9YW5kcmNhcg/20260515171602/46aab9df524045ec3dda9b42ae1ec143/jdymusic/obj/wo3DlMOGwrbDjj7DisKw/79589342496/522e/c121/cc67/789d3ed87383402332574ed74a20cec3.mp3",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://iot202.music.126.net/Yml6PWlvdCZjaGFubmVsPW5ldGVhc2Umc2NlbmU9YW5kcmNhcg/20260515170844/4690a470767d155b2e542feae3bf1ae4/jdymusic/obj/wo3DlMOGwrbDjj7DisKw/79589342496/522e/c121/cc67/789d3ed87383402332574ed74a20cec3.mp3",
"final_url": "https://iot102.music.126.net/Yml6PWlvdCZjaGFubmVsPW5ldGVhc2Umc2NlbmU9YW5kcmNhcg/20260515171602/46aab9df524045ec3dda9b42ae1ec143/jdymusic/obj/wo3DlMOGwrbDjj7DisKw/79589342496/522e/c121/cc67/789d3ed87383402332574ed74a20cec3.mp3",
"reason": null
}
},
@@ -2172,14 +2172,14 @@
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 4.334,
"module_load": 16.144,
"init": 0.001,
"home": 0.001,
"category": 3017.191,
"category": 1091.468,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 4343.374
"total": 2679.428
},
"counts": {
"classes": 6,
@@ -2211,14 +2211,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 22.256,
"module_load": 10.73,
"init": 0.001,
"home": 245.624,
"category": 270.809,
"detail": 689.495,
"player": 0.002,
"url_check": 541.712,
"total": 1770.734
"home": 226.457,
"category": 330.439,
"detail": 772.166,
"player": 0.005,
"url_check": 375.966,
"total": 1717.534
},
"counts": {
"classes": 7,
@@ -2250,14 +2250,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.945,
"module_load": 32.64,
"init": 0.001,
"home": 0.001,
"category": 303.775,
"detail": 271.098,
"player": 0.011,
"url_check": 154.634,
"total": 734.019
"category": 252.742,
"detail": 283.992,
"player": 0.012,
"url_check": 146.356,
"total": 716.865
},
"counts": {
"classes": 7,
@@ -2289,14 +2289,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.561,
"module_load": 22.453,
"init": 0.001,
"home": 793.958,
"category": 890.023,
"detail": 660.882,
"player": 1338.123,
"url_check": 1016.113,
"total": 6245.924
"home": 859.714,
"category": 881.924,
"detail": 669.227,
"player": 1381.957,
"url_check": 825.875,
"total": 6168.417
},
"counts": {
"classes": 4,
@@ -2306,17 +2306,17 @@
},
"samples": {
"tid": "1",
"vod_id": "detail/video/121042",
"vod_id": "detail/video/121041",
"flag": "YZ有广",
"play_id": "play/121042-2-1"
"play_id": "play/121041-2-1"
},
"player": {
"parse": 0,
"url": "https://cdn.yzzy28-play.com/20260515/30176_bc6c8ec9/index.m3u8",
"url": "https://player.yzzyvip-35.com/20260514/6547_8c620c2f/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://cdn.yzzy28-play.com/20260515/30176_bc6c8ec9/index.m3u8",
"final_url": "https://player.yzzyvip-35.com/20260514/6547_8c620c2f/index.m3u8",
"reason": null
}
},
@@ -2328,14 +2328,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.706,
"init": 0.001,
"home": 0.001,
"category": 2831.12,
"detail": 3062.555,
"player": 0.009,
"url_check": 1293.267,
"total": 7194.234
"module_load": 30.073,
"init": 0.006,
"home": 0.004,
"category": 2738.306,
"detail": 3154.118,
"player": 0.012,
"url_check": 1268.517,
"total": 7195.843
},
"counts": {
"classes": 6,
@@ -2367,14 +2367,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.2,
"init": 0.001,
"home": 0.001,
"category": 379.859,
"detail": 310.523,
"player": 0.004,
"url_check": 1108.983,
"total": 1803.928
"module_load": 8.313,
"init": 0.002,
"home": 0.002,
"category": 446.18,
"detail": 304.646,
"player": 0.009,
"url_check": 1430.538,
"total": 2190.748
},
"counts": {
"classes": 7,
@@ -2406,14 +2406,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.861,
"init": 0.003,
"module_load": 12.908,
"init": 0.002,
"home": 0.002,
"category": 785.482,
"detail": 170.23,
"player": 175.889,
"url_check": 1143.723,
"total": 2285.456
"category": 777.43,
"detail": 192.64,
"player": 178.147,
"url_check": 1147.327,
"total": 2309.847
},
"counts": {
"classes": 4,
@@ -2445,14 +2445,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.579,
"module_load": 9.507,
"init": 0.001,
"home": 306.934,
"category": 208.033,
"detail": 216.956,
"player": 541.545,
"url_check": 338.332,
"total": 1619.13
"home": 362.076,
"category": 187.371,
"detail": 196.636,
"player": 528.202,
"url_check": 318.514,
"total": 1606.592
},
"counts": {
"classes": 6,
@@ -2484,14 +2484,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.304,
"module_load": 6.564,
"init": 0.001,
"home": 0.0,
"category": 995.648,
"detail": 646.239,
"player": 1542.229,
"url_check": 175.746,
"total": 5244.796
"home": 0.001,
"category": 1047.411,
"detail": 644.196,
"player": 1561.696,
"url_check": 178.164,
"total": 5200.553
},
"counts": {
"classes": 6,
@@ -2523,14 +2523,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 10.562,
"module_load": 14.958,
"init": 0.001,
"home": 378.832,
"category": 100.25,
"detail": 3787.057,
"player": 133.512,
"url_check": 40.306,
"total": 4451.486
"home": 415.716,
"category": 99.91,
"detail": 3529.441,
"player": 153.167,
"url_check": 40.068,
"total": 4255.484
},
"counts": {
"classes": 4,
@@ -2546,11 +2546,11 @@
},
"player": {
"parse": 0,
"url": "http://lv.sycdn.kuwo.cn/5d746517e8ad28757e15e14c10f848bc/6a06dcc5/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/ff1c727ec16a0871714ef18b737e2de5/6a06de79/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/5d746517e8ad28757e15e14c10f848bc/6a06dcc5/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/ff1c727ec16a0871714ef18b737e2de5/6a06de79/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 +2562,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 9.083,
"init": 417.533,
"home": 273.001,
"category": 252.272,
"detail": 258.34,
"player": 272.392,
"url_check": 92.337,
"total": 1576.797
"module_load": 10.539,
"init": 394.971,
"home": 266.582,
"category": 235.573,
"detail": 299.731,
"player": 361.132,
"url_check": 212.559,
"total": 1782.979
},
"counts": {
"classes": 12,
@@ -2579,17 +2579,17 @@
},
"samples": {
"tid": "recommend",
"vod_id": "573120919",
"vod_id": "489737921",
"flag": "酷狗音乐",
"play_id": "573120919"
"play_id": "489737921"
},
"player": {
"parse": 0,
"url": "http://fsdg360.tx.kugou.com/202605151643/6f0033065bfcae77ad74d63d369610ab/v3/f6d3c14b518f19d4cb64950424dc33d3/yp/p_0_960111/ap1013_us0_mic85f71c379c462618de1399950957c33_pi6101_mx573120919_qu128_s3277971227.mp3?ft=car_203559_10049&fts=b05bb02d44717442054bac7624ed9a29&ext=.mp3",
"url": "http://fsdg360.tx.kugou.com/202605151651/368bb13221b7ad7ae80f52cf998fc483/v3/3b8447c916e442fefea0971ca2db5074/yp/p_0_960119/ap1013_us0_mic85f71c379c462618de1399950957c33_pi6101_mx489737921_qu128_s3743230847.mp3?ft=car_203559_10049&fts=b05bb02d44717442054bac7624ed9a29&ext=.mp3",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://fsdg360.tx.kugou.com/202605151643/6f0033065bfcae77ad74d63d369610ab/v3/f6d3c14b518f19d4cb64950424dc33d3/yp/p_0_960111/ap1013_us0_mic85f71c379c462618de1399950957c33_pi6101_mx573120919_qu128_s3277971227.mp3?ft=car_203559_10049&fts=b05bb02d44717442054bac7624ed9a29&ext=.mp3",
"final_url": "http://fsdg360.tx.kugou.com/202605151651/368bb13221b7ad7ae80f52cf998fc483/v3/3b8447c916e442fefea0971ca2db5074/yp/p_0_960119/ap1013_us0_mic85f71c379c462618de1399950957c33_pi6101_mx489737921_qu128_s3743230847.mp3?ft=car_203559_10049&fts=b05bb02d44717442054bac7624ed9a29&ext=.mp3",
"reason": null
}
},
@@ -2601,14 +2601,14 @@
"error": "HTTP 403",
"traceback": null,
"timings_ms": {
"module_load": 4.456,
"module_load": 7.492,
"init": 0.001,
"home": 1577.786,
"category": 221.254,
"detail": 1215.299,
"player": 176.86,
"url_check": 124.998,
"total": 5040.581
"home": 1620.931,
"category": 250.227,
"detail": 218.474,
"player": 252.224,
"url_check": 140.549,
"total": 3572.447
},
"counts": {
"classes": 4,
@@ -2624,11 +2624,11 @@
},
"player": {
"parse": 0,
"url": "https://ppvod01.kqgfbs.com/splitOut/20260103/1226906/V20260103184854978121226906/index.m3u8?t=6a0706f6&whip=212.107.29.200&sign=0aebb9102480ae6d3bdfe8839a7faafe94dce90d",
"url": "https://ppvod01.kqgfbs.com/splitOut/20260103/1226906/V20260103184854978121226906/index.m3u8?t=6a0708a9&whip=212.107.29.200&sign=516c65bf3a5c3066a12c04124d8a638838181ff6",
"valid": false,
"reachable": false,
"status_code": 403,
"final_url": "https://ppvod01.kqgfbs.com/splitOut/20260103/1226906/V20260103184854978121226906/index.m3u8?t=6a0706f6&whip=212.107.29.200&sign=0aebb9102480ae6d3bdfe8839a7faafe94dce90d",
"final_url": "https://ppvod01.kqgfbs.com/splitOut/20260103/1226906/V20260103184854978121226906/index.m3u8?t=6a0708a9&whip=212.107.29.200&sign=516c65bf3a5c3066a12c04124d8a638838181ff6",
"reason": "HTTP 403"
}
},
@@ -2640,14 +2640,14 @@
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 5.257,
"module_load": 7.891,
"init": 0.001,
"home": 0.001,
"category": 1347.191,
"category": 1307.476,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 2842.425
"total": 2661.37
},
"counts": {
"classes": 5,
@@ -2679,14 +2679,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 11.153,
"module_load": 5.151,
"init": 0.001,
"home": 0.001,
"category": 1660.534,
"detail": 1640.897,
"player": 1657.845,
"url_check": 1864.698,
"total": 6835.814
"category": 1653.688,
"detail": 1639.667,
"player": 1658.642,
"url_check": 1819.681,
"total": 6777.604
},
"counts": {
"classes": 4,
@@ -2718,14 +2718,14 @@
"error": "分类列表为空",
"traceback": null,
"timings_ms": {
"module_load": 5.848,
"module_load": 6.269,
"init": 0.001,
"home": 282.372,
"home": 132.633,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 288.385
"total": 139.117
},
"counts": {
"classes": 0,
@@ -2757,14 +2757,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.849,
"init": 0.0,
"module_load": 4.183,
"init": 0.001,
"home": 0.0,
"category": 401.941,
"detail": 181.828,
"player": 0.03,
"url_check": 459.85,
"total": 1048.187
"category": 392.702,
"detail": 190.953,
"player": 0.023,
"url_check": 322.192,
"total": 910.907
},
"counts": {
"classes": 6,
@@ -2791,39 +2791,39 @@
{
"spider": "黑猫APP",
"file": "黑猫APP.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"success": false,
"failed_stage": "unexpected",
"error": "('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))",
"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 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 ~~~~~~~~~~~~~~~~~^^\nhttp.client.RemoteDisconnected: Remote end closed connection without response\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.', RemoteDisconnected('Remote end closed connection without response'))\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 700, 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/黑猫APP.txt\", line 155, in homeContent\n File \"/home/harold/workspace/tvbox-resources/py/黑猫APP.txt\", line 67, in _api_post\n File \"/home/harold/workspace/atv-spiders/py/base/spider.py\", line 152, in post\n rsp = requests.post(url, params=params, data=data, json=json, cookies=cookies, headers=headers, timeout=timeout,\n verify=verify, stream=stream, allow_redirects=allow_redirects)\nrequests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))\n",
"timings_ms": {
"module_load": 5.62,
"module_load": 8.239,
"init": 0.001,
"home": 888.302,
"category": 1677.786,
"detail": 594.962,
"player": 778.828,
"url_check": 264.315,
"total": 4210.454
"home": 572.441,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 582.552
},
"counts": {
"classes": 5,
"category_videos": 30,
"detail_videos": 1,
"episodes": 2
"classes": 0,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "1",
"vod_id": "93717",
"flag": "🐈‍⬛高清线路",
"play_id": "高清线路1@@direct@@66ddeb0b0fe39924c19b86fc5dcce841,97b83baaab270eeddf7cf2cc368d73c4,token+,1,1"
"tid": null,
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": 0,
"url": "https://v3-dy-o.zjcdn.com/1566a0b1e82a96bffdfc8f3d69fb6e13/6a0749f4/video/tos/cn/tos-cn-v-5f73e7/ow2TX8uQvEzZiWEt9Ck0gaIiYgaLBBXvdGwia/",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://v3-dy-o.zjcdn.com/1566a0b1e82a96bffdfc8f3d69fb6e13/6a0749f4/video/tos/cn/tos-cn-v-5f73e7/ow2TX8uQvEzZiWEt9Ck0gaIiYgaLBBXvdGwia/",
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
}