This commit is contained in:
Harold
2026-05-13 13:02:03 +08:00
parent 6c5b8362b1
commit d96485ff7a
6 changed files with 962 additions and 904 deletions
+715 -676
View File
@@ -1,21 +1,21 @@
{
"generated_at": "2026-05-13T11:56:46+08:00",
"generated_at": "2026-05-13T13:01:09+08:00",
"max_workers": 16,
"total_duration_ms": 48177.981,
"total_duration_ms": 53681.981,
"summary": {
"total": 71,
"success": 57,
"failed": 14,
"success_rate": 0.8028,
"total": 72,
"success": 56,
"failed": 16,
"success_rate": 0.7778,
"stage_failures": {
"module_load": 0,
"init": 0,
"home": 1,
"category": 1,
"detail": 0,
"category": 2,
"detail": 1,
"player": 1,
"url_check": 7,
"unexpected": 4
"url_check": 6,
"unexpected": 5
}
},
"results": [
@@ -27,14 +27,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 182.394,
"module_load": 194.135,
"init": 0.001,
"home": 0.001,
"category": 3775.768,
"detail": 2165.407,
"player": 0.005,
"url_check": 212.241,
"total": 6336.552
"home": 0.005,
"category": 4039.502,
"detail": 2407.201,
"player": 0.004,
"url_check": 180.965,
"total": 6873.165
},
"counts": {
"classes": 5,
@@ -66,14 +66,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 216.556,
"init": 0.002,
"home": 0.0,
"category": 3448.398,
"detail": 2320.696,
"module_load": 218.554,
"init": 0.003,
"home": 0.001,
"category": 2456.199,
"detail": 2322.557,
"player": 0.002,
"url_check": 0.013,
"total": 5989.867
"url_check": 0.018,
"total": 5032.515
},
"counts": {
"classes": 12,
@@ -105,14 +105,14 @@
"error": "HTTP 403",
"traceback": null,
"timings_ms": {
"module_load": 184.948,
"init": 0.002,
"home": 2465.183,
"category": 2183.053,
"detail": 2304.744,
"player": 2247.518,
"url_check": 594.072,
"total": 20734.845
"module_load": 193.492,
"init": 0.001,
"home": 5516.002,
"category": 1315.365,
"detail": 1381.87,
"player": 1566.847,
"url_check": 602.951,
"total": 21196.314
},
"counts": {
"classes": 6,
@@ -132,7 +132,7 @@
"valid": false,
"reachable": false,
"status_code": 403,
"final_url": "https://lv-sycdn.kuwo.cn/012b7c4610755c5acd83e8214559e48b/6a03f693/resource/1307392909/trackmedia/C200003T85Hg2Ouv0r.m4a?from=vip",
"final_url": "https://lv-sycdn.kuwo.cn/d68edf3111a3ccf99e33e1bc2ba00e53/6a0405aa/resource/1307392909/trackmedia/C200003T85Hg2Ouv0r.m4a?from=vip",
"reason": "HTTP 403"
}
},
@@ -144,14 +144,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 249.693,
"init": 0.0,
"home": 0.0,
"category": 3326.649,
"detail": 3218.456,
"player": 0.013,
"url_check": 1694.377,
"total": 8489.964
"module_load": 255.52,
"init": 0.001,
"home": 0.001,
"category": 3577.411,
"detail": 2194.616,
"player": 0.009,
"url_check": 3080.614,
"total": 9108.89
},
"counts": {
"classes": 2,
@@ -183,14 +183,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 213.04,
"init": 0.008,
"home": 0.005,
"category": 578.036,
"detail": 735.424,
"player": 357.53,
"url_check": 114.254,
"total": 2005.421
"module_load": 196.574,
"init": 0.018,
"home": 0.006,
"category": 592.592,
"detail": 495.309,
"player": 1032.496,
"url_check": 92.46,
"total": 2461.827
},
"counts": {
"classes": 6,
@@ -206,11 +206,11 @@
},
"player": {
"parse": 0,
"url": "https://isure.stream.qqmusic.qq.com/F000003Iu5fo0mXVj2.flac?guid=d683b4cd784a29ec1639ccee37be39c3&vkey=0669ABC78024BF502B9AA7D9FFA19E600D837EDF23A8360E68FB3CF9CFDD769B79BD4BC22494B73F07AB5B1D3939434C0E5EBB07ECA0F41F__v2b94c4de&uin=1152921504846230218&fromtag=119114&redirect=1",
"url": "https://isure.stream.qqmusic.qq.com/F000003Iu5fo0mXVj2.flac?guid=5cb8cdbf719065836046640c38013fed&vkey=A4A467DE68449973B7587724D83FA8A8F2B65E6AC79C0545FD8D6D5F925ACFF373A64D737DE7AFD6390B8ED7D5DCD3C2DC511617B0FEEBE0__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=d683b4cd784a29ec1639ccee37be39c3&vkey=0669ABC78024BF502B9AA7D9FFA19E600D837EDF23A8360E68FB3CF9CFDD769B79BD4BC22494B73F07AB5B1D3939434C0E5EBB07ECA0F41F__v2b94c4de&uin=1152921504846230218&fromtag=119114&redirect=1",
"final_url": "https://isure.stream.qqmusic.qq.com/F000003Iu5fo0mXVj2.flac?guid=5cb8cdbf719065836046640c38013fed&vkey=A4A467DE68449973B7587724D83FA8A8F2B65E6AC79C0545FD8D6D5F925ACFF373A64D737DE7AFD6390B8ED7D5DCD3C2DC511617B0FEEBE0__v2b9ab6c8&uin=1152921504846230218&fromtag=119114&redirect=1",
"reason": null
}
},
@@ -222,14 +222,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 183.944,
"module_load": 188.23,
"init": 0.001,
"home": 0.001,
"category": 3253.488,
"detail": 1998.761,
"category": 2355.095,
"detail": 2013.24,
"player": 0.005,
"url_check": 335.891,
"total": 5809.052
"url_check": 232.478,
"total": 4838.721
},
"counts": {
"classes": 6,
@@ -239,17 +239,17 @@
},
"samples": {
"tid": "index",
"vod_id": "714892944",
"flag": "UC",
"play_id": "https://drive.uc.cn/s/fd9594d2c6f34?public=1"
"vod_id": "714893443",
"flag": "夸克",
"play_id": "https://pan.quark.cn/s/f8d9343034da"
},
"player": {
"parse": 0,
"url": "https://drive.uc.cn/s/fd9594d2c6f34?public=1",
"url": "https://pan.quark.cn/s/f8d9343034da",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://drive.uc.cn/s/fd9594d2c6f34?public=1",
"final_url": "https://pan.quark.cn/s/f8d9343034da",
"reason": null
}
},
@@ -261,34 +261,34 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 179.004,
"module_load": 195.465,
"init": 0.001,
"home": 0.001,
"category": 4396.54,
"detail": 2922.899,
"player": 4060.491,
"url_check": 3608.751,
"total": 15170.027
"category": 5918.907,
"detail": 3547.785,
"player": 3045.969,
"url_check": 2491.038,
"total": 15251.908
},
"counts": {
"classes": 7,
"category_videos": 213,
"category_videos": 215,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "index",
"vod_id": "203869",
"vod_id": "203471",
"flag": "YouKnowTV",
"play_id": "eyJ2b2RfaWQiOiIyMDM4NjkiLCJlcGlzb2RlX2luZGV4IjoxLCJ0aXRsZSI6IuesrDAx6ZuGIiwiY2FuZGlkYXRlcyI6W3sic291cmNlIjoi57q_6LevMSIsInNvdXJjZV9pZCI6IjEiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8yMDM4NjktMS0xLyJ9LHsic291cmNlIjoi57q_6LevMiIsInNvdXJjZV9pZCI6IjEiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8yMDM4NjktMS0xLyJ9LHsic291cmNlIjoi57q_6LevMTEiLCJzb3VyY2VfaWQiOiIyIiwiZXBpc29kZV91cmwiOiJodHRwczovL3d3dy55b3Vrbm93LnR2L3AvMjAzODY5LTItMS8ifSx7InNvdXJjZSI6Iue6v-i3rzEyIiwic291cmNlX2lkIjoiMiIsImVwaXNvZGVfdXJsIjoiaHR0cHM6Ly93d3cueW91a25vdy50di9wLzIwMzg2OS0yLTEvIn1dfQ"
"play_id": "eyJ2b2RfaWQiOiIyMDM0NzEiLCJlcGlzb2RlX2luZGV4IjoxLCJ0aXRsZSI6IuesrDAx6ZuGIiwiY2FuZGlkYXRlcyI6W3sic291cmNlIjoi57q_6LevMSIsInNvdXJjZV9pZCI6IjEiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8yMDM0NzEtMS0xLyJ9LHsic291cmNlIjoi57q_6LevMiIsInNvdXJjZV9pZCI6IjEiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8yMDM0NzEtMS0xLyJ9LHsic291cmNlIjoi57q_6LevMzEiLCJzb3VyY2VfaWQiOiIyIiwiZXBpc29kZV91cmwiOiJodHRwczovL3d3dy55b3Vrbm93LnR2L3AvMjAzNDcxLTItMS8ifSx7InNvdXJjZSI6Iue6v-i3rzMyIiwic291cmNlX2lkIjoiMiIsImVwaXNvZGVfdXJsIjoiaHR0cHM6Ly93d3cueW91a25vdy50di9wLzIwMzQ3MS0yLTEvIn1dfQ"
},
"player": {
"parse": 0,
"url": "https://vip.dytt-tvs.com/20260511/19653_79643b60/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/20260511/19653_79643b60/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": 210.569,
"module_load": 215.301,
"init": 0.006,
"home": 0.001,
"category": 3511.478,
"detail": 3391.952,
"player": 0.006,
"url_check": 0.016,
"total": 7122.837
"home": 0.002,
"category": 3042.823,
"detail": 2342.38,
"player": 0.017,
"url_check": 0.026,
"total": 5635.366
},
"counts": {
"classes": 5,
@@ -317,17 +317,17 @@
},
"samples": {
"tid": "1",
"vod_id": "497483",
"vod_id": "499386",
"flag": "磁力1",
"play_id": "magnet:?xt=urn:btih:a62df5b0c7bd6de391c10ca4064ae8032ee82df4&dn=所爱之人.2026.HD1080P.AAC.H264.CHS.BTSJ6"
"play_id": "magnet:?xt=urn:btih:d183f3fc0414b2a3422c36fbfb8bce2826ce5fd0&dn=UIndex - Im Frankelda 2025 1080p WEB-DL H 264-NGP"
},
"player": {
"parse": 0,
"url": "magnet:?xt=urn:btih:a62df5b0c7bd6de391c10ca4064ae8032ee82df4&dn=所爱之人.2026.HD1080P.AAC.H264.CHS.BTSJ6",
"url": "magnet:?xt=urn:btih:d183f3fc0414b2a3422c36fbfb8bce2826ce5fd0&dn=UIndex - Im Frankelda 2025 1080p WEB-DL H 264-NGP",
"valid": true,
"reachable": null,
"status_code": null,
"final_url": "magnet:?xt=urn:btih:a62df5b0c7bd6de391c10ca4064ae8032ee82df4&dn=所爱之人.2026.HD1080P.AAC.H264.CHS.BTSJ6",
"final_url": "magnet:?xt=urn:btih:d183f3fc0414b2a3422c36fbfb8bce2826ce5fd0&dn=UIndex - Im Frankelda 2025 1080p WEB-DL H 264-NGP",
"reason": "非 HTTP 地址,按协议格式通过"
}
},
@@ -339,14 +339,14 @@
"error": "playerContent 未返回播放地址",
"traceback": null,
"timings_ms": {
"module_load": 211.677,
"init": 0.001,
"home": 2186.19,
"category": 2188.76,
"detail": 1953.38,
"module_load": 203.291,
"init": 0.0,
"home": 4197.545,
"category": 4587.227,
"detail": 1932.674,
"player": 0.006,
"url_check": 0.0,
"total": 10744.554
"total": 15358.665
},
"counts": {
"classes": 5,
@@ -374,39 +374,39 @@
"spider": "世纪音乐",
"file": "世纪音乐.txt",
"success": false,
"failed_stage": "url_check",
"error": "HTTP 403",
"failed_stage": "detail",
"error": "详情缺少播放源或播放列表",
"traceback": null,
"timings_ms": {
"module_load": 179.682,
"module_load": 190.081,
"init": 0.001,
"home": 260.912,
"category": 0.006,
"detail": 163.531,
"player": 0.007,
"url_check": 426.488,
"total": 1544.704
"home": 240.865,
"category": 0.004,
"detail": 125.601,
"player": 0.0,
"url_check": 0.0,
"total": 766.661
},
"counts": {
"classes": 5,
"category_videos": 3,
"detail_videos": 1,
"episodes": 1
"episodes": 0
},
"samples": {
"tid": "rank_list",
"vod_id": "rank:rise",
"flag": "世纪音乐",
"play_id": "music:ttcemynecy"
"flag": null,
"play_id": null
},
"player": {
"parse": 0,
"url": "https://www.4c44.com/data/down.php?ac=music&id=ttcemynecy",
"parse": null,
"url": "",
"valid": false,
"reachable": false,
"status_code": 403,
"final_url": "https://www.4c44.com/data/down.php?ac=music&id=ttcemynecy",
"reason": "HTTP 403"
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
@@ -417,14 +417,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 213.036,
"module_load": 215.146,
"init": 0.001,
"home": 0.001,
"category": 3175.379,
"detail": 2044.432,
"player": 3850.118,
"url_check": 2461.409,
"total": 11752.022
"home": 0.002,
"category": 3261.933,
"detail": 4165.408,
"player": 6063.106,
"url_check": 1407.187,
"total": 15145.505
},
"counts": {
"classes": 14,
@@ -440,11 +440,11 @@
},
"player": {
"parse": 0,
"url": "https://zijieapi.douyinbyte.com/m3u8/f641c7e5eab00b071b0a8a25ffcf2f53.m3u8",
"url": "https://zijieapi.douyinbyte.com/m3u8/b491fa92beb5e4cd411c42fcd6605e93.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://zijieapi.douyinbyte.com/m3u8/f641c7e5eab00b071b0a8a25ffcf2f53.m3u8",
"final_url": "https://zijieapi.douyinbyte.com/m3u8/b491fa92beb5e4cd411c42fcd6605e93.m3u8",
"reason": null
}
},
@@ -456,14 +456,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 178.114,
"module_load": 211.411,
"init": 0.001,
"home": 1010.735,
"category": 1929.871,
"detail": 8151.539,
"player": 0.04,
"url_check": 3784.065,
"total": 15056.474
"home": 3006.308,
"category": 1153.232,
"detail": 3857.875,
"player": 0.019,
"url_check": 3027.864,
"total": 29237.801
},
"counts": {
"classes": 7,
@@ -472,18 +472,18 @@
"episodes": 1
},
"samples": {
"tid": "movie",
"vod_id": "483203",
"tid": "tv_series",
"vod_id": "44072",
"flag": "乌云影视",
"play_id": "eyJtZWRpYUlkIjogIjQ4MzIwMyIsICJzZWFzb25ObyI6IDEsICJlcE5vIjogMSwgInZpZGVvSWQiOiAxNTc2MjgzMiwgInBsYXlVcmwiOiAiaHR0cHM6Ly9kMWpkbm1rYzFuNWNuNC5jbG91ZGZyb250Lm5ldC9nZW5fb3ZlcnNlYXMvaHR0cHM6Ly9zMi5iZmxsdmlwLmNvbS92aWRlby95YW54aWF4aW5nL2E2ZWY4NTRjMGMxZi9pbmRleC5tM3U4IiwgIm5hbWUiOiAi56ysMembhiDpq5jmuIUifQ"
"play_id": "eyJtZWRpYUlkIjogIjQ0MDcyIiwgInNlYXNvbk5vIjogMSwgImVwTm8iOiAxLCAidmlkZW9JZCI6IDE1MDg4NywgInBsYXlVcmwiOiAiaHR0cHM6Ly9kMWpkbm1rYzFuNWNuNC5jbG91ZGZyb250Lm5ldC9nZW5fb3ZlcnNlYXMvaHR0cHM6Ly9jMS5ycmNkbmJmNS5jb20vdmlkZW8vemhpeGluZ3dhaWNodWFuL-esrDAx6ZuGL2luZGV4Lm0zdTgiLCAibmFtZSI6ICLnrKwx6ZuGIOesrDAx6ZuGIn0"
},
"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.rrcdnbf5.com/video/zhixingwaichuan/第01集/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://d1jdnmkc1n5cn4.cloudfront.net/hls_overseas/46b6fce3769ed66684ffa069c6effb245ff66496.m3u8",
"final_url": "https://d1jdnmkc1n5cn4.cloudfront.net/hls_overseas/775ab5133cbc3ff430a7a8092b3d65c93b19e284.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 644, 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 404, 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 290, 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": 207.233,
"module_load": 202.462,
"init": 0.001,
"home": 0.001,
"category": 10053.44,
"category": 10032.07,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 10270.305
"total": 10282.522
},
"counts": {
"classes": 5,
@@ -529,39 +529,39 @@
{
"spider": "二小",
"file": "二小.txt",
"success": true,
"failed_stage": null,
"error": null,
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 175.033,
"module_load": 183.696,
"init": 0.001,
"home": 0.001,
"category": 3411.036,
"detail": 3072.156,
"player": 0.005,
"url_check": 958.111,
"total": 7617.664
"category": 3192.462,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 7126.055
},
"counts": {
"classes": 4,
"category_videos": 72,
"detail_videos": 1,
"episodes": 1
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "1",
"vod_id": "/index.php/vod/detail/id/12379.html",
"flag": "百度#二小",
"play_id": "https://pan.baidu.com/s/1KBoFekk6ROhuUssGJN2kpQ?pwd=rpgh"
"tid": "2",
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1KBoFekk6ROhuUssGJN2kpQ?pwd=rpgh",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=KBoFekk6ROhuUssGJN2kpQ&pwd=rpgh",
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
@@ -573,14 +573,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 178.363,
"module_load": 196.148,
"init": 0.001,
"home": 0.001,
"category": 4043.772,
"detail": 2544.274,
"player": 0.008,
"url_check": 1197.303,
"total": 7999.075
"category": 3025.818,
"detail": 3715.45,
"player": 0.009,
"url_check": 2045.887,
"total": 9031.996
},
"counts": {
"classes": 4,
@@ -612,14 +612,14 @@
"error": "HTTP 403",
"traceback": null,
"timings_ms": {
"module_load": 174.255,
"init": 0.0,
"home": 350.077,
"category": 256.714,
"detail": 266.304,
"player": 344.509,
"url_check": 278.885,
"total": 2802.033
"module_load": 188.679,
"init": 0.001,
"home": 271.96,
"category": 273.225,
"detail": 235.86,
"player": 397.319,
"url_check": 225.027,
"total": 2785.153
},
"counts": {
"classes": 4,
@@ -635,11 +635,11 @@
},
"player": {
"parse": 0,
"url": "https://tfvu0grhdgmt1gc41hcttghzdnptz.ourdvsssvip.com:20443/ws-302.bwcgee.cn/d03d598a130371f188926733a68f0402/cc6df813bad94a13bce4851918016715-2498cc62f9f8dad4c656ed2c1c108944-ld.mp4?key=a7337a349ab2f11e94d60fd4777948ed&time=1778659009291&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=b70decf5c4f4482587ec3ddc8b689ee2&hevc=false&seasonId=56609&wsiphost=ipdbme&wsrid_tag=6a03f681_PS-CTU-01y7n22_18979-31190-s1t1778644609375&x-mamba-business-label=13679&redirect_cnt=0&ip_type=0&wshc=C&requery=0",
"url": "https://a3fkpcul3b4qlid.302.fledgecloud.com:56782/zj-302-cdn.bwcgee.cn/d03d598a130371f188926733a68f0402/cc6df813bad94a13bce4851918016715-2498cc62f9f8dad4c656ed2c1c108944-ld.mp4?auth_key=1778662871-9a05bd80ee77f90df9643fbb0415a11e-0-1f6de4c7802bad4d42b55a453d852fbe&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=2968bbf34b30404ebca6ab70b9d290a2&hevc=false&seasonId=56609",
"valid": false,
"reachable": false,
"status_code": 403,
"final_url": "https://tfvu0grhdgmt1gc41hcttghzdnptz.ourdvsssvip.com:20443/ws-302.bwcgee.cn/d03d598a130371f188926733a68f0402/cc6df813bad94a13bce4851918016715-2498cc62f9f8dad4c656ed2c1c108944-ld.mp4?key=a7337a349ab2f11e94d60fd4777948ed&time=1778659009291&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=b70decf5c4f4482587ec3ddc8b689ee2&hevc=false&seasonId=56609&wsiphost=ipdbme&wsrid_tag=6a03f681_PS-CTU-01y7n22_18979-31190-s1t1778644609375&x-mamba-business-label=13679&redirect_cnt=0&ip_type=0&wshc=C&requery=0",
"final_url": "https://a3fkpcul3b4qlid.302.fledgecloud.com:56782/zj-302-cdn.bwcgee.cn/d03d598a130371f188926733a68f0402/cc6df813bad94a13bce4851918016715-2498cc62f9f8dad4c656ed2c1c108944-ld.mp4?auth_key=1778662871-9a05bd80ee77f90df9643fbb0415a11e-0-1f6de4c7802bad4d42b55a453d852fbe&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=2968bbf34b30404ebca6ab70b9d290a2&hevc=false&seasonId=56609",
"reason": "HTTP 403"
}
},
@@ -651,14 +651,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.655,
"module_load": 8.781,
"init": 0.001,
"home": 0.001,
"category": 307.717,
"detail": 603.694,
"category": 312.329,
"detail": 620.603,
"player": 0.004,
"url_check": 266.043,
"total": 1186.542
"url_check": 323.173,
"total": 1265.392
},
"counts": {
"classes": 6,
@@ -690,14 +690,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.289,
"module_load": 5.245,
"init": 0.001,
"home": 0.001,
"category": 3471.997,
"detail": 2997.93,
"category": 3691.641,
"detail": 4113.479,
"player": 0.008,
"url_check": 183.646,
"total": 6659.255
"url_check": 72.72,
"total": 7883.414
},
"counts": {
"classes": 4,
@@ -726,17 +726,17 @@
"file": "修罗.txt",
"success": false,
"failed_stage": "url_check",
"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)')))",
"error": "HTTPSConnectionPool(host='www.bde4.cc', port=443): Read timed out. (read timeout=5)",
"traceback": null,
"timings_ms": {
"module_load": 7.951,
"module_load": 7.878,
"init": 0.001,
"home": 0.001,
"category": 2581.247,
"detail": 1102.835,
"player": 4483.969,
"url_check": 4625.345,
"total": 30243.521
"category": 1647.568,
"detail": 3764.378,
"player": 2923.405,
"url_check": 5012.532,
"total": 30898.131
},
"counts": {
"classes": 4,
@@ -757,7 +757,7 @@
"reachable": false,
"status_code": null,
"final_url": "https://www.bde4.cc/510ED26DE4746A134A040FA9D3887C0C43FE6008AE1653283692892AB53C46E1FB4F9324C5397440F318FB7B0CEC8C5BFA89FD391A0645F0285AB8B70B632A6D.m3u8#maliva",
"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)')))"
"reason": "HTTPSConnectionPool(host='www.bde4.cc', port=443): Read timed out. (read timeout=5)"
}
},
{
@@ -768,14 +768,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.642,
"module_load": 8.516,
"init": 0.001,
"home": 0.001,
"category": 3361.625,
"detail": 3981.88,
"player": 4916.803,
"url_check": 4072.481,
"total": 16337.924
"category": 3849.028,
"detail": 5711.117,
"player": 11523.586,
"url_check": 3319.36,
"total": 24412.283
},
"counts": {
"classes": 8,
@@ -791,11 +791,11 @@
},
"player": {
"parse": 0,
"url": "https://fktv.me/ysapi/m3u8/p/d4d1de2e90761330a58ac905ec4bee14.m3u8",
"url": "https://fktv.me/ysapi/m3u8/p/82778604c3fc76b5aa66c581d7e448b2.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://fktv.me/ysapi/m3u8/p/d4d1de2e90761330a58ac905ec4bee14.m3u8",
"final_url": "https://fktv.me/ysapi/m3u8/p/82778604c3fc76b5aa66c581d7e448b2.m3u8",
"reason": null
}
},
@@ -807,14 +807,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.975,
"init": 0.0,
"module_load": 5.019,
"init": 0.001,
"home": 0.0,
"category": 2927.174,
"detail": 3878.033,
"player": 10237.11,
"url_check": 3776.125,
"total": 20825.468
"category": 6644.816,
"detail": 4896.288,
"player": 7304.57,
"url_check": 3595.572,
"total": 22446.874
},
"counts": {
"classes": 5,
@@ -824,17 +824,17 @@
},
"samples": {
"tid": "dianying",
"vod_id": "vod/62983",
"flag": "FF备用",
"play_id": "play/62983-1-1"
"vod_id": "vod/62978",
"flag": "BF备用",
"play_id": "play/62978-2-1"
},
"player": {
"parse": 1,
"url": "https://www.jqqzx.cc/play/62983-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/62983-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": 4.619,
"init": 0.0,
"module_load": 4.81,
"init": 0.001,
"home": 0.001,
"category": 2078.701,
"detail": 2517.412,
"player": 4912.491,
"url_check": 1994.492,
"total": 21956.878
"category": 1232.452,
"detail": 1517.514,
"player": 3344.369,
"url_check": 1014.819,
"total": 18525.488
},
"counts": {
"classes": 6,
@@ -869,11 +869,11 @@
},
"player": {
"parse": 0,
"url": "https://img.ruyijx.com/m3u8/SZMc4XFfFlwqoK.m3u8?RvdTiKI1oQds6IV7Ba",
"url": "https://img.ruyijx.com/m3u8/BEOOQ6pvgTUkPB.m3u8?9WYl8GkFl1ESX72PyO",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://img.ruyijx.com/m3u8/SZMc4XFfFlwqoK.m3u8?RvdTiKI1oQds6IV7Ba",
"final_url": "https://img.ruyijx.com/m3u8/BEOOQ6pvgTUkPB.m3u8?9WYl8GkFl1ESX72PyO",
"reason": null
}
},
@@ -885,14 +885,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.821,
"init": 0.0,
"home": 3150.11,
"category": 295.221,
"detail": 798.318,
"player": 0.003,
"url_check": 92.362,
"total": 4341.227
"module_load": 4.787,
"init": 0.001,
"home": 3182.021,
"category": 296.661,
"detail": 832.517,
"player": 0.002,
"url_check": 174.179,
"total": 4490.519
},
"counts": {
"classes": 11,
@@ -924,14 +924,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.674,
"init": 502.419,
"home": 0.004,
"category": 202.821,
"detail": 186.046,
"module_load": 4.171,
"init": 329.991,
"home": 0.003,
"category": 181.814,
"detail": 188.179,
"player": 0.002,
"url_check": 217.886,
"total": 1113.994
"url_check": 169.678,
"total": 874.468
},
"counts": {
"classes": 7,
@@ -941,17 +941,17 @@
},
"samples": {
"tid": "ju",
"vod_id": "/ju/10438.html",
"vod_id": "/ju/10501.html",
"flag": "夸克",
"play_id": "https://pan.quark.cn/s/0955c2284f45"
"play_id": "https://pan.quark.cn/s/a83e3e526c62"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/0955c2284f45",
"url": "https://pan.quark.cn/s/a83e3e526c62",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/0955c2284f45",
"final_url": "https://pan.quark.cn/s/a83e3e526c62",
"reason": null
}
},
@@ -963,14 +963,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.475,
"init": 76.459,
"module_load": 4.633,
"init": 75.895,
"home": 0.001,
"category": 199.956,
"detail": 3688.898,
"player": 334.359,
"url_check": 121.615,
"total": 4426.785
"category": 197.4,
"detail": 2532.633,
"player": 299.049,
"url_check": 77.074,
"total": 3187.264
},
"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=5a402846e112bf2acd7c4de59026ebca&buy_key=FM&token=3658&timestamp=1778644618&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=b0f3094722f5c2bcfb9681982d9311ba&buy_key=FM&token=2065&timestamp=1778648479&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=5a402846e112bf2acd7c4de59026ebca&buy_key=FM&token=3658&timestamp=1778644618&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=b0f3094722f5c2bcfb9681982d9311ba&buy_key=FM&token=2065&timestamp=1778648479&duration=453",
"reason": null
}
},
@@ -1002,14 +1002,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 11.037,
"init": 0.001,
"home": 2615.378,
"category": 2958.607,
"detail": 2812.479,
"player": 4424.593,
"url_check": 180.612,
"total": 13003.997
"module_load": 7.064,
"init": 0.0,
"home": 3165.443,
"category": 4542.238,
"detail": 2924.944,
"player": 2268.921,
"url_check": 332.192,
"total": 13241.929
},
"counts": {
"classes": 8,
@@ -1025,11 +1025,11 @@
},
"player": {
"parse": 0,
"url": "https://file.hgeuz.cn/stream/eJwANwDI_wJVZgVKIIrU0ECux-GJ1PSt38ahythCqsH-r9TAQ4rj5F94rOjbQKjk063xyIX2z3hfeGcIHF4BAAD__5DtISY.?ts=1778643785&sign=79df129e373a9b7deba1cf060c30d7fd",
"url": "https://file.hgeuz.cn/stream/eJwANwDI_wJVZgVKIIrU0ECux-GJ1PSt38ahythCqsH-r9TAQ4rj5F94rOjbQKjk063xyIX2z3hfeGcIHF4BAAD__5DtISY.?ts=1778648489&sign=31f0b54cb4082f1a8546521e8eeddf85",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://file.hgeuz.cn/stream/eJwANwDI_wJVZgVKIIrU0ECux-GJ1PSt38ahythCqsH-r9TAQ4rj5F94rOjbQKjk063xyIX2z3hfeGcIHF4BAAD__5DtISY.?ts=1778643785&sign=79df129e373a9b7deba1cf060c30d7fd",
"final_url": "https://file.hgeuz.cn/stream/eJwANwDI_wJVZgVKIIrU0ECux-GJ1PSt38ahythCqsH-r9TAQ4rj5F94rOjbQKjk063xyIX2z3hfeGcIHF4BAAD__5DtISY.?ts=1778648489&sign=31f0b54cb4082f1a8546521e8eeddf85",
"reason": null
}
},
@@ -1041,14 +1041,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 18.775,
"module_load": 7.116,
"init": 0.005,
"home": 2063.839,
"category": 2097.208,
"detail": 2048.622,
"player": 3228.456,
"url_check": 179.897,
"total": 9637.348
"home": 4698.424,
"category": 2028.592,
"detail": 1275.96,
"player": 2614.798,
"url_check": 113.856,
"total": 10739.522
},
"counts": {
"classes": 3,
@@ -1064,11 +1064,11 @@
},
"player": {
"parse": 0,
"url": "https://p9-bot-workflow-sign.byteimg.com/tos-cn-i-mdko3gqilj/c87332e45fc54a998855db93afefd79b~tplv-mdko3gqilj-image.image?rk3s=81d4c505&x-expires=1809748624&x-signature=XnTT3O7FIeSa53P%2Fjq43g3jb9YQ%3D",
"url": "https://p3-bot-workflow-sign.byteimg.com/tos-cn-i-mdko3gqilj/c87332e45fc54a998855db93afefd79b~tplv-mdko3gqilj-image.image?rk3s=81d4c505&x-expires=1809752488&x-signature=KM%2BJencvuBujZqI9gye4LvZmnxo%3D",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://p9-bot-workflow-sign.byteimg.com/tos-cn-i-mdko3gqilj/c87332e45fc54a998855db93afefd79b~tplv-mdko3gqilj-image.image?rk3s=81d4c505&x-expires=1809748624&x-signature=XnTT3O7FIeSa53P%2Fjq43g3jb9YQ%3D",
"final_url": "https://p3-bot-workflow-sign.byteimg.com/tos-cn-i-mdko3gqilj/c87332e45fc54a998855db93afefd79b~tplv-mdko3gqilj-image.image?rk3s=81d4c505&x-expires=1809752488&x-signature=KM%2BJencvuBujZqI9gye4LvZmnxo%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 644, 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 404, 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 290, 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.733,
"module_load": 7.988,
"init": 0.001,
"home": 0.001,
"category": 1847.842,
"category": 3891.328,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 1854.458
"total": 3901.006
},
"counts": {
"classes": 5,
@@ -1119,14 +1119,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.097,
"module_load": 5.665,
"init": 0.001,
"home": 0.001,
"category": 1862.262,
"detail": 3758.942,
"player": 2480.946,
"url_check": 275.208,
"total": 8384.01
"category": 2730.939,
"detail": 3347.964,
"player": 1482.855,
"url_check": 251.267,
"total": 7819.42
},
"counts": {
"classes": 6,
@@ -1158,14 +1158,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.98,
"init": 0.001,
"module_load": 3.956,
"init": 0.0,
"home": 0.0,
"category": 10615.163,
"detail": 2594.246,
"category": 1306.165,
"detail": 1684.675,
"player": 0.003,
"url_check": 1017.925,
"total": 14231.82
"url_check": 1067.064,
"total": 4062.438
},
"counts": {
"classes": 6,
@@ -1197,14 +1197,14 @@
"error": "HTTP 418",
"traceback": null,
"timings_ms": {
"module_load": 4.806,
"module_load": 10.605,
"init": 0.001,
"home": 0.001,
"category": 2164.612,
"detail": 2351.287,
"category": 1163.251,
"detail": 1439.332,
"player": 0.002,
"url_check": 251.538,
"total": 9304.07
"url_check": 262.04,
"total": 7606.448
},
"counts": {
"classes": 6,
@@ -1236,14 +1236,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.969,
"module_load": 16.716,
"init": 0.001,
"home": 0.006,
"category": 4793.718,
"detail": 2014.837,
"player": 0.005,
"url_check": 2487.326,
"total": 9301.644
"home": 0.01,
"category": 5732.609,
"detail": 1161.974,
"player": 0.006,
"url_check": 1467.172,
"total": 8379.382
},
"counts": {
"classes": 6,
@@ -1275,14 +1275,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.361,
"module_load": 5.286,
"init": 0.001,
"home": 0.0,
"category": 2436.053,
"detail": 2454.094,
"player": 2811.58,
"url_check": 327.726,
"total": 8035.569
"home": 0.001,
"category": 1092.866,
"detail": 1233.149,
"player": 1472.901,
"url_check": 314.591,
"total": 14851.831
},
"counts": {
"classes": 4,
@@ -1291,18 +1291,18 @@
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "69765",
"flag": "JD蓝光(1)",
"play_id": "JD4K@1@JD-5f4f247d6dfbc0b5d5cb1efeaa2303790"
"tid": "2",
"vod_id": "88894",
"flag": "JD蓝光(40)",
"play_id": "JD4K@1@JD-032e0db07e04a7cedc2816ac71e6fbb50"
},
"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=20260513T035704Z&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=02d00730298de2bfd00344e2950fe35d91f6d8bddce02a3f746af169373aa509",
"url": "https://media-bjcy-fy-person01.bjoss.ctyunxs.cn/PERSONCLOUD/93ffde0d-647c-49d1-a20f-fb76aebc3f4a.m3u8?x-amz-CLIENTTYPEIN=UNKNOWN&AWSAccessKeyId=0Lg7dAq3ZfHvePP8DKEU&x-amz-userLevel=0&x-amz-limitrate=51200&x-amz-UID=269636103&x-amz-APPID=828221&response-content-disposition=attachment%3Bfilename%3D%2201.m3u8%22%3Bfilename*%3DUTF-8%27%2701.m3u8&x-amz-CLIENTNETWORK=UNKNOWN&x-amz-CLOUDTYPEIN=PERSON&Signature=cJsfiSZRuLKL7bH0N%2BakcUQ5bW4%3D&Expires=1778648614&x-amz-FSIZE=69471&x-amz-UFID=823791237733640631",
"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=20260513T035704Z&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=02d00730298de2bfd00344e2950fe35d91f6d8bddce02a3f746af169373aa509",
"final_url": "https://media-bjcy-fy-person01.bjoss.ctyunxs.cn/PERSONCLOUD/93ffde0d-647c-49d1-a20f-fb76aebc3f4a.m3u8?x-amz-CLIENTTYPEIN=UNKNOWN&AWSAccessKeyId=0Lg7dAq3ZfHvePP8DKEU&x-amz-userLevel=0&x-amz-limitrate=51200&x-amz-UID=269636103&x-amz-APPID=828221&response-content-disposition=attachment%3Bfilename%3D%2201.m3u8%22%3Bfilename*%3DUTF-8%27%2701.m3u8&x-amz-CLIENTNETWORK=UNKNOWN&x-amz-CLOUDTYPEIN=PERSON&Signature=cJsfiSZRuLKL7bH0N%2BakcUQ5bW4%3D&Expires=1778648614&x-amz-FSIZE=69471&x-amz-UFID=823791237733640631",
"reason": null
}
},
@@ -1314,14 +1314,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.349,
"init": 0.022,
"home": 208.731,
"category": 610.611,
"detail": 371.927,
"player": 0.002,
"url_check": 138.425,
"total": 1334.71
"module_load": 4.069,
"init": 0.031,
"home": 231.416,
"category": 276.41,
"detail": 327.356,
"player": 0.003,
"url_check": 387.417,
"total": 1227.717
},
"counts": {
"classes": 30,
@@ -1333,15 +1333,15 @@
"tid": "都市",
"vod_id": "110000044555935694",
"flag": "1080P",
"play_id": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1778644619&sign=0bc68548ebb820c79bb0f370feca16a5"
"play_id": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1778648484&sign=5f8830e8de50f54ec9916a2c84a94135"
},
"player": {
"parse": 0,
"url": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1778644619&sign=0bc68548ebb820c79bb0f370feca16a5",
"url": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1778648484&sign=5f8830e8de50f54ec9916a2c84a94135",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1778644619&sign=0bc68548ebb820c79bb0f370feca16a5",
"final_url": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1778648484&sign=5f8830e8de50f54ec9916a2c84a94135",
"reason": null
}
},
@@ -1353,14 +1353,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.171,
"module_load": 4.024,
"init": 0.001,
"home": 0.0,
"category": 1779.9,
"detail": 1855.582,
"player": 1736.777,
"url_check": 3624.605,
"total": 9002.563
"category": 782.99,
"detail": 790.344,
"player": 738.585,
"url_check": 2215.449,
"total": 4531.863
},
"counts": {
"classes": 5,
@@ -1392,14 +1392,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.211,
"module_load": 9.497,
"init": 0.001,
"home": 0.0,
"category": 443.433,
"detail": 501.329,
"home": 0.001,
"category": 539.55,
"detail": 676.729,
"player": 0.004,
"url_check": 131.755,
"total": 1080.303
"url_check": 128.439,
"total": 1354.907
},
"counts": {
"classes": 5,
@@ -1431,14 +1431,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.009,
"module_load": 3.797,
"init": 0.001,
"home": 0.001,
"category": 2186.315,
"detail": 1972.224,
"player": 0.014,
"url_check": 269.278,
"total": 4433.476
"home": 0.0,
"category": 1371.215,
"detail": 1105.378,
"player": 0.008,
"url_check": 266.921,
"total": 2747.939
},
"counts": {
"classes": 7,
@@ -1470,14 +1470,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.807,
"module_load": 3.903,
"init": 0.001,
"home": 0.001,
"category": 5395.891,
"detail": 4464.543,
"player": 4176.86,
"url_check": 2725.272,
"total": 16767.036
"category": 2226.261,
"detail": 2342.743,
"player": 2542.595,
"url_check": 2855.771,
"total": 19921.947
},
"counts": {
"classes": 4,
@@ -1486,18 +1486,18 @@
"episodes": 1
},
"samples": {
"tid": "guoman",
"vod_id": "/detail/19234/",
"tid": "riman",
"vod_id": "/detail/18824/",
"flag": "高清",
"play_id": "/play/19234-1-1/"
"play_id": "/play/18824-1-1/"
},
"player": {
"parse": 0,
"url": "https://bfikuncdn.com/20260505/poPseIlR/index.m3u8",
"url": "https://cdn.vvvip-plays33.cc/20260408/11535_86d5cf1c/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://bfikuncdn.com/20260505/poPseIlR/index.m3u8",
"final_url": "https://cdn.vvvip-plays33.cc/20260408/11535_86d5cf1c/index.m3u8",
"reason": null
}
},
@@ -1509,14 +1509,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.025,
"init": 5052.967,
"home": 2981.79,
"category": 2778.323,
"detail": 2292.383,
"player": 8243.397,
"url_check": 2348.375,
"total": 23703.97
"module_load": 4.399,
"init": 3892.702,
"home": 2372.902,
"category": 2083.089,
"detail": 1250.549,
"player": 5475.99,
"url_check": 1364.754,
"total": 16445.246
},
"counts": {
"classes": 8,
@@ -1532,50 +1532,50 @@
},
"player": {
"parse": 0,
"url": "https://usaydd.xbavporn.com/m3u87/share/6937197/7133173/20260414/171420/1080/index.m3u8?sign=98e4f675b7cf05fb0b8b3d7cc7cfd04a&t=1778644640",
"url": "https://usaydd.up8r6jjh.com/m3u87/share/6937197/7133173/20260414/171420/1080/index.m3u8?sign=6e7262d5a6a663d9ec8dc0a2d4a95e46&t=1778648499",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://usaydd.xbavporn.com/m3u87/share/6937197/7133173/20260414/171420/1080/index.m3u8?sign=98e4f675b7cf05fb0b8b3d7cc7cfd04a&t=1778644640",
"final_url": "https://usaydd.up8r6jjh.com/m3u87/share/6937197/7133173/20260414/171420/1080/index.m3u8?sign=6e7262d5a6a663d9ec8dc0a2d4a95e46&t=1778648499",
"reason": null
}
},
{
"spider": "欧歌",
"file": "欧歌.txt",
"success": false,
"failed_stage": "unexpected",
"error": "HTTPSConnectionPool(host='woog.nxog.eu.org', port=443): Max retries exceeded with url: /index.php/vod/detail/id/29938.html (Caused by ConnectTimeoutError(<HTTPSConnection(host='woog.nxog.eu.org', port=443) at 0x7ca16778dbd0>, 'Connection to woog.nxog.eu.org 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='woog.nxog.eu.org', port=443) at 0x7ca16778dbd0>, 'Connection to woog.nxog.eu.org 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='woog.nxog.eu.org', port=443): Max retries exceeded with url: /index.php/vod/detail/id/29938.html (Caused by ConnectTimeoutError(<HTTPSConnection(host='woog.nxog.eu.org', port=443) at 0x7ca16778dbd0>, 'Connection to woog.nxog.eu.org 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 644, 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 420, 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 290, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/欧歌.txt\", line 283, in detailContent\n File \"/home/harold/workspace/tvbox-resources/py/欧歌.txt\", line 98, in _request_html\nrequests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='woog.nxog.eu.org', port=443): Max retries exceeded with url: /index.php/vod/detail/id/29938.html (Caused by ConnectTimeoutError(<HTTPSConnection(host='woog.nxog.eu.org', port=443) at 0x7ca16778dbd0>, 'Connection to woog.nxog.eu.org timed out. (connect timeout=10)'))\n",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.957,
"module_load": 4.912,
"init": 0.001,
"home": 0.001,
"category": 1927.742,
"detail": 10012.571,
"player": 0.0,
"url_check": 0.0,
"total": 11945.835
"category": 937.614,
"detail": 822.349,
"player": 0.008,
"url_check": 1035.439,
"total": 2800.886
},
"counts": {
"classes": 6,
"category_videos": 72,
"detail_videos": 0,
"episodes": 0
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "/index.php/vod/detail/id/29938.html",
"flag": null,
"play_id": null
"flag": "百度",
"play_id": "https://pan.baidu.com/s/1vcYSB0ydxgAzc-1Tvg63oA?pwd=8888"
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"parse": 0,
"url": "https://pan.baidu.com/s/1vcYSB0ydxgAzc-1Tvg63oA?pwd=8888",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=vcYSB0ydxgAzc-1Tvg63oA&pwd=8888",
"reason": null
}
},
@@ -1587,14 +1587,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.49,
"init": 0.0,
"home": 387.063,
"category": 675.635,
"detail": 986.585,
"player": 0.026,
"url_check": 68.325,
"total": 2124.057
"module_load": 6.052,
"init": 0.001,
"home": 317.346,
"category": 679.33,
"detail": 1455.416,
"player": 0.045,
"url_check": 135.1,
"total": 2594.436
},
"counts": {
"classes": 10,
@@ -1626,14 +1626,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.449,
"module_load": 6.5,
"init": 0.001,
"home": 0.001,
"category": 2199.373,
"detail": 1794.902,
"player": 0.003,
"url_check": 1057.72,
"total": 5057.058
"category": 4441.389,
"detail": 1311.562,
"player": 0.004,
"url_check": 1135.977,
"total": 6895.965
},
"counts": {
"classes": 5,
@@ -1665,14 +1665,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.43,
"init": 0.003,
"home": 121.1,
"category": 130.999,
"detail": 177.951,
"player": 365.27,
"url_check": 114.891,
"total": 915.157
"module_load": 4.01,
"init": 0.002,
"home": 119.118,
"category": 123.639,
"detail": 1180.611,
"player": 278.917,
"url_check": 90.963,
"total": 1797.95
},
"counts": {
"classes": 10,
@@ -1688,11 +1688,11 @@
},
"player": {
"parse": 0,
"url": "http://43.248.100.143:9090/nby/m3u8/getM3u8?name=jx.91by.top&time=1778644626315&url=NBY-e84585334a25c5b49078dfac81549a0b.m3u8",
"url": "http://43.248.100.143:9090/nby/m3u8/getM3u8?name=jx.91by.top&time=1778648489807&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=1778644626315&url=NBY-e84585334a25c5b49078dfac81549a0b.m3u8",
"final_url": "http://43.248.100.143:9090/nby/m3u8/getM3u8?name=jx.91by.top&time=1778648489807&url=NBY-e84585334a25c5b49078dfac81549a0b.m3u8",
"reason": null
}
},
@@ -1704,18 +1704,18 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 17.35,
"init": 0.018,
"home": 3387.26,
"category": 1064.129,
"detail": 214.196,
"player": 0.001,
"url_check": 176.005,
"total": 4859.785
"module_load": 13.712,
"init": 0.017,
"home": 4067.63,
"category": 668.644,
"detail": 251.361,
"player": 0.002,
"url_check": 178.481,
"total": 5180.754
},
"counts": {
"classes": 11,
"category_videos": 48,
"category_videos": 60,
"detail_videos": 1,
"episodes": 1
},
@@ -1743,14 +1743,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.312,
"module_load": 5.305,
"init": 0.001,
"home": 0.001,
"category": 2300.656,
"detail": 1811.752,
"player": 1880.757,
"url_check": 1834.957,
"total": 7834.977
"home": 0.0,
"category": 876.596,
"detail": 948.021,
"player": 1830.379,
"url_check": 780.288,
"total": 4441.372
},
"counts": {
"classes": 6,
@@ -1760,17 +1760,17 @@
},
"samples": {
"tid": "index",
"vod_id": "143559",
"vod_id": "144592",
"flag": "独播库",
"play_id": "143559-1-1"
"play_id": "144592-1-1"
},
"player": {
"parse": 0,
"url": "https://vid.dbokutv.com/20260421/ppotb62-S71lT2yliZApDBSvkYzBsrmD3fpCJ4nBsHbTcyo5xOy6ejP6DoBJ0nBJ0oCJT1D491HIvjS34/chunklist.m3u8",
"url": "https://vid.dbokutv.com/20260502/ppotb62-S71lT2yliZApDBSvkYzBsrmD3fpCJ4nBsnsRsGlR7XgBMnuOdajC34jC34rD4L5CaCvBcrmD0/chunklist.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vid.dbokutv.com/20260421/ppotb62-S71lT2yliZApDBSvkYzBsrmD3fpCJ4nBsHbTcyo5xOy6ejP6DoBJ0nBJ0oCJT1D491HIvjS34/chunklist.m3u8",
"final_url": "https://vid.dbokutv.com/20260502/ppotb62-S71lT2yliZApDBSvkYzBsrmD3fpCJ4nBsnsRsGlR7XgBMnuOdajC34jC34rD4L5CaCvBcrmD0/chunklist.m3u8",
"reason": null
}
},
@@ -1782,14 +1782,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.359,
"module_load": 3.72,
"init": 0.001,
"home": 0.001,
"category": 1805.077,
"detail": 1939.603,
"category": 1352.635,
"detail": 912.764,
"player": 0.003,
"url_check": 1259.255,
"total": 5010.949
"url_check": 1175.368,
"total": 3444.929
},
"counts": {
"classes": 8,
@@ -1799,17 +1799,17 @@
},
"samples": {
"tid": "1",
"vod_id": "/voddetail/124587.html",
"vod_id": "/voddetail/103408.html",
"flag": "百度#玩偶哥哥",
"play_id": "https://pan.baidu.com/s/1Nkhrp7zi-uQnuYFbpFpEew?pwd=wogg"
"play_id": "https://pan.baidu.com/s/1yBHioGB0WquCIEQvMAYK9Q?pwd=wogg"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1Nkhrp7zi-uQnuYFbpFpEew?pwd=wogg",
"url": "https://pan.baidu.com/s/1yBHioGB0WquCIEQvMAYK9Q?pwd=wogg",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=Nkhrp7zi-uQnuYFbpFpEew&pwd=wogg",
"final_url": "https://pan.baidu.com/share/init?surl=yBHioGB0WquCIEQvMAYK9Q&pwd=wogg",
"reason": null
}
},
@@ -1821,14 +1821,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.18,
"module_load": 6.782,
"init": 0.001,
"home": 0.07,
"category": 2164.962,
"detail": 2503.395,
"player": 0.003,
"url_check": 1110.895,
"total": 5788.014
"home": 0.056,
"category": 1635.216,
"detail": 1057.113,
"player": 0.002,
"url_check": 952.666,
"total": 3652.273
},
"counts": {
"classes": 10,
@@ -1838,17 +1838,17 @@
},
"samples": {
"tid": "site_wanou",
"vod_id": "site:wanou:/voddetail/124686.html",
"vod_id": "site:wanou:/voddetail/123976.html",
"flag": "百度#玩偶",
"play_id": "https://pan.baidu.com/s/1HJO75UL2Xcjau_BBZWVfMA?pwd=wogg"
"play_id": "https://pan.baidu.com/s/1h-zE7BYv20oRc6KbVSGFVQ?pwd=wogg"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1HJO75UL2Xcjau_BBZWVfMA?pwd=wogg",
"url": "https://pan.baidu.com/s/1h-zE7BYv20oRc6KbVSGFVQ?pwd=wogg",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=HJO75UL2Xcjau_BBZWVfMA&pwd=wogg",
"final_url": "https://pan.baidu.com/share/init?surl=h-zE7BYv20oRc6KbVSGFVQ&pwd=wogg",
"reason": null
}
},
@@ -1860,14 +1860,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.108,
"module_load": 7.244,
"init": 0.001,
"home": 0.021,
"category": 2050.487,
"detail": 4312.052,
"player": 1878.055,
"url_check": 163.425,
"total": 8409.973
"home": 0.096,
"category": 1460.187,
"detail": 1827.025,
"player": 891.268,
"url_check": 161.28,
"total": 4348.085
},
"counts": {
"classes": 5,
@@ -1883,7 +1883,7 @@
},
"player": {
"parse": 0,
"url": "https://vd.hxcztech.com/bc4ecf0e3c5f25e454be36ccf7078e76/20260513115714/decry/vd/20260311/MjYwZjE1YTRkO/172631/1998_1080/aac/h264/hls/decrypt/index.m3u8",
"url": "https://vd.hxcztech.com/ae599c551ba58c92273b2b889c34b04d/20260513130134/decry/vd/20260311/MjYwZjE1YTRkO/172631/1998_1080/aac/h264/hls/decrypt/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
@@ -1899,14 +1899,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.742,
"init": 0.0,
"home": 1529.939,
"category": 254.14,
"detail": 597.869,
"player": 228.595,
"url_check": 73.684,
"total": 2688.675
"module_load": 3.909,
"init": 0.001,
"home": 393.435,
"category": 251.009,
"detail": 623.655,
"player": 279.243,
"url_check": 77.127,
"total": 1629.114
},
"counts": {
"classes": 29,
@@ -1922,11 +1922,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 +1938,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.834,
"init": 0.001,
"home": 1979.59,
"category": 279.07,
"detail": 284.955,
"player": 0.025,
"url_check": 149.947,
"total": 2703.224
"module_load": 4.472,
"init": 0.002,
"home": 345.438,
"category": 265.238,
"detail": 293.558,
"player": 0.016,
"url_check": 167.776,
"total": 1077.35
},
"counts": {
"classes": 8,
@@ -1977,14 +1977,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.461,
"module_load": 5.448,
"init": 0.001,
"home": 0.0,
"category": 3573.199,
"detail": 1810.981,
"player": 1718.338,
"url_check": 1017.549,
"total": 8126.184
"category": 734.866,
"detail": 798.871,
"player": 726.599,
"url_check": 1117.666,
"total": 3384.142
},
"counts": {
"classes": 4,
@@ -2016,14 +2016,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 22.205,
"init": 624.643,
"home": 0.128,
"category": 471.997,
"detail": 353.323,
"player": 0.01,
"url_check": 75.323,
"total": 1549.028
"module_load": 24.771,
"init": 567.432,
"home": 0.133,
"category": 428.301,
"detail": 359.583,
"player": 0.003,
"url_check": 100.226,
"total": 1481.554
},
"counts": {
"classes": 11,
@@ -2055,14 +2055,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.682,
"module_load": 9.433,
"init": 0.001,
"home": 0.001,
"category": 2183.513,
"detail": 2014.781,
"player": 0.006,
"url_check": 239.591,
"total": 4443.24
"category": 1243.436,
"detail": 1349.615,
"player": 0.005,
"url_check": 193.143,
"total": 2796.316
},
"counts": {
"classes": 2,
@@ -2094,14 +2094,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.167,
"module_load": 5.469,
"init": 0.0,
"home": 481.721,
"category": 746.075,
"detail": 170.266,
"player": 323.104,
"url_check": 268.597,
"total": 1995.685
"home": 480.839,
"category": 701.61,
"detail": 161.402,
"player": 300.681,
"url_check": 378.044,
"total": 2028.737
},
"counts": {
"classes": 7,
@@ -2133,14 +2133,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 644, 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 445, 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 290, 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": 3.378,
"init": 0.0,
"home": 539.108,
"category": 420.577,
"detail": 0.005,
"player": 197.809,
"module_load": 3.065,
"init": 0.001,
"home": 441.329,
"category": 430.403,
"detail": 0.008,
"player": 210.558,
"url_check": 0.0,
"total": 1162.831
"total": 1088.257
},
"counts": {
"classes": 62,
@@ -2172,14 +2172,14 @@
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 10.402,
"module_load": 4.12,
"init": 0.001,
"home": 0.001,
"category": 3790.17,
"home": 0.0,
"category": 8682.374,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 7825.116
"total": 10962.621
},
"counts": {
"classes": 6,
@@ -2211,14 +2211,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.724,
"init": 0.0,
"home": 1124.059,
"category": 263.997,
"detail": 716.406,
"player": 0.003,
"url_check": 1195.214,
"total": 3306.358
"module_load": 10.931,
"init": 0.001,
"home": 899.72,
"category": 318.334,
"detail": 725.459,
"player": 0.002,
"url_check": 195.086,
"total": 2150.291
},
"counts": {
"classes": 7,
@@ -2245,39 +2245,39 @@
{
"spider": "至臻",
"file": "至臻.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"success": false,
"failed_stage": "unexpected",
"error": "HTTPConnectionPool(host='www.miqk.cc', port=80): Max retries exceeded with url: /index.php/vod/detail/id/20398.html (Caused by ConnectTimeoutError(<HTTPConnection(host='www.miqk.cc', port=80) at 0x77e7baf068b0>, 'Connection to www.miqk.cc 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 493, in _make_request\n conn.request(\n ~~~~~~~~~~~~^\n method,\n ^^^^^^^\n ...<6 lines>...\n enforce_content_length=enforce_content_length,\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n )\n ^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 500, in request\n self.endheaders()\n ~~~~~~~~~~~~~~~^^\n File \"/home/harold/.local/share/uv/python/cpython-3.14.3-linux-x86_64-gnu/lib/python3.14/http/client.py\", line 1353, in endheaders\n self._send_output(message_body, encode_chunked=encode_chunked)\n ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/harold/.local/share/uv/python/cpython-3.14.3-linux-x86_64-gnu/lib/python3.14/http/client.py\", line 1113, in _send_output\n self.send(msg)\n ~~~~~~~~~^^^^^\nurllib3.exceptions.ConnectTimeoutError: (<HTTPConnection(host='www.miqk.cc', port=80) at 0x77e7baf068b0>, 'Connection to www.miqk.cc 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: HTTPConnectionPool(host='www.miqk.cc', port=80): Max retries exceeded with url: /index.php/vod/detail/id/20398.html (Caused by ConnectTimeoutError(<HTTPConnection(host='www.miqk.cc', port=80) at 0x77e7baf068b0>, 'Connection to www.miqk.cc 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 644, 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 420, 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 290, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/至臻.txt\", line 248, in detailContent\n File \"/home/harold/workspace/tvbox-resources/py/至臻.txt\", line 95, in _request_html\nrequests.exceptions.ConnectTimeout: HTTPConnectionPool(host='www.miqk.cc', port=80): Max retries exceeded with url: /index.php/vod/detail/id/20398.html (Caused by ConnectTimeoutError(<HTTPConnection(host='www.miqk.cc', port=80) at 0x77e7baf068b0>, 'Connection to www.miqk.cc timed out. (connect timeout=10)'))\n",
"timings_ms": {
"module_load": 5.438,
"module_load": 3.969,
"init": 0.001,
"home": 0.001,
"category": 3054.764,
"detail": 2784.207,
"player": 0.008,
"url_check": 248.614,
"total": 6093.401
"category": 2108.416,
"detail": 10011.598,
"player": 0.0,
"url_check": 0.0,
"total": 12125.759
},
"counts": {
"classes": 7,
"category_videos": 72,
"detail_videos": 1,
"episodes": 1
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "1",
"vod_id": "/index.php/vod/detail/id/20400.html",
"flag": "夸克#至臻",
"play_id": "https://pan.quark.cn/s/9d9b75dc6630"
"vod_id": "/index.php/vod/detail/id/20398.html",
"flag": null,
"play_id": null
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/9d9b75dc6630",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/9d9b75dc6630",
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
@@ -2289,34 +2289,34 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.301,
"init": 0.001,
"home": 2498.836,
"category": 2232.368,
"detail": 2141.332,
"player": 4529.889,
"url_check": 3568.852,
"total": 14977.26
"module_load": 5.293,
"init": 0.0,
"home": 2522.046,
"category": 1271.187,
"detail": 1194.26,
"player": 4176.816,
"url_check": 188.562,
"total": 17611.843
},
"counts": {
"classes": 4,
"category_videos": 35,
"category_videos": 36,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "detail/video/121010",
"flag": "YZ有广",
"play_id": "play/121010-1-1"
"tid": "2",
"vod_id": "detail/video/120866",
"flag": "自营b24",
"play_id": "play/120866-1-1"
},
"player": {
"parse": 0,
"url": "https://cdn.yzzyvip-29.com/20260513/23685_d9d8c062/index.m3u8",
"url": "https://eos-huhehaote-1.cmecloud.cn/dsp-ecpan-zone3/d244ef899acd4698bd59f30ed061a42e?response-content-disposition=attachment%3Bfilename%3D%22gcj-%E4%BD%8E%E6%99%BA%E5%95%86%E7%8A%AF%E7%BD%AA01.mp4%22&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20260513T040212Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Credential=R2V91UGDM1447A0VTB86%2F20260513%2Fdefault%2Fs3%2Faws4_request&X-Amz-Signature=80622d0f797160f1b2b66759fe39508ac1974506a2961d8064048e2f392bc80d",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://cdn.yzzyvip-29.com/20260513/23685_d9d8c062/index.m3u8",
"final_url": "https://eos-huhehaote-1.cmecloud.cn/dsp-ecpan-zone3/d244ef899acd4698bd59f30ed061a42e?response-content-disposition=attachment%3Bfilename%3D%22gcj-%E4%BD%8E%E6%99%BA%E5%95%86%E7%8A%AF%E7%BD%AA01.mp4%22&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20260513T040212Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Credential=R2V91UGDM1447A0VTB86%2F20260513%2Fdefault%2Fs3%2Faws4_request&X-Amz-Signature=80622d0f797160f1b2b66759fe39508ac1974506a2961d8064048e2f392bc80d",
"reason": null
}
},
@@ -2328,14 +2328,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.485,
"module_load": 5.715,
"init": 0.001,
"home": 0.001,
"category": 2705.936,
"detail": 8283.491,
"player": 0.018,
"url_check": 1206.998,
"total": 12203.567
"home": 0.0,
"category": 3149.898,
"detail": 3668.413,
"player": 0.03,
"url_check": 1723.747,
"total": 8548.535
},
"counts": {
"classes": 6,
@@ -2345,17 +2345,17 @@
},
"samples": {
"tid": "1",
"vod_id": "/index.php/vod/detail/id/463638.html",
"vod_id": "/index.php/vod/detail/id/460085.html",
"flag": "百度#虎斑",
"play_id": "https://pan.baidu.com/s/1rsao2GIK5bUDHixhlfSUXA?pwd=4894"
"play_id": "https://pan.baidu.com/s/1HpTjsrIa5s9CfMdxy8PWkQ?pwd=5723"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1rsao2GIK5bUDHixhlfSUXA?pwd=4894",
"url": "https://pan.baidu.com/s/1HpTjsrIa5s9CfMdxy8PWkQ?pwd=5723",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=rsao2GIK5bUDHixhlfSUXA&pwd=4894",
"final_url": "https://pan.baidu.com/share/init?surl=HpTjsrIa5s9CfMdxy8PWkQ&pwd=5723",
"reason": null
}
},
@@ -2367,14 +2367,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.788,
"module_load": 3.821,
"init": 0.001,
"home": 0.001,
"category": 2216.968,
"detail": 1865.553,
"player": 0.004,
"url_check": 926.903,
"total": 5014.902
"home": 0.0,
"category": 1586.147,
"detail": 860.498,
"player": 0.003,
"url_check": 1045.362,
"total": 3496.651
},
"counts": {
"classes": 7,
@@ -2384,17 +2384,17 @@
},
"samples": {
"tid": "29",
"vod_id": "/index.php/vod/detail/id/11277.html",
"vod_id": "/index.php/vod/detail/id/9231.html",
"flag": "百度#蜡笔",
"play_id": "https://pan.baidu.com/s/1NiPgbk9_FIhSYfmGm-Cqxg?pwd=q5m6"
"play_id": "https://pan.baidu.com/s/1LZC9v0B6ETfpQWooAqqxJA?pwd=jcx5"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1NiPgbk9_FIhSYfmGm-Cqxg?pwd=q5m6",
"url": "https://pan.baidu.com/s/1LZC9v0B6ETfpQWooAqqxJA?pwd=jcx5",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=NiPgbk9_FIhSYfmGm-Cqxg&pwd=q5m6",
"final_url": "https://pan.baidu.com/share/init?surl=LZC9v0B6ETfpQWooAqqxJA&pwd=jcx5",
"reason": null
}
},
@@ -2402,39 +2402,78 @@
"spider": "袋鼠影视",
"file": "袋鼠影视.txt",
"success": false,
"failed_stage": "url_check",
"error": "HTTP 403",
"traceback": null,
"failed_stage": "unexpected",
"error": "HTTPSConnectionPool(host='daishuys.com', port=443): Max retries exceeded with url: /movie/index414832.html (Caused by ConnectTimeoutError(<HTTPSConnection(host='daishuys.com', port=443) at 0x77e7bb22e710>, 'Connection to daishuys.com timed out. (connect timeout=15)'))",
"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='daishuys.com', port=443) at 0x77e7bb22e710>, 'Connection to daishuys.com timed out. (connect timeout=15)')\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='daishuys.com', port=443): Max retries exceeded with url: /movie/index414832.html (Caused by ConnectTimeoutError(<HTTPSConnection(host='daishuys.com', port=443) at 0x77e7bb22e710>, 'Connection to daishuys.com timed out. (connect timeout=15)'))\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 644, 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 420, 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 290, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/袋鼠影视.txt\", line 490, in detailContent\n File \"/home/harold/workspace/tvbox-resources/py/袋鼠影视.txt\", line 239, in _request_html\nrequests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='daishuys.com', port=443): Max retries exceeded with url: /movie/index414832.html (Caused by ConnectTimeoutError(<HTTPSConnection(host='daishuys.com', port=443) at 0x77e7bb22e710>, 'Connection to daishuys.com timed out. (connect timeout=15)'))\n",
"timings_ms": {
"module_load": 5.196,
"module_load": 8.066,
"init": 0.001,
"home": 0.001,
"category": 2235.62,
"detail": 2104.49,
"player": 3096.12,
"url_check": 1950.206,
"total": 19102.681
"category": 1296.753,
"detail": 15017.59,
"player": 0.0,
"url_check": 0.0,
"total": 16324.006
},
"counts": {
"classes": 4,
"category_videos": 36,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "1",
"vod_id": "movie/index414832",
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "视界",
"file": "视界.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 7.668,
"init": 0.001,
"home": 1594.714,
"category": 1582.763,
"detail": 1469.429,
"player": 1133.114,
"url_check": 1733.492,
"total": 7522.024
},
"counts": {
"classes": 6,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "2",
"vod_id": "movie/index414307",
"flag": "蓝光专线4",
"play_id": "play/414307-0-0"
"tid": "20",
"vod_id": "135014",
"flag": "备用源(有广勿信)",
"play_id": "https://svip.ffzyplay.com/?url=https://vip.ffzy-video.com/20260513/43283_fe8ab690/index.m3u8|烬红妆|1"
},
"player": {
"parse": 0,
"url": "https://vip.dytt-kan.com/20260407/13224_bdd1b613/index.m3u8",
"valid": false,
"reachable": false,
"status_code": 403,
"final_url": "https://vip.dytt-kan.com/20260407/13224_bdd1b613/index.m3u8",
"reason": "HTTP 403"
"url": "https://svip.ffzyplay.com/?url=https://vip.ffzy-video.com/20260513/43283_fe8ab690/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://svip.ffzyplay.com/?url=https://vip.ffzy-video.com/20260513/43283_fe8ab690/index.m3u8",
"reason": null
}
},
{
@@ -2445,14 +2484,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.217,
"module_load": 4.809,
"init": 0.001,
"home": 0.001,
"category": 2468.907,
"detail": 2083.956,
"player": 5479.625,
"url_check": 223.215,
"total": 10260.437
"home": 0.0,
"category": 1580.039,
"detail": 1178.245,
"player": 3480.476,
"url_check": 193.922,
"total": 6438.23
},
"counts": {
"classes": 6,
@@ -2468,11 +2507,11 @@
},
"player": {
"parse": 0,
"url": "https://groupvideo.photo.qq.com/1071_0bc3bec5uaaftyanzdwp35usucie3ieqlwsa.f0.mp4?dis_k=05a1aaff608e8c7020eda83a43aaddda&dis_t=1778643803",
"url": "https://groupvideo.photo.qq.com/1071_0bc3bec5uaaftyanzdwp35usucie3ieqlwsa.f0.mp4?dis_k=e23cf96c9a3c7201be83b6b5483c827e&dis_t=1778648501",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://groupvideo.photo.qq.com/1071_0bc3bec5uaaftyanzdwp35usucie3ieqlwsa.f0.mp4?dis_k=05a1aaff608e8c7020eda83a43aaddda&dis_t=1778643803",
"final_url": "https://groupvideo.photo.qq.com/1071_0bc3bec5uaaftyanzdwp35usucie3ieqlwsa.f0.mp4?dis_k=e23cf96c9a3c7201be83b6b5483c827e&dis_t=1778648501",
"reason": null
}
},
@@ -2484,14 +2523,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.985,
"init": 0.0,
"home": 381.301,
"category": 103.115,
"detail": 192.093,
"player": 159.179,
"url_check": 139.076,
"total": 4692.057
"module_load": 4.829,
"init": 0.001,
"home": 361.747,
"category": 100.79,
"detail": 201.693,
"player": 148.138,
"url_check": 61.393,
"total": 4806.38
},
"counts": {
"classes": 4,
@@ -2507,11 +2546,11 @@
},
"player": {
"parse": 0,
"url": "http://cz.sycdn.kuwo.cn/857978683a42844d7a079dd229c5c7a4/6a03f69f/resource/m1/34/31/3390639861.wma?bitrate$128&format$wma&source$kwplayerhd_ar_4.3.0.8_tianbao_T1A_qirui.apk&type$convert_url_with_sign&user$&loginUid$",
"url": "http://cz.sycdn.kuwo.cn/245d4130e9a02ce84a4693df861a4842/6a0405b4/resource/m1/34/31/3390639861.wma?bitrate$128&format$wma&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://cz.sycdn.kuwo.cn/857978683a42844d7a079dd229c5c7a4/6a03f69f/resource/m1/34/31/3390639861.wma?bitrate$128&format$wma&source$kwplayerhd_ar_4.3.0.8_tianbao_T1A_qirui.apk&type$convert_url_with_sign&user$&loginUid$",
"final_url": "http://cz.sycdn.kuwo.cn/245d4130e9a02ce84a4693df861a4842/6a0405b4/resource/m1/34/31/3390639861.wma?bitrate$128&format$wma&source$kwplayerhd_ar_4.3.0.8_tianbao_T1A_qirui.apk&type$convert_url_with_sign&user$&loginUid$",
"reason": null
}
},
@@ -2523,34 +2562,34 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.38,
"init": 528.167,
"home": 298.142,
"category": 268.852,
"detail": 320.283,
"player": 362.57,
"url_check": 54.218,
"total": 1842.156
"module_load": 7.404,
"init": 548.872,
"home": 327.907,
"category": 253.855,
"detail": 326.219,
"player": 373.93,
"url_check": 103.75,
"total": 1945.852
},
"counts": {
"classes": 12,
"category_videos": 14,
"category_videos": 15,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "recommend",
"vod_id": "642394632",
"vod_id": "556513314",
"flag": "酷狗音乐",
"play_id": "642394632"
"play_id": "556513314"
},
"player": {
"parse": 0,
"url": "http://fsdg360.tx.kugou.com/202605131157/493d0dadc506437eb575f64f9195928f/v3/060c987b61885733584adfd6a7f547c0/yp/p_0_960131/ap1013_us0_mic85f71c379c462618de1399950957c33_pi6101_mx642394632_qu128_s2722158454.mp3?ft=car_203559_10049&fts=b05bb02d44717442054bac7624ed9a29&ext=.mp3",
"url": "http://fsdg360.tx.kugou.com/202605131301/57cd89c61baf383ca6e7551166e6f60f/v3/48d86920493e28ce94530d5f791e8021/yp/p_0_960139/ap1013_us0_mic85f71c379c462618de1399950957c33_pi6101_mx556513314_qu128_s2731199409.mp3?ft=car_203559_10049&fts=b05bb02d44717442054bac7624ed9a29&ext=.mp3",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://fsdg360.tx.kugou.com/202605131157/493d0dadc506437eb575f64f9195928f/v3/060c987b61885733584adfd6a7f547c0/yp/p_0_960131/ap1013_us0_mic85f71c379c462618de1399950957c33_pi6101_mx642394632_qu128_s2722158454.mp3?ft=car_203559_10049&fts=b05bb02d44717442054bac7624ed9a29&ext=.mp3",
"final_url": "http://fsdg360.tx.kugou.com/202605131301/57cd89c61baf383ca6e7551166e6f60f/v3/48d86920493e28ce94530d5f791e8021/yp/p_0_960139/ap1013_us0_mic85f71c379c462618de1399950957c33_pi6101_mx556513314_qu128_s2731199409.mp3?ft=car_203559_10049&fts=b05bb02d44717442054bac7624ed9a29&ext=.mp3",
"reason": null
}
},
@@ -2562,14 +2601,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 10.751,
"init": 0.002,
"home": 689.96,
"category": 240.391,
"detail": 245.901,
"player": 253.383,
"url_check": 579.378,
"total": 2020.588
"module_load": 5.792,
"init": 0.001,
"home": 2118.542,
"category": 469.77,
"detail": 268.661,
"player": 274.365,
"url_check": 562.538,
"total": 3700.655
},
"counts": {
"classes": 4,
@@ -2585,11 +2624,11 @@
},
"player": {
"parse": 0,
"url": "https://ppvod011.blbtgg.com/splitOut/20260318/1267932/V20260318194542050871267932/index.m3u8?auth_key=1778644636-a0aebb8ce49d44cc9382a97eb93024e8-0-f33ab1dbb8b2f23f608b5f04d088b9a0",
"url": "https://ppvod011.blbtgg.com/splitOut/20260318/1267932/V20260318194542050871267932/index.m3u8?auth_key=1778648499-d5697e7853664c718defede9e97fe13c-0-9e3eac2d3dcea140048c2d68449a6ddc",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://ppvod011.blbtgg.com/splitOut/20260318/1267932/V20260318194542050871267932/index.m3u8?auth_key=1778644636-a0aebb8ce49d44cc9382a97eb93024e8-0-f33ab1dbb8b2f23f608b5f04d088b9a0",
"final_url": "https://ppvod011.blbtgg.com/splitOut/20260318/1267932/V20260318194542050871267932/index.m3u8?auth_key=1778648499-d5697e7853664c718defede9e97fe13c-0-9e3eac2d3dcea140048c2d68449a6ddc",
"reason": null
}
},
@@ -2601,14 +2640,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.256,
"module_load": 6.703,
"init": 0.001,
"home": 0.001,
"category": 6016.351,
"detail": 5649.402,
"player": 0.005,
"url_check": 1394.872,
"total": 19574.134
"category": 6027.684,
"detail": 6077.664,
"player": 0.004,
"url_check": 1023.441,
"total": 25817.664
},
"counts": {
"classes": 5,
@@ -2640,14 +2679,14 @@
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.775,
"module_load": 12.487,
"init": 0.001,
"home": 0.0,
"category": 5063.038,
"detail": 6141.541,
"player": 6063.955,
"url_check": 1209.198,
"total": 18482.157
"home": 0.001,
"category": 5538.99,
"detail": 3016.045,
"player": 4119.33,
"url_check": 1427.844,
"total": 14115.55
},
"counts": {
"classes": 4,
@@ -2657,17 +2696,17 @@
},
"samples": {
"tid": "1",
"vod_id": "/voddetail/239380.html",
"flag": "魔都资源4",
"play_id": "/vodplay/239380-1-1.html"
"vod_id": "/voddetail/75080.html",
"flag": "高清32",
"play_id": "/vodplay/75080-6-1.html"
},
"player": {
"parse": 0,
"url": "https://play.modujx11.com/20260421/1CNBOSBB/index.m3u8",
"url": "https://cdn.vvvip-plays33.cc/20260508/13404_21648c94/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://play.modujx11.com/20260421/1CNBOSBB/index.m3u8",
"final_url": "https://cdn.vvvip-plays33.cc/20260508/13404_21648c94/index.m3u8",
"reason": null
}
},
@@ -2679,14 +2718,14 @@
"error": "分类列表为空",
"traceback": null,
"timings_ms": {
"module_load": 5.06,
"module_load": 6.476,
"init": 0.001,
"home": 2206.66,
"home": 2012.627,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 2212.022
"total": 2019.412
},
"counts": {
"classes": 0,
@@ -2718,14 +2757,14 @@
"error": "不支持的地址协议: empty",
"traceback": null,
"timings_ms": {
"module_load": 3.683,
"module_load": 5.446,
"init": 0.001,
"home": 0.001,
"category": 2955.956,
"detail": 1959.871,
"player": 0.022,
"url_check": 0.01,
"total": 9840.407
"home": 0.0,
"category": 1197.9,
"detail": 1978.305,
"player": 0.021,
"url_check": 0.012,
"total": 6335.419
},
"counts": {
"classes": 6,
@@ -2752,19 +2791,19 @@
{
"spider": "黑猫APP",
"file": "黑猫APP.txt",
"success": true,
"failed_stage": null,
"error": null,
"success": false,
"failed_stage": "url_check",
"error": "HTTP 403",
"traceback": null,
"timings_ms": {
"module_load": 6.011,
"module_load": 8.645,
"init": 0.002,
"home": 2338.122,
"category": 943.785,
"detail": 882.381,
"player": 850.911,
"url_check": 205.798,
"total": 18050.06
"home": 1309.249,
"category": 1370.742,
"detail": 998.79,
"player": 0.007,
"url_check": 2100.89,
"total": 11278.743
},
"counts": {
"classes": 5,
@@ -2774,18 +2813,18 @@
},
"samples": {
"tid": "2",
"vod_id": "93212",
"flag": "🐈‍⬛清线路",
"play_id": "清线路1@@direct@@66ddeb0b0fe39924c19b86fc5dcce841,8c66a6b48eee66fe407d3e188eb3fb30,token+,1,1"
"vod_id": "92645",
"flag": "🐈‍⬛清线路1",
"play_id": "清线路2@@direct@@,https://v9.ppqrrs.com/wjv9/202604/07/3u3BGuTWBg92/video/index.m3u8,token+,1,0"
},
"player": {
"parse": 0,
"url": "https://v6.douyinvod.com/a2d3c376d191ac30d5eff1e056a82364/6a044fac/video/tos/cn/tos-cn-v-5f73e7/oMIrIETOn4HfIFczGBIc85LP6e0CKAesIO1CtQ/",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://v6.douyinvod.com/a2d3c376d191ac30d5eff1e056a82364/6a044fac/video/tos/cn/tos-cn-v-5f73e7/oMIrIETOn4HfIFczGBIc85LP6e0CKAesIO1CtQ/",
"reason": null
"url": "https://v9.ppqrrs.com/wjv9/202604/07/3u3BGuTWBg92/video/index.m3u8",
"valid": false,
"reachable": false,
"status_code": 403,
"final_url": "https://v9.ppqrrs.com/wjv9/202604/07/3u3BGuTWBg92/video/index.m3u8",
"reason": "HTTP 403"
}
}
]