Files
tvboxzt/spider_validation.json
T
2026-08-01 13:19:33 +08:00

4859 lines
151 KiB
JSON

{
"generated_at": "2026-08-01T13:18:45+08:00",
"max_workers": 16,
"total_duration_ms": 45794.03,
"summary": {
"total": 124,
"success": 91,
"failed": 33,
"success_rate": 0.7339,
"stage_failures": {
"module_load": 0,
"init": 0,
"home": 7,
"category": 17,
"detail": 1,
"player": 1,
"url_check": 3,
"unexpected": 4
}
},
"results": [
{
"spider": "123社区",
"file": "123社区.txt",
"success": false,
"failed_stage": "url_check",
"error": "HTTPSConnectionPool(host='123pan.cn', port=443): Max retries exceeded with url: /s/YaXAvd-CmXO3?pwd=c8ya (Caused by SSLError(SSLError(1, '[SSL: RECORD_LAYER_FAILURE] record layer failure (_ssl.c:1081)')))",
"traceback": null,
"timings_ms": {
"module_load": 214.496,
"init": 1053.413,
"home": 0.001,
"category": 998.575,
"detail": 21657.466,
"player": 0.002,
"url_check": 63.524,
"total": 29102.458
},
"counts": {
"classes": 5,
"category_videos": 20,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "48",
"vod_id": "thread-49504.htm",
"flag": "123",
"play_id": "https://123pan.cn/s/YaXAvd-CmXO3?pwd=c8ya"
},
"player": {
"parse": 0,
"url": "https://123pan.cn/s/YaXAvd-CmXO3?pwd=c8ya",
"valid": false,
"reachable": false,
"status_code": null,
"final_url": "https://123pan.cn/s/YaXAvd-CmXO3?pwd=c8ya",
"reason": "HTTPSConnectionPool(host='123pan.cn', port=443): Max retries exceeded with url: /s/YaXAvd-CmXO3?pwd=c8ya (Caused by SSLError(SSLError(1, '[SSL: RECORD_LAYER_FAILURE] record layer failure (_ssl.c:1081)')))"
}
},
{
"spider": "123臻藏",
"file": "123臻藏.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 223.448,
"init": 0.093,
"home": 0.017,
"category": 1662.137,
"detail": 828.955,
"player": 0.219,
"url_check": 679.212,
"total": 3407.799
},
"counts": {
"classes": 6,
"category_videos": 10,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "film",
"vod_id": "3556",
"flag": "提示",
"play_id": "https://123.qsxy.top/3556.html"
},
"player": {
"parse": 1,
"url": "https://123.qsxy.top/3556.html",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://123.qsxy.top/3556.html",
"reason": null
}
},
{
"spider": "275听书",
"file": "275听书.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 208.512,
"init": 0.001,
"home": 0.007,
"category": 792.947,
"detail": 548.27,
"player": 758.077,
"url_check": 102.227,
"total": 2432.47
},
"counts": {
"classes": 20,
"category_videos": 12,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "latest",
"vod_id": "39441",
"flag": "275听书",
"play_id": "/play/39441/23497761.html"
},
"player": {
"parse": 0,
"url": "https://audiopay.cos.tx.xmcdn.com/download/1.0.0/storages/8478-audiopay/BB/AD/GKwRIUEOLL7CABrUHAS20I5t.m4a?sign=8f5ab897806019dc5ac5a13675ea482a&buy_key=FM&token=2574&timestamp=1785561509&duration=216",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://audiopay.cos.tx.xmcdn.com/download/1.0.0/storages/8478-audiopay/BB/AD/GKwRIUEOLL7CABrUHAS20I5t.m4a?sign=8f5ab897806019dc5ac5a13675ea482a&buy_key=FM&token=2574&timestamp=1785561509&duration=216",
"reason": null
}
},
{
"spider": "4KVM",
"file": "4KVM.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 208.259,
"init": 0.001,
"home": 518.311,
"category": 416.846,
"detail": 439.627,
"player": 809.183,
"url_check": 517.544,
"total": 9282.018
},
"counts": {
"classes": 6,
"category_videos": 24,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "0",
"vod_id": "ch11nho9n",
"flag": "alists",
"play_id": "12214|ch11nho9n"
},
"player": {
"parse": 0,
"url": "https://oss.douyinbit.com/m3u8/9b07302372a4d36e3adf811fc5980365.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://oss.douyinbit.com/m3u8/9b07302372a4d36e3adf811fc5980365.m3u8",
"reason": null
}
},
{
"spider": "4K指南",
"file": "4K指南.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 210.399,
"init": 0.001,
"home": 0.003,
"category": 881.717,
"detail": 737.066,
"player": 0.004,
"url_check": 149.917,
"total": 2000.802
},
"counts": {
"classes": 5,
"category_videos": 50,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "zuixin",
"vod_id": "20618",
"flag": "夸克网盘",
"play_id": "push://https://pan.quark.cn/s/b7e61f7035d3"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/b7e61f7035d3",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/b7e61f7035d3",
"reason": null
}
},
{
"spider": "55短剧",
"file": "55短剧.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 212.736,
"init": 0.002,
"home": 0.001,
"category": 958.447,
"detail": 453.32,
"player": 498.493,
"url_check": 826.343,
"total": 2966.988
},
"counts": {
"classes": 1,
"category_videos": 24,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "26926",
"flag": "55短剧",
"play_id": "26926~2~1"
},
"player": {
"parse": 0,
"url": "https://tyyszywvod2.com/videos/202606/28/6a413d12df0906c5d56b7f69/7d5306/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://tyyszywvod2.com/videos/202606/28/6a413d12df0906c5d56b7f69/7d5306/index.m3u8",
"reason": null
}
},
{
"spider": "6V磁力",
"file": "6V磁力.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 206.334,
"init": 0.004,
"home": 0.002,
"category": 940.489,
"detail": 760.288,
"player": 0.002,
"url_check": 0.052,
"total": 1932.112
},
"counts": {
"classes": 12,
"category_videos": 18,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "dianshiju/guoju",
"vod_id": "/dianshiju/guoju/29212.html",
"flag": "01-04.1080p.HD国语中字无水印.mkv",
"play_id": "magnet:?xt=urn:btih:060ae4f338e92fccd6a591db834ac502fbdf68c7&dn=%E6%B1%9F%E6%B5%B7%E6%BD%AE%E7%94%9F01-04"
},
"player": {
"parse": 0,
"url": "magnet:?xt=urn:btih:060ae4f338e92fccd6a591db834ac502fbdf68c7&dn=%E6%B1%9F%E6%B5%B7%E6%BD%AE%E7%94%9F01-04",
"valid": true,
"reachable": null,
"status_code": null,
"final_url": "magnet:?xt=urn:btih:060ae4f338e92fccd6a591db834ac502fbdf68c7&dn=%E6%B1%9F%E6%B5%B7%E6%BD%AE%E7%94%9F01-04",
"reason": "非 HTTP 地址,按协议格式通过"
}
},
{
"spider": "AAZ音乐",
"file": "AAZ音乐.txt",
"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 756, 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 318, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/AAZ音乐.txt\", line 220, in homeContent\n File \"/home/harold/workspace/tvbox-resources/py/AAZ音乐.txt\", line 57, in _fetch_html\n File \"/home/harold/workspace/atv-spiders/py/base/spider.py\", line 145, in fetch\n rsp = requests.get(url, params=params, cookies=cookies, headers=headers, timeout=timeout, verify=verify,\n stream=stream, allow_redirects=allow_redirects)\nrequests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))\n",
"timings_ms": {
"module_load": 206.054,
"init": 0.001,
"home": 298.772,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 528.153
},
"counts": {
"classes": 0,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": null,
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "APP影院",
"file": "APP影院.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 205.668,
"init": 0.003,
"home": 0.003,
"category": 757.568,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 1769.799
},
"counts": {
"classes": 8,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "2",
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "BT影视",
"file": "BT影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 208.653,
"init": 0.06,
"home": 0.003,
"category": 349.768,
"detail": 427.063,
"player": 317.642,
"url_check": 0.051,
"total": 1325.206
},
"counts": {
"classes": 2,
"category_videos": 32,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "movies",
"vod_id": "47969096",
"flag": "揭秘日[HDR+杜比视界双版本][中文字幕+特效字幕].2026.2160p.iTunes.WEB-DL.DDP.5.1.Atmos.DV.HDR10+.H.265-DreamHD 24.94GB",
"play_id": "848552142"
},
"player": {
"parse": 0,
"url": "magnet:?xt=urn:btih:93878408545a7d6eb7fd589b3e9aec23c4d6773d",
"valid": true,
"reachable": null,
"status_code": null,
"final_url": "magnet:?xt=urn:btih:93878408545a7d6eb7fd589b3e9aec23c4d6773d",
"reason": "非 HTTP 地址,按协议格式通过"
}
},
{
"spider": "PPnix",
"file": "PPnix.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 208.351,
"init": 0.002,
"home": 0.002,
"category": 720.378,
"detail": 645.808,
"player": 0.01,
"url_check": 252.851,
"total": 1851.554
},
"counts": {
"classes": 2,
"category_videos": 24,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "movie/8364.html",
"flag": "PPnix",
"play_id": "8364|1080P"
},
"player": {
"parse": 0,
"url": "https://www.ppnix.com/info/m3u8/8364/1080P.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://www.ppnix.com/info/m3u8/8364/1080P.m3u8",
"reason": null
}
},
{
"spider": "Pomo",
"file": "Pomo.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 223.142,
"init": 0.001,
"home": 0.001,
"category": 337.453,
"detail": 315.614,
"player": 0.004,
"url_check": 156.169,
"total": 1037.174
},
"counts": {
"classes": 8,
"category_videos": 16,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "zuixin",
"vod_id": "1735",
"flag": "夸克",
"play_id": "https://pan.quark.cn/s/cf237eb67916"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/cf237eb67916",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/cf237eb67916",
"reason": null
}
},
{
"spider": "QQ音乐",
"file": "QQ音乐.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 208.459,
"init": 0.021,
"home": 0.007,
"category": 553.558,
"detail": 261.624,
"player": 301.382,
"url_check": 68.16,
"total": 1414.19
},
"counts": {
"classes": 6,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "playlist",
"vod_id": "playlist:8544443596",
"flag": "QQ音乐",
"play_id": "qqmusic:003VsgVI1o5Qz0:288662023|Bleeding Love - Leona Lewis"
},
"player": {
"parse": 0,
"url": "https://isure.stream.qqmusic.qq.com/F000002VgKG73UpYjt.flac?guid=310b2642572c58b51e759aa3da63f532&vkey=78BEC48F2C97E516605828F7366C491971451FCCF5670D6B3368CF3511C007F10F69300E2E571E6E30A1D798B682869848E13D61667FBD0F__v2ba82194&uin=1152921504846230218&fromtag=119114&redirect=1",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://isure.stream.qqmusic.qq.com/F000002VgKG73UpYjt.flac?guid=310b2642572c58b51e759aa3da63f532&vkey=78BEC48F2C97E516605828F7366C491971451FCCF5670D6B3368CF3511C007F10F69300E2E571E6E30A1D798B682869848E13D61667FBD0F__v2ba82194&uin=1152921504846230218&fromtag=119114&redirect=1",
"reason": null
}
},
{
"spider": "YouTube",
"file": "YouTube.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 206.364,
"init": 0.007,
"home": 0.067,
"category": 774.293,
"detail": 2386.389,
"player": 0.004,
"url_check": 925.334,
"total": 4315.711
},
"counts": {
"classes": 29,
"category_videos": 16,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "cat_recommend",
"vod_id": "yt:playlist:PLvOO0btloRntAi-VnV06M1Bu0X1xljUUP",
"flag": "YouTube",
"play_id": "yt:entry:PLvOO0btloRntAi-VnV06M1Bu0X1xljUUP:5dTOPen28ts"
},
"player": {
"parse": 0,
"url": "https://www.youtube.com/watch?v=5dTOPen28ts&list=PLvOO0btloRntAi-VnV06M1Bu0X1xljUUP",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://www.youtube.com/watch?v=5dTOPen28ts&list=PLvOO0btloRntAi-VnV06M1Bu0X1xljUUP",
"reason": null
}
},
{
"spider": "libvio",
"file": "libvio.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 206.075,
"init": 0.001,
"home": 0.001,
"category": 359.809,
"detail": 266.58,
"player": 0.009,
"url_check": 167.622,
"total": 1018.026
},
"counts": {
"classes": 6,
"category_videos": 48,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "index",
"vod_id": "714893570",
"flag": "夸克",
"play_id": "https://pan.quark.cn/s/47aad7c7d30b"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/47aad7c7d30b",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/47aad7c7d30b",
"reason": null
}
},
{
"spider": "mifun",
"file": "mifun.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 214.555,
"init": 0.003,
"home": 1531.195,
"category": 1117.807,
"detail": 1120.008,
"player": 1940.288,
"url_check": 111.267,
"total": 7208.855
},
"counts": {
"classes": 5,
"category_videos": 30,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "19762",
"flag": "无限云",
"play_id": "无限云@@direct@@ba11073ae57ba0eede130eeda148f635,tos-cn-i-ik7evvg4ik/05d59a13f9064a4daacb8c2f8f241216.mp4,token+,1,1"
},
"player": {
"parse": 0,
"url": "https://p3-flow-sign.byteimg.com/tos-cn-i-ik7evvg4ik/05d59a13f9064a4daacb8c2f8f241216.mp4?lk3s=8e244e95&rcl=2026080113183309D0DE9D82ACBA0C5EDE&rrcfp=1860f75c&x-expires=1786166313&x-signature=ovr5TjWM6IJ6OHVPDfDJgPenWJc%3D",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://p3-flow-sign.byteimg.com/tos-cn-i-ik7evvg4ik/05d59a13f9064a4daacb8c2f8f241216.mp4?lk3s=8e244e95&rcl=2026080113183309D0DE9D82ACBA0C5EDE&rrcfp=1860f75c&x-expires=1786166313&x-signature=ovr5TjWM6IJ6OHVPDfDJgPenWJc%3D",
"reason": null
}
},
{
"spider": "youknow",
"file": "youknow.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.83,
"init": 0.0,
"home": 0.0,
"category": 2191.078,
"detail": 1768.343,
"player": 1529.848,
"url_check": 655.378,
"total": 6150.208
},
"counts": {
"classes": 7,
"category_videos": 218,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "index",
"vod_id": "204935",
"flag": "YouKnowTV",
"play_id": "eyJ2b2RfaWQiOiIyMDQ5MzUiLCJlcGlzb2RlX2luZGV4IjoxLCJ0aXRsZSI6IjIwMjYwNjI15YWI5a-854mHIiwiY2FuZGlkYXRlcyI6W3sic291cmNlIjoi57q_6LevMSIsInNvdXJjZV9pZCI6IjEiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8yMDQ5MzUtMS0xLyJ9LHsic291cmNlIjoi57q_6LevMiIsInNvdXJjZV9pZCI6IjEiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8yMDQ5MzUtMS0xLyJ9LHsic291cmNlIjoi57q_6LevMjIiLCJzb3VyY2VfaWQiOiIyIiwiZXBpc29kZV91cmwiOiJodHRwczovL3d3dy55b3Vrbm93LnR2L3AvMjA0OTM1LTItMS8ifSx7InNvdXJjZSI6Iue6v-i3rzIzIiwic291cmNlX2lkIjoiMiIsImVwaXNvZGVfdXJsIjoiaHR0cHM6Ly93d3cueW91a25vdy50di9wLzIwNDkzNS0yLTEvIn0seyJzb3VyY2UiOiLnur_ot68zOSIsInNvdXJjZV9pZCI6IjMiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8yMDQ5MzUtMy0xLyJ9LHsic291cmNlIjoi57q_6LevNDAiLCJzb3VyY2VfaWQiOiIzIiwiZXBpc29kZV91cmwiOiJodHRwczovL3d3dy55b3Vrbm93LnR2L3AvMjA0OTM1LTMtMS8ifV19"
},
"player": {
"parse": 0,
"url": "https://vip.dytt-tvs.com/20260625/25405_46c6a6c7/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://play2.jimxtc.com/20260625/25405_46c6a6c7/index.m3u8",
"reason": null
}
},
{
"spider": "七味",
"file": "七味.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 10.451,
"init": 0.004,
"home": 0.001,
"category": 751.033,
"detail": 788.601,
"player": 0.004,
"url_check": 0.055,
"total": 1550.59
},
"counts": {
"classes": 5,
"category_videos": 42,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "511024",
"flag": "磁力1",
"play_id": "magnet:?xt=urn:btih:5b3182d077f7bd4ab8ee6f022ebe08933929d9d4&dn=Nude (2017) [NORDIC] [720p] [WEBRip] [YTS.GG - YTS.BZ]"
},
"player": {
"parse": 0,
"url": "magnet:?xt=urn:btih:5b3182d077f7bd4ab8ee6f022ebe08933929d9d4&dn=Nude (2017) [NORDIC] [720p] [WEBRip] [YTS.GG - YTS.BZ]",
"valid": true,
"reachable": null,
"status_code": null,
"final_url": "magnet:?xt=urn:btih:5b3182d077f7bd4ab8ee6f022ebe08933929d9d4&dn=Nude (2017) [NORDIC] [720p] [WEBRip] [YTS.GG - YTS.BZ]",
"reason": "非 HTTP 地址,按协议格式通过"
}
},
{
"spider": "不太灵",
"file": "不太灵.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.894,
"init": 0.001,
"home": 433.452,
"category": 473.081,
"detail": 479.91,
"player": 0.004,
"url_check": 152.582,
"total": 1545.503
},
"counts": {
"classes": 5,
"category_videos": 25,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "36860212",
"flag": "夸克",
"play_id": "https://pan.quark.cn/s/91567c46375d"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/91567c46375d",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/91567c46375d",
"reason": null
}
},
{
"spider": "世纪音乐",
"file": "世纪音乐.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 4.376,
"init": 0.001,
"home": 104.126,
"category": 114.2,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 333.919
},
"counts": {
"classes": 5,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "rank_list",
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "两个BT",
"file": "两个BT.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 7.23,
"init": 0.0,
"home": 0.0,
"category": 426.599,
"detail": 438.212,
"player": 860.746,
"url_check": 462.825,
"total": 2196.337
},
"counts": {
"classes": 14,
"category_videos": 24,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "zgjun",
"vod_id": "ch4elboyk",
"flag": "两个BT",
"play_id": "eyJwaWQiOiIvcGxheS9jaDRlbGJveWsiLCJzaWQiOiJjaDRlbGJveWsiLCJuYW1lIjoiMSJ9"
},
"player": {
"parse": 0,
"url": "https://zijieapi.douyinbyte.com/m3u8/5c1f3f38163dfe526e6ba55b55645385.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://zijieapi.douyinbyte.com/m3u8/5c1f3f38163dfe526e6ba55b55645385.m3u8",
"reason": null
}
},
{
"spider": "乌云影视",
"file": "乌云影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.761,
"init": 0.001,
"home": 371.355,
"category": 331.565,
"detail": 944.742,
"player": 0.02,
"url_check": 4020.153,
"total": 5673.752
},
"counts": {
"classes": 7,
"category_videos": 24,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "movie",
"vod_id": "15573",
"flag": "乌云影视",
"play_id": "eyJtZWRpYUlkIjogIjE1NTczIiwgInNlYXNvbk5vIjogMSwgImVwTm8iOiAxLCAidmlkZW9JZCI6IDE2OTU3LCAicGxheVVybCI6ICJodHRwczovL3dvb3l1bi50di9nZW5fb3ZlcnNlYXMvaHR0cHM6Ly9jMS5kZGJiZmZjZG4uY29tL3ZpZGVvL09NR3dvYWluaWRhbmJ1aGVzaGl5aS9IROS4reWtly9pbmRleC5tM3U4IiwgIm5hbWUiOiAi56ysMembhiBIROS4reWtlyJ9"
},
"player": {
"parse": 0,
"url": "https://wooyun.tv/gen_overseas/https://c1.ddbbffcdn.com/video/OMGwoainidanbuheshiyi/HD中字/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vod-cdn.wooyun.tv/v2/hls_fresh/2607291/c4d1c2b3cd3749bfbdb19181055f08c2fe1ca799.m3u8",
"reason": null
}
},
{
"spider": "乐兔",
"file": "乐兔.txt",
"success": false,
"failed_stage": "category",
"error": "HTTPSConnectionPool(host='www.qqys01.com', port=443): Max retries exceeded with url: /vodshow/2--------1---.html (Caused by NameResolutionError(\"HTTPSConnection(host='www.qqys01.com', port=443): Failed to resolve 'www.qqys01.com' ([Errno -2] Name or service not known)\"))",
"traceback": null,
"timings_ms": {
"module_load": 4.542,
"init": 0.001,
"home": 0.0,
"category": 260.859,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 522.757
},
"counts": {
"classes": 5,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "2",
"vod_id": null,
"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.248,
"init": 0.001,
"home": 0.001,
"category": 1611.739,
"detail": 273.398,
"player": 0.004,
"url_check": 1045.966,
"total": 2938.95
},
"counts": {
"classes": 4,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "12548",
"flag": "百度#二小",
"play_id": "https://pan.baidu.com/s/1kxvDngiYHUEkRLspKvt5Gw?pwd=4r7k"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1kxvDngiYHUEkRLspKvt5Gw?pwd=4r7k",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=kxvDngiYHUEkRLspKvt5Gw&pwd=4r7k",
"reason": null
}
},
{
"spider": "云朵",
"file": "云朵.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.885,
"init": 0.001,
"home": 1431.726,
"category": 824.869,
"detail": 666.15,
"player": 749.62,
"url_check": 1950.924,
"total": 5630.404
},
"counts": {
"classes": 4,
"category_videos": 20,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "69353",
"flag": "vwnet",
"play_id": "vwnet-e32cce374db795d5b77dd658a435827f"
},
"player": {
"parse": 0,
"url": "https://yun.jiexicn.top/api/banyun/e32cce374db795d5b77dd658a435827f.m3u8?ZDEzM0laZDM1eDE5b0JaZmNkRkE4VGhhcmpVYXI5aEYyMllSQVBzZnpPYit3RzZoZmpKamwveGdzRzJFcWxzSDJnT1ZER3dYMzFVSWRsSjdNS2ZpLzdxM3FET3RjVy9oeXRmQ0JZOURwcVJvK2xkR3Nnb3hIaTg2UWpOU0FSdmxDMlNMZmRUODB4NERtSEVxUGFZcDl5YW9NbDEzUUJz",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://yun.jiexicn.top/api/banyun/e32cce374db795d5b77dd658a435827f.m3u8?ZDEzM0laZDM1eDE5b0JaZmNkRkE4VGhhcmpVYXI5aEYyMllSQVBzZnpPYit3RzZoZmpKamwveGdzRzJFcWxzSDJnT1ZER3dYMzFVSWRsSjdNS2ZpLzdxM3FET3RjVy9oeXRmQ0JZOURwcVJvK2xkR3Nnb3hIaTg2UWpOU0FSdmxDMlNMZmRUODB4NERtSEVxUGFZcDl5YW9NbDEzUUJz",
"reason": null
}
},
{
"spider": "人人电影",
"file": "人人电影.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.252,
"init": 0.001,
"home": 0.0,
"category": 1124.463,
"detail": 464.529,
"player": 0.008,
"url_check": 1156.898,
"total": 2750.72
},
"counts": {
"classes": 4,
"category_videos": 10,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "movie/list_2",
"vod_id": "/movie/2026/0731/60622.html",
"flag": "baidu",
"play_id": "https://pan.baidu.com/s/14bQsWiS9GNP7RtWtJZGy6Q?pwd=8ymf"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/14bQsWiS9GNP7RtWtJZGy6Q?pwd=8ymf",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=4bQsWiS9GNP7RtWtJZGy6Q&pwd=8ymf",
"reason": null
}
},
{
"spider": "人人视频",
"file": "人人视频.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.288,
"init": 0.0,
"home": 222.964,
"category": 281.547,
"detail": 278.869,
"player": 797.765,
"url_check": 137.706,
"total": 2900.321
},
"counts": {
"classes": 4,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "MOVIE",
"vod_id": "58573",
"flag": "人人专线",
"play_id": "58573@390446"
},
"player": {
"parse": 0,
"url": "https://a1qhbe772udacio.302.fledgecloud.com:56782/zj-302-cdn.bwcgee.cn/10beb4e08b1d71f181315017e1e90402/0da4b4c2f1e94bc1aaf917d1df2dc06b-f2988a7de73606c91fe62e335add886e-ld.mp4?auth_key=1785575911-4d6a3778e793175200ccdc7704b5d230-0-1b65ef4c3c79faf33687cb339abdb281&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=14104e7c718d4190ad235f3b8a88d216&hevc=false&seasonId=58573",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://a1qhbe772udacio.302.fledgecloud.com:56782/zj-302-cdn.bwcgee.cn/10beb4e08b1d71f181315017e1e90402/0da4b4c2f1e94bc1aaf917d1df2dc06b-f2988a7de73606c91fe62e335add886e-ld.mp4?auth_key=1785575911-4d6a3778e793175200ccdc7704b5d230-0-1b65ef4c3c79faf33687cb339abdb281&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=14104e7c718d4190ad235f3b8a88d216&hevc=false&seasonId=58573",
"reason": null
}
},
{
"spider": "优酷",
"file": "优酷.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 9.375,
"init": 0.001,
"home": 0.001,
"category": 302.51,
"detail": 585.412,
"player": 0.002,
"url_check": 229.777,
"total": 1127.63
},
"counts": {
"classes": 6,
"category_videos": 23,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "电视剧",
"vod_id": "show:dafb6cc804ca4fedb40b",
"flag": "优酷",
"play_id": "https://v.youku.com/v_show/id_XNjU0MjIxOTc4NA==.html"
},
"player": {
"parse": 1,
"url": "https://v.youku.com/v_show/id_XNjU0MjIxOTc4NA==.html",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://v.youku.com/v_show/id_XNjU0MjIxOTc4NA==.html",
"reason": null
}
},
{
"spider": "低端影视",
"file": "低端影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.249,
"init": 0.001,
"home": 0.001,
"category": 1123.199,
"detail": 1577.551,
"player": 0.007,
"url_check": 780.571,
"total": 3485.923
},
"counts": {
"classes": 4,
"category_videos": 23,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "series",
"vod_id": "movie/a-shop-for-killers-s2",
"flag": "备胎1号 (1080P)",
"play_id": "https://vv.jisuzyv.com/play/bqxlmwDa/index.m3u8"
},
"player": {
"parse": 0,
"url": "https://vv.jisuzyv.com/play/bqxlmwDa/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vv.jisuzyv.com/play/bqxlmwDa/index.m3u8",
"reason": null
}
},
{
"spider": "修罗",
"file": "修罗.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.957,
"init": 0.001,
"home": 0.001,
"category": 738.769,
"detail": 255.364,
"player": 1171.158,
"url_check": 840.861,
"total": 3014.281
},
"counts": {
"classes": 4,
"category_videos": 24,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "movie",
"vod_id": "qihuan/1548",
"flag": "修罗直连",
"play_id": "play/1548-0"
},
"player": {
"parse": 0,
"url": "https://v.xl01.eu.cc/obj/E0E1A58BEBF331C4090CAD7881C4286797559484590AC8A3FF33D46B1E04A313",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://lf26-imcloud-file-sign.bytetos.com/tos-cn-o-0000c2428/o4fxEXFuFiyYBAVjHiCKAFeQgAFXAqC0Y6DCAE?x-expires=1785562318&x-signature=IfcuKKzq6FXobcc7Ad7dMFMgqm0%3D",
"reason": null
}
},
{
"spider": "免费短剧",
"file": "免费短剧.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.88,
"init": 0.009,
"home": 0.001,
"category": 342.375,
"detail": 340.155,
"player": 0.002,
"url_check": 1188.046,
"total": 1876.125
},
"counts": {
"classes": 4,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "2",
"vod_id": "https://20.90kan.cc/?id=68273",
"flag": "百度",
"play_id": "https://pan.baidu.com/s/1oHKjl2WoXMaBEgEU-mBUGA?pwd=6666"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1oHKjl2WoXMaBEgEU-mBUGA?pwd=6666",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=oHKjl2WoXMaBEgEU-mBUGA&pwd=6666",
"reason": null
}
},
{
"spider": "农民",
"file": "农民.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 9.403,
"init": 0.001,
"home": 239.759,
"category": 238.439,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 743.203
},
"counts": {
"classes": 5,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "juji",
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "凡客TV",
"file": "凡客TV.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 5.013,
"init": 0.001,
"home": 0.001,
"category": 453.968,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 1796.889
},
"counts": {
"classes": 8,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "2",
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "剧圈圈",
"file": "剧圈圈.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 5.313,
"init": 0.001,
"home": 0.0,
"category": 845.79,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 3487.355
},
"counts": {
"classes": 5,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "juji",
"vod_id": null,
"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": 4.455,
"init": 161.439,
"home": 0.094,
"category": 113.044,
"detail": 449.152,
"player": 170.224,
"url_check": 44.209,
"total": 943.071
},
"counts": {
"classes": 5,
"category_videos": 21,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "2",
"vod_id": "194988",
"flag": "蓝光B线-在线看",
"play_id": "BBA@FYNB-35386463666164393565326333353735e04b13e27ae8cc009d654006efd19c1f46170a4c8cd0968d54f248c7a4e9a22cf1f9639a0a9ae20b74ed031d0933a87174195708ad546fb180d9456ba338891264161e0c7fa97bd105ed8585ff7e766155589b15b2e8703a642d02c7d09e64e02bd2c051fbc8d870d19e31156f6f15a74bc493843222168df1f324ac53d08655039ad8712f6a7f01d90c1e833f989c9b6534d9169c41d8ba8d4da88cb709497352f05b8cca61f6f959f3de2252fd9cf5c3bde44e9eb124e02e91264734c2d513"
},
"player": {
"parse": 0,
"url": "https://v4-ad-fdl.adukwai.com/ksc2/Id4NeUf4ichdlSNpmJ0AxhOtOHbSPI-i8zW40UGk2IAa_P1uKDUa_LrAOSYMyAbkkmKVtaYtUD039JwkfKDH0_kdZGzWjcTSxqolGWSS_RyE6vUijpBh0KWMdzSNXPapbUDqHKEPTzVtCGE1Kpt57UzCH6_-GmwJpT8uXVcfQ2bb81W68fUicEr_vkDEWCBmNf3BjUQ2JbhKkYT9L-OGPw.mp4?x-kcdn-pid=111676&pkey=AAVA43gXxNGaBJoSkzoycAc9vRD0lBKGDHv7bcekD00GVKzsfD42GJTJktKpjeuN0mKAu88L9AyRL4jdTPmPlpWNoQntkBxEej1DpKQfjFpmMccH3O-lC-5gbGMCx0tH7_Q&filename=BBA.mp4",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://v4-ad-fdl.adukwai.com/ksc2/Id4NeUf4ichdlSNpmJ0AxhOtOHbSPI-i8zW40UGk2IAa_P1uKDUa_LrAOSYMyAbkkmKVtaYtUD039JwkfKDH0_kdZGzWjcTSxqolGWSS_RyE6vUijpBh0KWMdzSNXPapbUDqHKEPTzVtCGE1Kpt57UzCH6_-GmwJpT8uXVcfQ2bb81W68fUicEr_vkDEWCBmNf3BjUQ2JbhKkYT9L-OGPw.mp4?x-kcdn-pid=111676&pkey=AAVA43gXxNGaBJoSkzoycAc9vRD0lBKGDHv7bcekD00GVKzsfD42GJTJktKpjeuN0mKAu88L9AyRL4jdTPmPlpWNoQntkBxEej1DpKQfjFpmMccH3O-lC-5gbGMCx0tH7_Q&filename=BBA.mp4",
"reason": null
}
},
{
"spider": "剧迷",
"file": "剧迷.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.13,
"init": 0.001,
"home": 0.001,
"category": 268.92,
"detail": 482.701,
"player": 461.283,
"url_check": 1218.657,
"total": 2438.378
},
"counts": {
"classes": 6,
"category_videos": 59,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "472650",
"flag": "gimy",
"play_id": "472650-5-1"
},
"player": {
"parse": 0,
"url": "https://vip.dytt-network.com/20260723/36526_9c21455c/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vip.dytt-network.com/20260723/36526_9c21455c/index.m3u8",
"reason": null
}
},
{
"spider": "华数影视",
"file": "华数影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.588,
"init": 0.0,
"home": 0.001,
"category": 616.533,
"detail": 72.915,
"player": 199.403,
"url_check": 96.861,
"total": 991.178
},
"counts": {
"classes": 5,
"category_videos": 40,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "961",
"vod_id": "961@177632",
"flag": "华数专线",
"play_id": "aHR0cHM6Ly92aWRlby41Zy53YXN1LnR2L3Bjc2FuMjQvcGMvbW92aWUvMjAyNi0wNy8zMC8yMDI2MDczMDEwMDIyMjg1NVY5aG91c3QwLm1wNA"
},
"player": {
"parse": 0,
"url": "https://pcvideo.5g.wasu.tv/pcsan24/pc/movie/2026-07/30/20260730100222855V9houst0/playlist.m3u8?auth_key=1785561512-0-0-9c3a474ae86248bc2b555b4117fa3a6f",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pcvideo.5g.wasu.tv/pcsan24/pc/movie/2026-07/30/20260730100222855V9houst0/playlist.m3u8?auth_key=1785561512-0-0-9c3a474ae86248bc2b555b4117fa3a6f",
"reason": null
}
},
{
"spider": "博看听书",
"file": "博看听书.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.76,
"init": 0.001,
"home": 2776.214,
"category": 267.523,
"detail": 692.309,
"player": 0.002,
"url_check": 47.711,
"total": 3789.63
},
"counts": {
"classes": 11,
"category_videos": 24,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1319",
"vod_id": "902849",
"flag": "博看听书",
"play_id": "http://audio.bookan.com.cn/video1/audio/20200706001/aache64_133068a2.m4a"
},
"player": {
"parse": 0,
"url": "http://audio.bookan.com.cn/video1/audio/20200706001/aache64_133068a2.m4a",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://audio.bookan.com.cn/video1/audio/20200706001/aache64_133068a2.m4a",
"reason": null
}
},
{
"spider": "双子星",
"file": "双子星.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 4.714,
"init": 0.005,
"home": 455.779,
"category": 87.819,
"detail": 78.016,
"player": 0.003,
"url_check": 0.048,
"total": 711.568
},
"counts": {
"classes": 6,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "17",
"vod_id": null,
"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": 5.042,
"init": 666.573,
"home": 0.006,
"category": 299.005,
"detail": 318.76,
"player": 0.002,
"url_check": 144.82,
"total": 1435.036
},
"counts": {
"classes": 7,
"category_videos": 15,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "ju",
"vod_id": "/ju/11151.html",
"flag": "夸克",
"play_id": "https://pan.quark.cn/s/020f56a04d7c"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/020f56a04d7c",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/020f56a04d7c",
"reason": null
}
},
{
"spider": "听书",
"file": "听书.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.034,
"init": 79.199,
"home": 0.001,
"category": 158.424,
"detail": 434.837,
"player": 310.242,
"url_check": 66.533,
"total": 1053.905
},
"counts": {
"classes": 11,
"category_videos": 10,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "6",
"vod_id": "63",
"flag": "直链",
"play_id": "2926931|||63"
},
"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=4ce637495feb1bdfb340d46d331ae0aa&buy_key=FM&token=1098&timestamp=1785561513&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=4ce637495feb1bdfb340d46d331ae0aa&buy_key=FM&token=1098&timestamp=1785561513&duration=453",
"reason": null
}
},
{
"spider": "听友FM",
"file": "听友FM.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 7.948,
"init": 0.0,
"home": 591.016,
"category": 431.228,
"detail": 710.947,
"player": 345.469,
"url_check": 130.023,
"total": 2220.541
},
"counts": {
"classes": 8,
"category_videos": 20,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "46",
"vod_id": "9783312385",
"flag": "听友FM",
"play_id": "9783312385|1"
},
"player": {
"parse": 0,
"url": "https://file.hgeuz.cn/stream/eJwANwDI_wJVZgVKIIrU0ECux-GJ1PSt38ahythCqsH-r9TAQ4rj5F94rOjbQKjk063xyIX2z3hfeGcIHF4BAAD__5DtISY.?ts=1785561069&sign=fb3272d80b2f89b34b077d68f2f51773",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://file.hgeuz.cn/stream/eJwANwDI_wJVZgVKIIrU0ECux-GJ1PSt38ahythCqsH-r9TAQ4rj5F94rOjbQKjk063xyIX2z3hfeGcIHF4BAAD__5DtISY.?ts=1785561069&sign=fb3272d80b2f89b34b077d68f2f51773",
"reason": null
}
},
{
"spider": "咕咕动漫",
"file": "咕咕动漫.txt",
"success": false,
"failed_stage": "url_check",
"error": "不支持的地址协议: empty",
"traceback": null,
"timings_ms": {
"module_load": 8.628,
"init": 0.014,
"home": 856.401,
"category": 537.313,
"detail": 534.422,
"player": 1447.512,
"url_check": 0.082,
"total": 6940.237
},
"counts": {
"classes": 3,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "21",
"vod_id": "5083",
"flag": "咕咕新线(国内高速)",
"play_id": "parse_api=a2796a09189261bcaf3cc4542d7c5ac2&url=L5qxaG2Fo2lMBTzslGJc3ejY2pnokP6qOIZDRkD0EucUj5bI3LWtGrn8Z2wYKSXy&token=|靠死亡游戏混饭吃。 44:CLOUDY BEACH|1"
},
"player": {
"parse": 1,
"url": "parse_api=a2796a09189261bcaf3cc4542d7c5ac2&url=L5qxaG2Fo2lMBTzslGJc3ejY2pnokP6qOIZDRkD0EucUj5bI3LWtGrn8Z2wYKSXy&token=",
"valid": false,
"reachable": false,
"status_code": null,
"final_url": "parse_api=a2796a09189261bcaf3cc4542d7c5ac2&url=L5qxaG2Fo2lMBTzslGJc3ejY2pnokP6qOIZDRkD0EucUj5bI3LWtGrn8Z2wYKSXy&token=",
"reason": "不支持的地址协议: empty"
}
},
{
"spider": "四万影视",
"file": "四万影视.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 4.336,
"init": 0.001,
"home": 0.001,
"category": 760.574,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 2064.063
},
"counts": {
"classes": 5,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "30",
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "在线之家",
"file": "在线之家.txt",
"success": false,
"failed_stage": "url_check",
"error": "HTTP 403",
"traceback": null,
"timings_ms": {
"module_load": 8.227,
"init": 0.001,
"home": 0.001,
"category": 729.125,
"detail": 1469.969,
"player": 1086.486,
"url_check": 318.112,
"total": 8377.179
},
"counts": {
"classes": 6,
"category_videos": 12,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "2",
"vod_id": "4623",
"flag": "zxzj",
"play_id": "vodplay/4623-1-1.html"
},
"player": {
"parse": 1,
"url": "https://ex.zxzja.com:9876/player-v2/common/1996901774556008448/E9BB91E8A28DE7BAA0E5AF9FE9989F5330354530312E6D70347C333233343136333635",
"valid": false,
"reachable": false,
"status_code": 403,
"final_url": "https://ex.zxzja.com:9876/player-v2/common/1996901774556008448/E9BB91E8A28DE7BAA0E5AF9FE9989F5330354530312E6D70347C333233343136333635",
"reason": "HTTP 403"
}
},
{
"spider": "多多",
"file": "多多.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 11.095,
"init": 0.001,
"home": 0.001,
"category": 1531.087,
"detail": 433.48,
"player": 0.003,
"url_check": 4717.737,
"total": 6694.019
},
"counts": {
"classes": 6,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "9573",
"flag": "百度#多多",
"play_id": "https://pan.baidu.com/s/1H2lDz4zwRU8sHkIhwMfmvA?pwd=yyds"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1H2lDz4zwRU8sHkIhwMfmvA?pwd=yyds",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=H2lDz4zwRU8sHkIhwMfmvA&pwd=yyds",
"reason": null
}
},
{
"spider": "多瑙影视",
"file": "多瑙影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.087,
"init": 0.002,
"home": 0.001,
"category": 591.759,
"detail": 583.45,
"player": 1245.491,
"url_check": 1952.711,
"total": 4379.244
},
"counts": {
"classes": 5,
"category_videos": 36,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "368456",
"flag": "优质资源",
"play_id": "368456-6-1"
},
"player": {
"parse": 0,
"url": "https://cdn.yzzy31-play.com/20260520/21005_1facae63/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://cdn.yzzy31-play.com/20260520/21005_1facae63/index.m3u8",
"reason": null
}
},
{
"spider": "如意资源",
"file": "如意资源.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.239,
"init": 0.001,
"home": 0.006,
"category": 1111.015,
"detail": 399.284,
"player": 0.004,
"url_check": 1967.301,
"total": 3482.682
},
"counts": {
"classes": 6,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "83036",
"flag": "rym3u8",
"play_id": "https://svip.ryplay14.com/20260731/17694_2ba479f6/index.m3u8"
},
"player": {
"parse": 0,
"url": "https://svip.ryplay14.com/20260731/17694_2ba479f6/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://svip.ryplay14.com/20260731/17694_2ba479f6/index.m3u8",
"reason": null
}
},
{
"spider": "寻川4K",
"file": "寻川4K.txt",
"success": false,
"failed_stage": "home",
"error": "分类列表为空",
"traceback": null,
"timings_ms": {
"module_load": 9.233,
"init": 467.2,
"home": 492.651,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 969.252
},
"counts": {
"classes": 0,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": null,
"vod_id": null,
"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": 5.181,
"init": 0.001,
"home": 0.001,
"category": 344.355,
"detail": 273.34,
"player": 315.381,
"url_check": 1922.348,
"total": 2861.055
},
"counts": {
"classes": 6,
"category_videos": 48,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "7",
"vod_id": "128163",
"flag": "小宝影院",
"play_id": "128163/2/1"
},
"player": {
"parse": 0,
"url": "https://cdn1.ryplay1.com/20240730/19_255b396d/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://cdn1.ryplay1.com/20240730/19_255b396d/index.m3u8",
"reason": null
}
},
{
"spider": "山楂影视",
"file": "山楂影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 10.393,
"init": 132.758,
"home": 78.731,
"category": 238.579,
"detail": 223.402,
"player": 1143.908,
"url_check": 196.349,
"total": 2024.787
},
"counts": {
"classes": 8,
"category_videos": 40,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "M16",
"vod_id": "1176637",
"flag": "超清",
"play_id": "1176637@77@24289140@episode"
},
"player": {
"parse": "0",
"url": "https://cibn-edge-5g.1ljx.com/cloud/flv/37b43f192d6f43e5c3077c7944486357/be23e45025b1521d03dffff777ed17b8/6a6d81ac11032.mp4?auth_key=1785561516.0695-1-283739563.info-internet-2-llq-596f966fd25f5958bbee59f79a64b5e8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://subtitle.apdcdn.tc.qq.com/vipzj.video.tc.qq.com///szg_8634_50001_0bc3iibpkaace4aodbljojvfgqwd6vbaf5ka.f622.mp4?vkey=AD4300ACCE17AF1A89DCB25C88163924230F53C0BAA8EA0AF1C448D088B7FBF2A6B1B41379A779F94DC82FC17D7420079EF6F40C9283A8393857C8A98127DF98FC91471A635D71AF33F14E760DF34E390B07E1CC408564BB1779F4116E9713B0C6DB252CC06C0B4A5EF6767E78B69956DDD678155948099D13A5EE7B4906C19DBD1002D51D7B84C1280E2C25879ECABB02447209805B35D72F7AF447552E9B1B28248C1774C22FF26B2406EFFA32961873D633BC48A0973A4FBAC1CEE9BCD161",
"reason": null
}
},
{
"spider": "布布影视",
"file": "布布影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.026,
"init": 0.001,
"home": 0.001,
"category": 873.077,
"detail": 763.709,
"player": 1209.966,
"url_check": 248.154,
"total": 3101.526
},
"counts": {
"classes": 4,
"category_videos": 24,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "86421",
"flag": "CO蓝光(2)",
"play_id": "co@1@co_uzc2tzd6xi4age5ryd43dxouwpop5mo776z4twdexhvn5m6yzgz7lzvr37plt2w7"
},
"player": {
"parse": 0,
"url": "https://cibn-edge-5g.1ljx.com/cloud/flv/4169d689f8ce6973f75080c2094c93b6/3bab6a1b6f17257c58e3bf1c5229ea37/6a6d81ad088d2.m3u8?auth_key=1785561517.0349-1-497105896.info-internet-2-llq-7238f72139ead5c6df34b2e8b92af056",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://cibn-edge-4g.1ljx.com/vod-rose/9ecb05a0a6bb3d8d87db40f2d4081a35d613ef83bca9348245f79e192b68f4b4ccb6e17d403decf82065616ac46fa9c8ca0659c2afe7d1358a26c0b5356a40708836ac77a8279b65f0ecbf151df0c8c3d652f9eca458675b9912bfc630ab3003/videoplayback.m3u8?e=&sig=&tg@lirose_tv",
"reason": null
}
},
{
"spider": "微观短剧",
"file": "微观短剧.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.644,
"init": 0.026,
"home": 196.828,
"category": 256.819,
"detail": 221.194,
"player": 379.49,
"url_check": 339.508,
"total": 1399.126
},
"counts": {
"classes": 30,
"category_videos": 30,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "逆袭",
"vod_id": "110000046951321516",
"flag": "超清",
"play_id": "110000046951321516:1"
},
"player": {
"parse": 0,
"url": "https://tv-video.cdn.drama.9ddm.com/C1/F6/C1F63C79CBF09E493F99B1E0824CEAB2.mp4?timestamp=1785561515&sign=a2d4da10726bf7a9f175fac552e2b57c",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://tv-video.cdn.drama.9ddm.com/C1/F6/C1F63C79CBF09E493F99B1E0824CEAB2.mp4?timestamp=1785561515&sign=a2d4da10726bf7a9f175fac552e2b57c",
"reason": null
}
},
{
"spider": "怀桑",
"file": "怀桑.txt",
"success": false,
"failed_stage": "home",
"error": "分类列表为空",
"traceback": null,
"timings_ms": {
"module_load": 9.751,
"init": 0.011,
"home": 317.788,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 328.294
},
"counts": {
"classes": 0,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": null,
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "悯善",
"file": "悯善.txt",
"success": false,
"failed_stage": "unexpected",
"error": "HTTPConnectionPool(host='113.31.180.218', port=19987): Max retries exceeded with url: /app/bn/app/systemInit (Caused by ConnectTimeoutError(<HTTPConnection(host='113.31.180.218', port=19987) at 0x7bf140490e20>, 'Connection to 113.31.180.218 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='113.31.180.218', port=19987) at 0x7bf140490e20>, 'Connection to 113.31.180.218 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='113.31.180.218', port=19987): Max retries exceeded with url: /app/bn/app/systemInit (Caused by ConnectTimeoutError(<HTTPConnection(host='113.31.180.218', port=19987) at 0x7bf140490e20>, 'Connection to 113.31.180.218 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 756, 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 318, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/悯善.txt\", line 145, in homeContent\n File \"/home/harold/workspace/tvbox-resources/py/悯善.txt\", line 263, in _ensure_system_init\n File \"/home/harold/workspace/tvbox-resources/py/悯善.txt\", line 292, in _post_api\nrequests.exceptions.ConnectTimeout: HTTPConnectionPool(host='113.31.180.218', port=19987): Max retries exceeded with url: /app/bn/app/systemInit (Caused by ConnectTimeoutError(<HTTPConnection(host='113.31.180.218', port=19987) at 0x7bf140490e20>, 'Connection to 113.31.180.218 timed out. (connect timeout=10)'))\n",
"timings_ms": {
"module_load": 6.222,
"init": 0.011,
"home": 10010.017,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 10018.495
},
"counts": {
"classes": 0,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": null,
"vod_id": null,
"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": 4.762,
"init": 0.001,
"home": 250.368,
"category": 270.335,
"detail": 304.154,
"player": 367.089,
"url_check": 69.921,
"total": 1267.132
},
"counts": {
"classes": 1,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "movlist/",
"vod_id": "/movie/85472",
"flag": "预告片",
"play_id": "/show/195685"
},
"player": {
"parse": 0,
"url": "https://vfx.mtime.cn/Video/2026/07/25/mp4/260725232238067105.mp4",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vfx.mtime.cn/Video/2026/07/25/mp4/260725232238067105.mp4",
"reason": null
}
},
{
"spider": "新韩剧网",
"file": "新韩剧网.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.916,
"init": 0.001,
"home": 0.001,
"category": 766.671,
"detail": 706.026,
"player": 757.81,
"url_check": 2014.704,
"total": 4252.564
},
"counts": {
"classes": 5,
"category_videos": 16,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "3591",
"flag": "在线云播",
"play_id": "3591_1_1"
},
"player": {
"parse": 0,
"url": "https://cdn.vvvip-plays33.cc/20260224/8726_d6f84c02/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://cdn.vvvip-plays33.cc/20260224/8726_d6f84c02/index.m3u8",
"reason": null
}
},
{
"spider": "星星短剧",
"file": "星星短剧.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.487,
"init": 0.001,
"home": 0.001,
"category": 494.981,
"detail": 731.807,
"player": 0.003,
"url_check": 104.739,
"total": 1340.47
},
"counts": {
"classes": 5,
"category_videos": 10,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1287",
"vod_id": "437823882657793@@千金驾到@@向往自由的首富千金唐灵自普林斯顿商学院毕业后,非但没有听从爷爷唐天的安排进公司做总裁,反而去荣盛集团那样的小公司实习,唐天拗不过唐灵,只能答应后安排人暗中照顾,却不料,在荣盛集团,唐灵的千金身份被自己的同班同学唐星月所冒用,在唐灵这位正主面前,唐星月不知悔改,一步步迈入贪婪的深渊无法回头。",
"flag": "星星短剧",
"play_id": "https://img.novel.wsljf.xyz/shortPlay-mp4/437424643637249/GZRfB1754881124538/2a2bf885-69ea-4aa9-80a4-1ebb782af11f/540x960/output.m3u8"
},
"player": {
"parse": 0,
"url": "https://img.novel.wsljf.xyz/shortPlay-mp4/437424643637249/GZRfB1754881124538/2a2bf885-69ea-4aa9-80a4-1ebb782af11f/540x960/output.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://img.novel.wsljf.xyz/shortPlay-mp4/437424643637249/GZRfB1754881124538/2a2bf885-69ea-4aa9-80a4-1ebb782af11f/540x960/output.m3u8",
"reason": null
}
},
{
"spider": "木偶",
"file": "木偶.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 7.892,
"init": 0.001,
"home": 0.001,
"category": 1072.717,
"detail": 273.653,
"player": 0.016,
"url_check": 224.165,
"total": 1579.075
},
"counts": {
"classes": 7,
"category_videos": 72,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "25",
"vod_id": "8373",
"flag": "115#木偶",
"play_id": "https://115cdn.com/s/sws7eon36dh?password=oba3"
},
"player": {
"parse": 0,
"url": "https://115cdn.com/s/sws7eon36dh?password=oba3",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://115cdn.com/s/sws7eon36dh?password=oba3",
"reason": null
}
},
{
"spider": "樱花动漫",
"file": "樱花动漫.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.366,
"init": 0.001,
"home": 0.0,
"category": 1779.204,
"detail": 728.321,
"player": 761.23,
"url_check": 612.471,
"total": 3886.154
},
"counts": {
"classes": 4,
"category_videos": 36,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "guoman",
"vod_id": "19885",
"flag": "高清",
"play_id": "/play/19885-1-1/"
},
"player": {
"parse": 0,
"url": "https://vip.dytt-tvs.com/20260721/29092_2ad36b66/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://play2.jimxtc.com/20260721/29092_2ad36b66/index.m3u8",
"reason": null
}
},
{
"spider": "橘子TV",
"file": "橘子TV.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.116,
"init": 418.37,
"home": 450.285,
"category": 469.061,
"detail": 465.569,
"player": 1419.606,
"url_check": 1034.63,
"total": 4262.392
},
"counts": {
"classes": 8,
"category_videos": 18,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "50",
"vod_id": "427195",
"flag": "一起看APP",
"play_id": "26267919"
},
"player": {
"parse": 0,
"url": "https://usaydd.zvoz3tsd.com/m3u87/share/8322305/8517715/20260717/100735/1080/index.m3u8?sign=02f194040079314bc40da5bed24f44cb&t=1785561518",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://usaydd.zvoz3tsd.com/m3u87/share/8322305/8517715/20260717/100735/1080/index.m3u8?sign=02f194040079314bc40da5bed24f44cb&t=1785561518",
"reason": null
}
},
{
"spider": "橘汁",
"file": "橘汁.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 7.573,
"init": 278.149,
"home": 316.605,
"category": 201.071,
"detail": 116.626,
"player": 288.281,
"url_check": 283.323,
"total": 1492.328
},
"counts": {
"classes": 7,
"category_videos": 21,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "20",
"vod_id": "154153",
"flag": "神话蓝光",
"play_id": "eyJ2b2RQbGF5RnJvbSI6ICJxc3ZpcCIsICJwbGF5VXJsIjogInFzdmlwLUN4Ukl5YXhVejk4WDlhcm5oLXJmU19VbXgwLXB3M1dOd2hvbThJSkZEVlgxazBPd2NCRGhTSEZBS05zMHZTRzZza2dwQlRuckRCN0FmR3BIaG9lRE5YLVBFRWh2QmZHZFhJbGdYVGoxaFljc1hoQ29PckVJbVY1ekt1M1VicGhPNHhWNE1ZRVNxRjBuX3BoNkU5dnl6USJ9"
},
"player": {
"parse": 0,
"url": "https://hxx2026.bbroot.com/data/telegram/2026-07-31/200369633_1c219d81.m3u8?verify=1785561517-UNZnkIoMzzF5j9o8IV4zxfNUBhNmWiMYH453vBFOHsE%3D",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://hxx2026.bbroot.com/data/telegram/2026-07-31/200369633_1c219d81.m3u8?verify=1785561517-UNZnkIoMzzF5j9o8IV4zxfNUBhNmWiMYH453vBFOHsE%3D",
"reason": null
}
},
{
"spider": "次元城",
"file": "次元城.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 5.764,
"init": 0.001,
"home": 270.828,
"category": 249.616,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 786.941
},
"counts": {
"classes": 2,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "21",
"vod_id": null,
"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": 8.746,
"init": 0.001,
"home": 0.001,
"category": 675.232,
"detail": 245.231,
"player": 0.007,
"url_check": 995.306,
"total": 1925.113
},
"counts": {
"classes": 6,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "31413",
"flag": "百度",
"play_id": "https://pan.baidu.com/s/1QBjH8Ki9Nw0HmURR4cP_Lg?pwd=8888"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1QBjH8Ki9Nw0HmURR4cP_Lg?pwd=8888",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=QBjH8Ki9Nw0HmURR4cP_Lg&pwd=8888",
"reason": null
}
},
{
"spider": "毒蛇",
"file": "毒蛇.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.852,
"init": 0.003,
"home": 0.001,
"category": 571.505,
"detail": 263.609,
"player": 259.548,
"url_check": 1235.141,
"total": 2336.216
},
"counts": {
"classes": 5,
"category_videos": 18,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "336972",
"flag": "FF线路",
"play_id": "336972-4-2098039"
},
"player": {
"parse": 0,
"url": "https://vip.ffzy-play9.com/20260801/46848_66a18289/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vip.ffzy-play9.com/20260801/46848_66a18289/index.m3u8",
"reason": null
}
},
{
"spider": "沐辞4K",
"file": "沐辞4K.txt",
"success": false,
"failed_stage": "home",
"error": "分类列表为空",
"traceback": null,
"timings_ms": {
"module_load": 7.988,
"init": 107.254,
"home": 90.49,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 205.989
},
"counts": {
"classes": 0,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": null,
"vod_id": null,
"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": 5.518,
"init": 0.001,
"home": 349.89,
"category": 311.291,
"detail": 430.046,
"player": 204.98,
"url_check": 57.045,
"total": 1360.023
},
"counts": {
"classes": 8,
"category_videos": 18,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "65",
"vod_id": "41000263652",
"flag": "河马剧场",
"play_id": "41000263652@614897290"
},
"player": {
"parse": 0,
"url": "https://mfvideo.cbread.cn/1b8ed016a8e8a4387e32fcb523606056/6a6eced0/09/2x5/25x6/256x3/25636200014/614897290_1/614897290.720p.wzh26506V2.mp4",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://mfvideo.cbread.cn/1b8ed016a8e8a4387e32fcb523606056/6a6eced0/09/2x5/25x6/256x3/25636200014/614897290_1/614897290.720p.wzh26506V2.mp4",
"reason": null
}
},
{
"spider": "泥视频",
"file": "泥视频.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.492,
"init": 0.001,
"home": 0.001,
"category": 522.789,
"detail": 540.128,
"player": 516.715,
"url_check": 250.239,
"total": 1836.094
},
"counts": {
"classes": 6,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "125510",
"flag": "自营1线",
"play_id": "125510-1-1"
},
"player": {
"parse": 0,
"url": "https://y6fb.vhmzy.com/videos/202607/29/6a69eeadf8a09edc5378e021/d27d20/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://y6fb.vhmzy.com/videos/202607/29/6a69eeadf8a09edc5378e021/d27d20/index.m3u8",
"reason": null
}
},
{
"spider": "海纳TV",
"file": "海纳TV.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.662,
"init": 0.001,
"home": 5421.033,
"category": 5301.066,
"detail": 5996.915,
"player": 4004.324,
"url_check": 394.973,
"total": 21124.518
},
"counts": {
"classes": 4,
"category_videos": 36,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "2",
"vod_id": "45478",
"flag": "海纳云端",
"play_id": "45478-1-1"
},
"player": {
"parse": 0,
"url": "https://jx.hainatv.net/hn/stray/7580bfc3d003b268f196b2714e715734.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://jx.hainatv.net/hn/stray/7580bfc3d003b268f196b2714e715734.m3u8",
"reason": null
}
},
{
"spider": "清沅4K",
"file": "清沅4K.txt",
"success": false,
"failed_stage": "home",
"error": "分类列表为空",
"traceback": null,
"timings_ms": {
"module_load": 8.882,
"init": 251.443,
"home": 281.789,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 542.647
},
"counts": {
"classes": 0,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": null,
"vod_id": null,
"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": 4.982,
"init": 0.001,
"home": 0.001,
"category": 533.939,
"detail": 569.018,
"player": 0.005,
"url_check": 997.091,
"total": 2105.894
},
"counts": {
"classes": 5,
"category_videos": 48,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "3618",
"flag": "百度",
"play_id": "https://pan.baidu.com/s/1ncq9NSTC6WaRNvcg8nLNoQ?pwd=qsjs"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1ncq9NSTC6WaRNvcg8nLNoQ?pwd=qsjs",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=ncq9NSTC6WaRNvcg8nLNoQ&pwd=qsjs",
"reason": null
}
},
{
"spider": "潮流APP",
"file": "潮流APP.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.112,
"init": 0.002,
"home": 83.269,
"category": 93.853,
"detail": 129.057,
"player": 303.456,
"url_check": 61.37,
"total": 676.733
},
"counts": {
"classes": 10,
"category_videos": 12,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "10",
"vod_id": "75852",
"flag": "线路二 (点击换线)",
"play_id": "75852@@0@@0"
},
"player": {
"parse": 0,
"url": "http://111.170.9.52:9090/nby/m3u8/getM3u8?name=jx.91by.top&time=1785561518385&url=NBY-c6d046002ed1d767bee10e93ee7f1ff8.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://111.170.9.52:9090/nby/m3u8/getM3u8?name=jx.91by.top&time=1785561518385&url=NBY-c6d046002ed1d767bee10e93ee7f1ff8.m3u8",
"reason": null
}
},
{
"spider": "灯泡影视",
"file": "灯泡影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.024,
"init": 0.0,
"home": 0.001,
"category": 1449.348,
"detail": 1451.542,
"player": 0.007,
"url_check": 688.698,
"total": 3595.186
},
"counts": {
"classes": 4,
"category_videos": 98,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "",
"vod_id": "7932",
"flag": "百度",
"play_id": "push://https://pan.baidu.com/s/1Lc37qEn__n4rPbFlttjBtg?pwd=a85n"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1Lc37qEn__n4rPbFlttjBtg?pwd=a85n",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/s/1Lc37qEn__n4rPbFlttjBtg?pwd=a85n",
"reason": null
}
},
{
"spider": "热播之家",
"file": "热播之家.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 7.135,
"init": 0.001,
"home": 345.447,
"category": 275.097,
"detail": 286.149,
"player": 267.299,
"url_check": 163.524,
"total": 1345.467
},
"counts": {
"classes": 5,
"category_videos": 12,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "3618",
"flag": "夸克网盘",
"play_id": "/play/3618-1-1.html"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/c1b1ad7d704d",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/c1b1ad7d704d",
"reason": null
}
},
{
"spider": "爱壹帆",
"file": "爱壹帆.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.013,
"init": 0.001,
"home": 0.001,
"category": 1408.644,
"detail": 561.844,
"player": 1476.649,
"url_check": 316.424,
"total": 3769.259
},
"counts": {
"classes": 4,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "125510",
"flag": "自营1线",
"play_id": "125510-1-1"
},
"player": {
"parse": 0,
"url": "https://y6fb.vhmzy.com/videos/202607/29/6a69eeadf8a09edc5378e021/d27d20/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://y6fb.vhmzy.com/videos/202607/29/6a69eeadf8a09edc5378e021/d27d20/index.m3u8",
"reason": null
}
},
{
"spider": "爱奇艺",
"file": "爱奇艺.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 13.629,
"init": 0.022,
"home": 4267.939,
"category": 358.562,
"detail": 177.314,
"player": 0.001,
"url_check": 86.586,
"total": 4904.575
},
"counts": {
"classes": 11,
"category_videos": 60,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "pcw:1",
"vod_id": "pcw:1$1677027978287300",
"flag": "爱奇艺",
"play_id": "http://www.iqiyi.com/v_f8vqoglbxk.html"
},
"player": {
"parse": 1,
"url": "http://www.iqiyi.com/v_f8vqoglbxk.html",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://www.iqiyi.com/v_f8vqoglbxk.html",
"reason": null
}
},
{
"spider": "片库",
"file": "片库.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 7.73,
"init": 0.084,
"home": 0.001,
"category": 1298.447,
"detail": 0.004,
"player": 0.002,
"url_check": 130.031,
"total": 1437.178
},
"counts": {
"classes": 7,
"category_videos": 20,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "genre",
"vod_id": "msearch:movie-969681",
"flag": "Test",
"play_id": "Test"
},
"player": {
"parse": 0,
"url": "https://v.qq.com/",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://v.qq.com/",
"reason": null
}
},
{
"spider": "独播库",
"file": "独播库.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 7.394,
"init": 0.001,
"home": 0.001,
"category": 394.544,
"detail": 384.359,
"player": 403.21,
"url_check": 343.632,
"total": 1534.027
},
"counts": {
"classes": 6,
"category_videos": 48,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "index",
"vod_id": "148428",
"flag": "独播库",
"play_id": "148428-1-1"
},
"player": {
"parse": 0,
"url": "https://vid.dbokutv.com/20260728/ppotb62-S71lT2yliZApDBSvkYzBsrmD3fpCJ4nBsHcTcyo5xOy6ejUNHvBJ0nBJ0pDqGrC38mHYvjS34/chunklist.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vid.dbokutv.com/20260728/ppotb62-S71lT2yliZApDBSvkYzBsrmD3fpCJ4nBsHcTcyo5xOy6ejUNHvBJ0nBJ0pDqGrC38mHYvjS34/chunklist.m3u8",
"reason": null
}
},
{
"spider": "猫猫4K",
"file": "猫猫4K.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.326,
"init": 218.346,
"home": 309.256,
"category": 176.283,
"detail": 167.219,
"player": 154.821,
"url_check": 924.085,
"total": 3120.913
},
"counts": {
"classes": 5,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "198943",
"flag": "火猫备用R",
"play_id": "https://svip.ryplay14.com/20260731/17694_2ba479f6/index.m3u8@@@rym3u8"
},
"player": {
"parse": 0,
"url": "https://svip.ryplay14.com/20260731/17694_2ba479f6/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://svip.ryplay14.com/20260731/17694_2ba479f6/index.m3u8",
"reason": null
}
},
{
"spider": "王子4K",
"file": "王子4K.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.136,
"init": 0.003,
"home": 642.696,
"category": 451.71,
"detail": 837.721,
"player": 0.008,
"url_check": 903.026,
"total": 2842.013
},
"counts": {
"classes": 5,
"category_videos": 30,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "413942",
"flag": "RY线路",
"play_id": "RY线路@@direct@@,https://svip.ryplay14.com/20260731/17698_e84d25dd/index.m3u8,token+,1,0"
},
"player": {
"parse": 0,
"url": "https://svip.ryplay14.com/20260731/17698_e84d25dd/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://svip.ryplay14.com/20260731/17698_e84d25dd/index.m3u8",
"reason": null
}
},
{
"spider": "玩偶哥哥",
"file": "玩偶哥哥.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 8.885,
"init": 0.001,
"home": 0.001,
"category": 1277.309,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 2734.962
},
"counts": {
"classes": 8,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "1",
"vod_id": null,
"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": 51.51,
"init": 0.001,
"home": 3.946,
"category": 1477.408,
"detail": 462.196,
"player": 0.003,
"url_check": 1134.177,
"total": 4523.536
},
"counts": {
"classes": 11,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "site_duoduo",
"vod_id": "site:duoduo:/index.php/vod/detail/id/9573.html",
"flag": "百度#多多",
"play_id": "https://pan.baidu.com/s/1H2lDz4zwRU8sHkIhwMfmvA?pwd=yyds"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1H2lDz4zwRU8sHkIhwMfmvA?pwd=yyds",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=H2lDz4zwRU8sHkIhwMfmvA&pwd=yyds",
"reason": null
}
},
{
"spider": "瓜子",
"file": "瓜子.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.321,
"init": 0.001,
"home": 0.02,
"category": 614.918,
"detail": 876.703,
"player": 454.502,
"url_check": 635.614,
"total": 2588.19
},
"counts": {
"classes": 5,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "145873",
"flag": "1080",
"play_id": "vod_d_id=145873&vurl_id=4208255&domain_type=8&resolution=1080&type=play"
},
"player": {
"parse": 0,
"url": "https://app.wanglaoshi.xn--fiqs8s/hls/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://app.wanglaoshi.xn--fiqs8s/hls/index.m3u8",
"reason": null
}
},
{
"spider": "甜圈漫剧",
"file": "甜圈漫剧.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 5.672,
"init": 86.466,
"home": 0.015,
"category": 323.551,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 743.462
},
"counts": {
"classes": 67,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "热剧榜",
"vod_id": null,
"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": 5.465,
"init": 0.002,
"home": 0.001,
"category": 2792.752,
"detail": 9221.982,
"player": 886.49,
"url_check": 1682.478,
"total": 14589.595
},
"counts": {
"classes": 5,
"category_videos": 24,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "dianying",
"vod_id": "movie/6a6a5ff5d518d513a4b0e5f3-38389.html",
"flag": "超级线路",
"play_id": "{\"title\":\"1080p首发\",\"origin\":\"超级线路\",\"page\":\"https://huahaiyy.com/movie/6a6a5ff5d518d513a4b0e5f3/38389.html?origin=%E8%B6%85%E7%BA%A7%E7%BA%BF%E8%B7%AF&p=0\",\"vodName\":\"蜘蛛侠:崭新之日\",\"pic\":\"https://huahaiyy.com/img/id/6a6a5ff5d518d513a4b0e5f3.jpg\"}"
},
"player": {
"parse": 0,
"url": "https://huahaiyy.com/api/m3u8?origin=%E8%B6%85%E7%BA%A7%E7%BA%BF%E8%B7%AF&url=6a6a70a93088a2aaf25a02a4",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://box.dyrs.com.de/api/super?id=6a6a70a93088a2aaf25a02a4&origin=%E8%B6%85%E7%BA%A7%E7%BA%BF%E8%B7%AF",
"reason": null
}
},
{
"spider": "电影天堂",
"file": "电影天堂.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.221,
"init": 156.506,
"home": 349.147,
"category": 120.687,
"detail": 149.024,
"player": 160.32,
"url_check": 46.577,
"total": 991.325
},
"counts": {
"classes": 9,
"category_videos": 21,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "2",
"vod_id": "9264",
"flag": "超级无敌4K",
"play_id": "eyJ2b2RQbGF5RnJvbSI6ICJLc3ZpZGVvIiwgInBsYXlVcmwiOiAiS3N2aWRlby1hZWQ0NjNmYTc2ZmZiODM0ZjFhYTMzODE0ZjIzMGY1MGJmZDA0NTIwNWMzNGM4MWVhYmE2OTNhMDMyYzAwMGY2OWVjZDFjNmFlMzJiY2RkMDY1NjVjMzc2OTZiMjZiMmMzYWQzY2QxMDExNzEzMmZjNDM3YjU2NmIxOTNhNDMzYjBjNjdlYWQwZDA2ZTAyM2RmY2JlMjNiN2Y3NTJiYWY5YTIxZmIyNzE4MmRhNTk3OTNhY2FjYWNkZDBlNmM1NGExMGU2YjhkMjU0N2I5MjA2MjFkZTZiZjE2NzdhZmM1ZjFlMGE5OGIyNzU5N2UzMzJhNzcxYTBiMmU5ZGIxMDcxNTc4NWIxMTk2MWY1ZjQwNGQ2NDMxMjMzYTEzYTFiMDEifQ=="
},
"player": {
"parse": 0,
"url": "https://onvideo-safety.ssscdn.com/ksc2/q4X0QyvN3Df7izD7LpDLAzwCZ858oQ5TehcHAUogQPIFhOD3Nud4e3w6VEe34SqSVlqn0P0gvTHsJMc_Wi_QU-XExaXHh5hYrDDM3JXmUKt-snWTRzPDnx9zpRTVV76fq25QeZB94QF8AMNdBz1HIUyzUVp12KjN_uAdYr2mKgUbR_vb26RLdEFtk9HpDO4R.m3u8?pkey=AAVPFHHVJVDH8BNNVhi5UiZ8gg6wB39QT9n-vHYDIJvS_JUJZ6n92rJs9qQFC7lkPOd8gY-V_-bZ4yGeaJSVZdGWaGMbZVOS1enbLpQ3T2gS6VPHYqwGuwktu6UQMaCNhgM",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://onvideo-safety.ssscdn.com/ksc2/q4X0QyvN3Df7izD7LpDLAzwCZ858oQ5TehcHAUogQPIFhOD3Nud4e3w6VEe34SqSVlqn0P0gvTHsJMc_Wi_QU-XExaXHh5hYrDDM3JXmUKt-snWTRzPDnx9zpRTVV76fq25QeZB94QF8AMNdBz1HIUyzUVp12KjN_uAdYr2mKgUbR_vb26RLdEFtk9HpDO4R.m3u8?pkey=AAVPFHHVJVDH8BNNVhi5UiZ8gg6wB39QT9n-vHYDIJvS_JUJZ6n92rJs9qQFC7lkPOd8gY-V_-bZ4yGeaJSVZdGWaGMbZVOS1enbLpQ3T2gS6VPHYqwGuwktu6UQMaCNhgM",
"reason": null
}
},
{
"spider": "百度短剧",
"file": "百度短剧.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.61,
"init": 0.001,
"home": 380.342,
"category": 251.721,
"detail": 1006.465,
"player": 248.27,
"url_check": 186.171,
"total": 2080.203
},
"counts": {
"classes": 29,
"category_videos": 9,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "3",
"vod_id": "10284595040762396431",
"flag": "百度短剧[短]",
"play_id": "4723147730512611191|||10284595040762396431"
},
"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",
"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",
"reason": null
}
},
{
"spider": "盘Ta",
"file": "盘Ta.txt",
"success": false,
"failed_stage": "unexpected",
"error": "('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))",
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 488, in _make_request\n raise new_e\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 464, in _make_request\n self._validate_conn(conn)\n ~~~~~~~~~~~~~~~~~~~^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 1093, in _validate_conn\n conn.connect()\n ~~~~~~~~~~~~^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 796, in connect\n sock_and_verified = _ssl_wrap_socket_and_match_hostname(\n sock=sock,\n ...<14 lines>...\n assert_fingerprint=self.assert_fingerprint,\n )\nConnectionResetError: [Errno 104] Connection reset by peer\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/requests/adapters.py\", line 645, in send\n resp = conn.urlopen(\n method=request.method,\n ...<9 lines>...\n chunked=chunked,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 841, in urlopen\n retries = retries.increment(\n method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/retry.py\", line 490, in increment\n raise reraise(type(error), error, _stacktrace)\n ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/util.py\", line 38, in reraise\n raise value.with_traceback(tb)\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\nurllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 756, 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 318, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/盘Ta.txt\", line 230, in homeContent\n File \"/home/harold/workspace/tvbox-resources/py/盘Ta.txt\", line 70, in _request_html\n File \"/home/harold/workspace/atv-spiders/py/base/spider.py\", line 145, in fetch\n rsp = requests.get(url, params=params, cookies=cookies, headers=headers, timeout=timeout, verify=verify,\n stream=stream, allow_redirects=allow_redirects)\nrequests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n",
"timings_ms": {
"module_load": 6.134,
"init": 0.001,
"home": 2966.564,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 2975.259
},
"counts": {
"classes": 0,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": null,
"vod_id": null,
"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.244,
"init": 0.001,
"home": 0.001,
"category": 263.151,
"detail": 282.629,
"player": 273.043,
"url_check": 957.34,
"total": 1784.44
},
"counts": {
"classes": 4,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "/",
"vod_id": "135692",
"flag": "百度1",
"play_id": "push://https://www.seedhub.cc/link_start/?redirect_to=pan_id_677285&movie_title=【金特务:本色回归】【1080P/超清】【中文字幕】【无水印】 昨天"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1S6KyT5-QHzkrpccDbSforg?pwd=evjc",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=S6KyT5-QHzkrpccDbSforg&pwd=evjc",
"reason": null
}
},
{
"spider": "盘链",
"file": "盘链.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 13.968,
"init": 0.091,
"home": 0.001,
"category": 1662.241,
"detail": 462.981,
"player": 745.33,
"url_check": 214.292,
"total": 3100.335
},
"counts": {
"classes": 5,
"category_videos": 30,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "0",
"vod_id": "-75747",
"flag": "百度",
"play_id": "push://https://www.xn--vzy265d.cc/api/go.php?t=bjgri86bSZvJ2q1jDpk63va6xdNsQaeUZAG9rhOAKhykR4-J9AX2VNjWE4lYi-9vTPtno9Zh7YVmZjWV3OymLeCUL7WtMgY58aeyqbZViaVzou4vCKskkSlQkrc172Qo0ag1fnNitW7KJs46Xymb0mBy0_ur6wiVEZasG6IhCikL0vtTjJoyOQazrq3USIFOhNrcABIbPa6vg8G5Q1lvRT2SxvXb-YeaOxa2kE1TNRs"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/wap/error?errortype=3&surl=zCwiO7rft7IhEUCUGUvjpA",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/wap/error?errortype=3&surl=zCwiO7rft7IhEUCUGUvjpA",
"reason": null
}
},
{
"spider": "短剧优选",
"file": "短剧优选.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 31.655,
"init": 542.904,
"home": 335.523,
"category": 442.689,
"detail": 330.735,
"player": 0.004,
"url_check": 49.886,
"total": 1734.025
},
"counts": {
"classes": 17,
"category_videos": 72,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "七猫",
"vod_id": "七猫@9193",
"flag": "七猫短剧",
"play_id": "https://cdn-vod-playlet.wtzw.com/asset/1767000637e5ae01741cf0fc70b9b21b/play_multi_video/6f7310c287644b7c813ab8e2eb7a4a0c/950b0e87416d186247c24505473f5853.m3u8"
},
"player": {
"parse": 0,
"url": "https://cdn-vod-playlet.wtzw.com/asset/1767000637e5ae01741cf0fc70b9b21b/play_multi_video/6f7310c287644b7c813ab8e2eb7a4a0c/950b0e87416d186247c24505473f5853.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://cdn-vod-playlet.wtzw.com/asset/1767000637e5ae01741cf0fc70b9b21b/play_multi_video/6f7310c287644b7c813ab8e2eb7a4a0c/950b0e87416d186247c24505473f5853.m3u8",
"reason": null
}
},
{
"spider": "短剧网",
"file": "短剧网.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.714,
"init": 0.001,
"home": 0.001,
"category": 347.196,
"detail": 354.236,
"player": 0.006,
"url_check": 1088.136,
"total": 1795.975
},
"counts": {
"classes": 2,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "https://sm3.cc/?id=68281",
"flag": "百度",
"play_id": "https://pan.baidu.com/s/1XN9tElzkUgm3wjPgxvGUqw?pwd=6666"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1XN9tElzkUgm3wjPgxvGUqw?pwd=6666",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=XN9tElzkUgm3wjPgxvGUqw&pwd=6666",
"reason": null
}
},
{
"spider": "磁力熊",
"file": "磁力熊.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 7.181,
"init": 0.004,
"home": 0.008,
"category": 813.314,
"detail": 779.874,
"player": 0.004,
"url_check": 0.057,
"total": 1600.891
},
"counts": {
"classes": 24,
"category_videos": 16,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "movie",
"vod_id": "movie/4728",
"flag": "磁力·1080P",
"play_id": "magnet:?xt=urn:btih:CC9D3C3B9BD8E377E528D791503CF9F96087C34B"
},
"player": {
"parse": 0,
"url": "magnet:?xt=urn:btih:CC9D3C3B9BD8E377E528D791503CF9F96087C34B",
"valid": true,
"reachable": null,
"status_code": null,
"final_url": "magnet:?xt=urn:btih:CC9D3C3B9BD8E377E528D791503CF9F96087C34B",
"reason": "非 HTTP 地址,按协议格式通过"
}
},
{
"spider": "糯米",
"file": "糯米.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 6.608,
"init": 0.001,
"home": 231.922,
"category": 228.696,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 760.069
},
"counts": {
"classes": 5,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "juji",
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "网易云音乐",
"file": "网易云音乐.txt",
"success": false,
"failed_stage": "player",
"error": "playerContent 未返回播放地址",
"traceback": null,
"timings_ms": {
"module_load": 2.931,
"init": 0.001,
"home": 389.436,
"category": 431.013,
"detail": 0.005,
"player": 369.336,
"url_check": 0.0,
"total": 2100.363
},
"counts": {
"classes": 62,
"category_videos": 100,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "/discover/toplist?id=3779629",
"vod_id": "3399839173@甲乙丙丁 (你我怎么两清)@李佳薇👉MP3",
"flag": "网易云音乐",
"play_id": "3399839173"
},
"player": {
"parse": 0,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "耐视点播",
"file": "耐视点播.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 6.118,
"init": 0.001,
"home": 0.0,
"category": 1855.558,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 3648.067
},
"counts": {
"classes": 6,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "2",
"vod_id": null,
"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": 6.056,
"init": 0.001,
"home": 96.558,
"category": 294.711,
"detail": 1202.38,
"player": 0.002,
"url_check": 231.595,
"total": 1831.928
},
"counts": {
"classes": 7,
"category_videos": 12,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "choice",
"vod_id": "choice$mzc00200nfe7al6",
"flag": "腾讯视频",
"play_id": "https://v.qq.com/x/cover/mzc00200nfe7al6/x4102k19oq6.html"
},
"player": {
"parse": 1,
"url": "https://v.qq.com/x/cover/mzc00200nfe7al6/x4102k19oq6.html",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://v.qq.com/x/cover/mzc00200nfe7al6/x4102k19oq6.html",
"reason": null
}
},
{
"spider": "至臻",
"file": "至臻.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.59,
"init": 0.001,
"home": 0.001,
"category": 1971.144,
"detail": 384.227,
"player": 0.003,
"url_check": 1342.051,
"total": 3706.53
},
"counts": {
"classes": 7,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "26",
"vod_id": "15748",
"flag": "百度#至臻",
"play_id": "https://pan.baidu.com/s/1EcCVijyLdr-reYx5WuzxcA?pwd=9wan"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1EcCVijyLdr-reYx5WuzxcA?pwd=9wan",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=EcCVijyLdr-reYx5WuzxcA&pwd=9wan",
"reason": null
}
},
{
"spider": "苹果",
"file": "苹果.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.912,
"init": 184.586,
"home": 370.816,
"category": 121.358,
"detail": 149.722,
"player": 164.417,
"url_check": 54.735,
"total": 1052.516
},
"counts": {
"classes": 9,
"category_videos": 21,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "2",
"vod_id": "9264",
"flag": "超级无敌4K",
"play_id": "eyJ2b2RQbGF5RnJvbSI6ICJLc3ZpZGVvIiwgInBsYXlVcmwiOiAiS3N2aWRlby1hZWQ0NjNmYTc2ZmZiODM0ZjFhYTMzODE0ZjIzMGY1MGJmZDA0NTIwNWMzNGM4MWVhYmE2OTNhMDMyYzAwMGY2OWVjZDFjNmFlMzJiY2RkMDY1NjVjMzc2OTZiMjZiMmMzYWQzY2QxMDExNzEzMmZjNDM3YjU2NmIxOTNhNDMzYjBjNjdlYWQwZDA2ZTAyM2RmY2JlMjNiN2Y3NTJiYWY5YTIxZmIyNzE4MmRhNTk3OTNhY2FjYWNkZDBlNmM1NGExMGU2YjhkMjU0N2I5MjA2MjFkZTZiZjE2NzdhZmM1ZjFlMGE5OGIyNzU5N2UzMzJhNzcxYTBiMmU5ZGIxMDcxNTc4NWIxMTk2MWY1ZjQwNGQ2NDMxMjMzYTEzYTFiMDEifQ=="
},
"player": {
"parse": 0,
"url": "https://onvideo-safety.ssscdn.com/ksc2/q4X0QyvN3Df7izD7LpDLAzwCZ858oQ5TehcHAUogQPIFhOD3Nud4e3w6VEe34SqSVlqn0P0gvTHsJMc_Wi_QU-XExaXHh5hYrDDM3JXmUKt-snWTRzPDnx9zpRTVV76fq25QeZB94QF8AMNdBz1HIUyzUVp12KjN_uAdYr2mKgUbR_vb26RLdEFtk9HpDO4R.m3u8?pkey=AAVPFHHVJVDH8BNNVhi5UiZ8gg6wB39QT9n-vHYDIJvS_JUJZ6n92rJs9qQFC7lkPOd8gY-V_-bZ4yGeaJSVZdGWaGMbZVOS1enbLpQ3T2gS6VPHYqwGuwktu6UQMaCNhgM",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://onvideo-safety.ssscdn.com/ksc2/q4X0QyvN3Df7izD7LpDLAzwCZ858oQ5TehcHAUogQPIFhOD3Nud4e3w6VEe34SqSVlqn0P0gvTHsJMc_Wi_QU-XExaXHh5hYrDDM3JXmUKt-snWTRzPDnx9zpRTVV76fq25QeZB94QF8AMNdBz1HIUyzUVp12KjN_uAdYr2mKgUbR_vb26RLdEFtk9HpDO4R.m3u8?pkey=AAVPFHHVJVDH8BNNVhi5UiZ8gg6wB39QT9n-vHYDIJvS_JUJZ6n92rJs9qQFC7lkPOd8gY-V_-bZ4yGeaJSVZdGWaGMbZVOS1enbLpQ3T2gS6VPHYqwGuwktu6UQMaCNhgM",
"reason": null
}
},
{
"spider": "茶杯狐",
"file": "茶杯狐.txt",
"success": false,
"failed_stage": "home",
"error": "分类列表为空",
"traceback": null,
"timings_ms": {
"module_load": 5.595,
"init": 0.001,
"home": 264.548,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 270.299
},
"counts": {
"classes": 0,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": null,
"vod_id": null,
"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": 5.051,
"init": 210.389,
"home": 307.64,
"category": 114.835,
"detail": 149.83,
"player": 159.557,
"url_check": 50.086,
"total": 998.4
},
"counts": {
"classes": 9,
"category_videos": 21,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "2",
"vod_id": "9264",
"flag": "超级无敌4K",
"play_id": "eyJ2b2RQbGF5RnJvbSI6ICJLc3ZpZGVvIiwgInBsYXlVcmwiOiAiS3N2aWRlby1hZWQ0NjNmYTc2ZmZiODM0ZjFhYTMzODE0ZjIzMGY1MGJmZDA0NTIwNWMzNGM4MWVhYmE2OTNhMDMyYzAwMGY2OWVjZDFjNmFlMzJiY2RkMDY1NjVjMzc2OTZiMjZiMmMzYWQzY2QxMDExNzEzMmZjNDM3YjU2NmIxOTNhNDMzYjBjNjdlYWQwZDA2ZTAyM2RmY2JlMjNiN2Y3NTJiYWY5YTIxZmIyNzE4MmRhNTk3OTNhY2FjYWNkZDBlNmM1NGExMGU2YjhkMjU0N2I5MjA2MjFkZTZiZjE2NzdhZmM1ZjFlMGE5OGIyNzU5N2UzMzJhNzcxYTBiMmU5ZGIxMDcxNTc4NWIxMTk2MWY1ZjQwNGQ2NDMxMjMzYTEzYTFiMDEifQ=="
},
"player": {
"parse": 0,
"url": "https://onvideo-safety.ssscdn.com/ksc2/q4X0QyvN3Df7izD7LpDLAzwCZ858oQ5TehcHAUogQPIFhOD3Nud4e3w6VEe34SqSVlqn0P0gvTHsJMc_Wi_QU-XExaXHh5hYrDDM3JXmUKt-snWTRzPDnx9zpRTVV76fq25QeZB94QF8AMNdBz1HIUyzUVp12KjN_uAdYr2mKgUbR_vb26RLdEFtk9HpDO4R.m3u8?pkey=AAVPFHHVJVDH8BNNVhi5UiZ8gg6wB39QT9n-vHYDIJvS_JUJZ6n92rJs9qQFC7lkPOd8gY-V_-bZ4yGeaJSVZdGWaGMbZVOS1enbLpQ3T2gS6VPHYqwGuwktu6UQMaCNhgM",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://onvideo-safety.ssscdn.com/ksc2/q4X0QyvN3Df7izD7LpDLAzwCZ858oQ5TehcHAUogQPIFhOD3Nud4e3w6VEe34SqSVlqn0P0gvTHsJMc_Wi_QU-XExaXHh5hYrDDM3JXmUKt-snWTRzPDnx9zpRTVV76fq25QeZB94QF8AMNdBz1HIUyzUVp12KjN_uAdYr2mKgUbR_vb26RLdEFtk9HpDO4R.m3u8?pkey=AAVPFHHVJVDH8BNNVhi5UiZ8gg6wB39QT9n-vHYDIJvS_JUJZ6n92rJs9qQFC7lkPOd8gY-V_-bZ4yGeaJSVZdGWaGMbZVOS1enbLpQ3T2gS6VPHYqwGuwktu6UQMaCNhgM",
"reason": null
}
},
{
"spider": "虎斑",
"file": "虎斑.txt",
"success": false,
"failed_stage": "category",
"error": "HTTPConnectionPool(host='103.217.192.130', port=16969): Max retries exceeded with url: /index.php/vod/show/id/2/page/1.html (Caused by NewConnectionError(\"HTTPConnection(host='103.217.192.130', port=16969): Failed to establish a new connection: [Errno 111] Connection refused\"))",
"traceback": null,
"timings_ms": {
"module_load": 7.673,
"init": 0.001,
"home": 0.001,
"category": 31.415,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 72.69
},
"counts": {
"classes": 7,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "2",
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "蜗牛",
"file": "蜗牛.txt",
"success": false,
"failed_stage": "detail",
"error": "详情缺少播放源或播放列表",
"traceback": null,
"timings_ms": {
"module_load": 7.44,
"init": 613.724,
"home": 0.003,
"category": 410.171,
"detail": 440.732,
"player": 0.0,
"url_check": 0.0,
"total": 2379.351
},
"counts": {
"classes": 4,
"category_videos": 36,
"detail_videos": 1,
"episodes": 0
},
"samples": {
"tid": "2",
"vod_id": "19009",
"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": 8.263,
"init": 0.001,
"home": 0.001,
"category": 1961.636,
"detail": 686.237,
"player": 0.003,
"url_check": 1519.463,
"total": 4176.179
},
"counts": {
"classes": 7,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "29",
"vod_id": "10585",
"flag": "百度#蜡笔",
"play_id": "https://pan.baidu.com/s/1FQuKNxcryYV_-a_VY43GPw?pwd=gbpz"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1FQuKNxcryYV_-a_VY43GPw?pwd=gbpz",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=FQuKNxcryYV_-a_VY43GPw&pwd=gbpz",
"reason": null
}
},
{
"spider": "蜻蜓FM",
"file": "蜻蜓FM.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.435,
"init": 0.001,
"home": 517.971,
"category": 502.141,
"detail": 0.007,
"player": 0.002,
"url_check": 347.931,
"total": 1372.846
},
"counts": {
"classes": 44,
"category_videos": 12,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "217",
"vod_id": "1259@@广东珠江经济电台@@https://pic.qtfm.cn/2015/0209/20150209212831195.jpg@@正在直播: 健康知多D",
"flag": "蜻蜓FM",
"play_id": "1259"
},
"player": {
"parse": 0,
"url": "http://lhttp.qtfm.cn/live/1259/64k.mp3",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://lhttp.qtfm.cn/live/1259/64k.mp3",
"reason": null
}
},
{
"spider": "袋鼠影视",
"file": "袋鼠影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.601,
"init": 0.001,
"home": 0.001,
"category": 1611.927,
"detail": 586.336,
"player": 604.688,
"url_check": 1065.056,
"total": 3875.371
},
"counts": {
"classes": 4,
"category_videos": 36,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "422175",
"flag": "蓝光专线4",
"play_id": "play/422175-2-0"
},
"player": {
"parse": 0,
"url": "https://vip.dytt-network.com/20260801/36961_a0a6d7cc/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vip.dytt-network.com/20260801/36961_a0a6d7cc/index.m3u8",
"reason": null
}
},
{
"spider": "观影",
"file": "观影.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 9.734,
"init": 0.005,
"home": 0.001,
"category": 0.003,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 10.932
},
"counts": {
"classes": 6,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "tv",
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "视界",
"file": "视界.txt",
"success": false,
"failed_stage": "unexpected",
"error": "HTTPSConnectionPool(host='cms140.yhg.one', 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='cms140.yhg.one', 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 756, 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 318, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/视界.txt\", line 72, in homeContent\n File \"/home/harold/workspace/tvbox-resources/py/视界.txt\", line 400, in _ensure_init_payload\n File \"/home/harold/workspace/tvbox-resources/py/视界.txt\", line 199, in _post_api\nrequests.exceptions.ReadTimeout: HTTPSConnectionPool(host='cms140.yhg.one', port=443): Read timed out. (read timeout=10)\n",
"timings_ms": {
"module_load": 7.315,
"init": 0.001,
"home": 10015.535,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 10025.37
},
"counts": {
"classes": 0,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": null,
"vod_id": null,
"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": 9.66,
"init": 0.027,
"home": 411.197,
"category": 722.318,
"detail": 353.645,
"player": 0.004,
"url_check": 1109.319,
"total": 2606.844
},
"counts": {
"classes": 4,
"category_videos": 20,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "cms:feifan:98850",
"flag": "非凡资源",
"play_id": "https://vip.ffzy-play9.com/20260801/46848_66a18289/index.m3u8"
},
"player": {
"parse": 0,
"url": "https://vip.ffzy-play9.com/20260801/46848_66a18289/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vip.ffzy-play9.com/20260801/46848_66a18289/index.m3u8",
"reason": null
}
},
{
"spider": "路漫漫",
"file": "路漫漫.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 5.129,
"init": 0.001,
"home": 0.001,
"category": 417.195,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 2401.527
},
"counts": {
"classes": 6,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "7",
"vod_id": null,
"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": 5.517,
"init": 0.001,
"home": 0.001,
"category": 245.478,
"detail": 644.644,
"player": 2368.412,
"url_check": 979.17,
"total": 4244.073
},
"counts": {
"classes": 7,
"category_videos": 16,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "movie",
"vod_id": "39017529",
"flag": "【无广③】",
"play_id": "39017529-1-1"
},
"player": {
"parse": 0,
"url": "https://super.ffzy-online6.com/20260731/37763_d0cbb81e/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://super.ffzy-online6.com/20260731/37763_d0cbb81e/index.m3u8",
"reason": null
}
},
{
"spider": "酷我听书",
"file": "酷我听书.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.748,
"init": 0.001,
"home": 400.117,
"category": 107.868,
"detail": 3066.108,
"player": 137.805,
"url_check": 27.089,
"total": 3745.962
},
"counts": {
"classes": 4,
"category_videos": 21,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "2",
"vod_id": "13492273",
"flag": "酷我听书",
"play_id": "free|94448942"
},
"player": {
"parse": 0,
"url": "http://car-lv.kuwo.cn/9e95480b12bf958cc15de149ff00fd4d/6a6d81b8/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://car-lv.kuwo.cn/9e95480b12bf958cc15de149ff00fd4d/6a6d81b8/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
}
},
{
"spider": "酷狗音乐",
"file": "酷狗音乐.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.521,
"init": 420.301,
"home": 249.998,
"category": 276.078,
"detail": 295.789,
"player": 273.866,
"url_check": 45.992,
"total": 1572.009
},
"counts": {
"classes": 12,
"category_videos": 15,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "recommend",
"vod_id": "557798490",
"flag": "酷狗音乐",
"play_id": "557798490"
},
"player": {
"parse": 0,
"url": "http://fsdg360.tx.kugou.com/202608011318/e1a6652a76908832b498c3ebf602b562/v3/01c0a8a203fabd53b56a9fe473f3f92e/yp/full/ap1013_us0_mic85f71c379c462618de1399950957c33_pi6101_mx557798490_qumultitrack_s2488353099.mkv?ft=car_203559_10049&fts=b05bb02d44717442054bac7624ed9a29&ext=.mkv",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://fsdg360.tx.kugou.com/202608011318/e1a6652a76908832b498c3ebf602b562/v3/01c0a8a203fabd53b56a9fe473f3f92e/yp/full/ap1013_us0_mic85f71c379c462618de1399950957c33_pi6101_mx557798490_qumultitrack_s2488353099.mkv?ft=car_203559_10049&fts=b05bb02d44717442054bac7624ed9a29&ext=.mkv",
"reason": null
}
},
{
"spider": "金牌",
"file": "金牌.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.252,
"init": 0.001,
"home": 618.395,
"category": 219.608,
"detail": 203.078,
"player": 222.876,
"url_check": 630.78,
"total": 1901.038
},
"counts": {
"classes": 5,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "145512",
"flag": "金牌线路",
"play_id": "145512@1298790"
},
"player": {
"parse": 0,
"url": "https://ppvod011.blbtgg.com/splitOut/20260705/1342569/V20260705110331438911342569/index.m3u8?auth_key=1785561525-c3ac5faa2dd94f64be461c6f69baef56-0-2552febe5fc6727c8630b60b0676f7f9",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://ppvod011.blbtgg.com/splitOut/20260705/1342569/V20260705110331438911342569/index.m3u8?auth_key=1785561525-c3ac5faa2dd94f64be461c6f69baef56-0-2552febe5fc6727c8630b60b0676f7f9",
"reason": null
}
},
{
"spider": "长泽",
"file": "长泽.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.58,
"init": 0.013,
"home": 140.98,
"category": 103.421,
"detail": 81.513,
"player": 0.014,
"url_check": 1016.578,
"total": 1350.027
},
"counts": {
"classes": 18,
"category_videos": 21,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "20",
"vod_id": "93210",
"flag": "FF有广",
"play_id": "app88:WyJodHRwczovL3ZpcC5mZnp5LXBsYXk5LmNvbS8yMDI2MDczMS80Njg0NF9hYTk4ZWQ4ZC9pbmRleC5tM3U4IiwiZmZtM3U4Iiwi6Zy4546L6Iqx5LmL55qH5a626LWM6Ii5IiwiMSJd"
},
"player": {
"parse": 0,
"url": "https://vip.ffzy-play9.com/20260731/46844_aa98ed8d/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vip.ffzy-play9.com/20260731/46844_aa98ed8d/index.m3u8",
"reason": null
}
},
{
"spider": "闪电",
"file": "闪电.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 9.077,
"init": 0.001,
"home": 0.001,
"category": 15352.799,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 26937.38
},
"counts": {
"classes": 5,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "2",
"vod_id": null,
"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.225,
"init": 0.003,
"home": 0.003,
"category": 2003.925,
"detail": 822.08,
"player": 0.007,
"url_check": 213.034,
"total": 3046.804
},
"counts": {
"classes": 7,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "42204681950354",
"vod_id": "66466",
"flag": "迅雷",
"play_id": "https://pan.xunlei.com/s/VOxGjKrL2zREw7pkB8aXhCvqA1"
},
"player": {
"parse": 0,
"url": "https://pan.xunlei.com/s/VOxGjKrL2zREw7pkB8aXhCvqA1",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.xunlei.com/s/VOxGjKrL2zREw7pkB8aXhCvqA1",
"reason": null
}
},
{
"spider": "韩圈",
"file": "韩圈.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 7.638,
"init": 0.003,
"home": 1754.018,
"category": 1199.645,
"detail": 4943.136,
"player": 1208.236,
"url_check": 158.41,
"total": 9271.72
},
"counts": {
"classes": 18,
"category_videos": 24,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "RWA1fjPgWNm7zDXWIV56",
"flag": "蓝光HDR",
"play_id": "RWA1fjPgWNm7zDXWIV56|||6ELTVL1fVx13oPB0teZtP|||sc_TnymrI9lPH6g6Ba2RnXE|||11"
},
"player": {
"parse": 0,
"url": "http://piccc.cdn.51touxiang.com/m3u8/2ePd4TGLqoackYBGnFxo66tx694g29pLJY5pkDQc.m3u8?pid=%2BibJyq87ptZYRmRqhIP%2FvdPpS8IkFbC44G%2FR8jMO89c%3D&utk=u_bYstpjDewEfNg7Qfvwx1&uk=f0vRs0mWZ8Q4NeOaqnzptBzBCFA8hAHZaPEf9u6Y3cw%3D&spl=213&t=1785561534&sign=6c55230d9d678347f4950bd6f0eb1fcb&ip=222.210.194.251",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://piccc.cdn.51touxiang.com/m3u8/2ePd4TGLqoackYBGnFxo66tx694g29pLJY5pkDQc.m3u8?pid=%2BibJyq87ptZYRmRqhIP%2FvdPpS8IkFbC44G%2FR8jMO89c%3D&utk=u_bYstpjDewEfNg7Qfvwx1&uk=f0vRs0mWZ8Q4NeOaqnzptBzBCFA8hAHZaPEf9u6Y3cw%3D&spl=213&t=1785561534&sign=6c55230d9d678347f4950bd6f0eb1fcb&ip=222.210.194.251",
"reason": null
}
},
{
"spider": "韩小圈",
"file": "韩小圈.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.997,
"init": 0.001,
"home": 0.001,
"category": 759.304,
"detail": 512.379,
"player": 0.003,
"url_check": 993.463,
"total": 2271.041
},
"counts": {
"classes": 5,
"category_videos": 20,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "0",
"vod_id": "48287",
"flag": "默认线路",
"play_id": "https://cdn.yzzy31-play.com/20260624/22254_8709c688/index.m3u8"
},
"player": {
"parse": 0,
"url": "https://cdn.yzzy31-play.com/20260624/22254_8709c688/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://cdn.yzzy31-play.com/20260624/22254_8709c688/index.m3u8",
"reason": null
}
},
{
"spider": "飞卢听书",
"file": "飞卢听书.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.48,
"init": 0.001,
"home": 0.001,
"category": 274.576,
"detail": 339.075,
"player": 0.002,
"url_check": 30.604,
"total": 648.155
},
"counts": {
"classes": 12,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "765",
"flag": "飞卢听书",
"play_id": "http://tss.faloo.com/ListenNode/0/765/1.mp3"
},
"player": {
"parse": 0,
"url": "http://tss.faloo.com/ListenNode/0/765/1.mp3",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://tss.faloo.com/ListenNode/0/765/1.mp3",
"reason": null
}
},
{
"spider": "飞快TV",
"file": "飞快TV.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.755,
"init": 0.001,
"home": 0.001,
"category": 1017.386,
"detail": 1021.968,
"player": 1102.819,
"url_check": 615.722,
"total": 3764.305
},
"counts": {
"classes": 4,
"category_videos": 40,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "251035",
"flag": "茅台资源1",
"play_id": "/vodplay/251035-5-1.html"
},
"player": {
"parse": 0,
"url": "https://vodcnd16.uvjtih.cn/20260731/Eas10nRF/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vodcnd16.uvjtih.cn/20260731/Eas10nRF/index.m3u8",
"reason": null
}
},
{
"spider": "魔方APP",
"file": "魔方APP.txt",
"success": false,
"failed_stage": "home",
"error": "分类列表为空",
"traceback": null,
"timings_ms": {
"module_load": 5.206,
"init": 0.004,
"home": 452.606,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 458.257
},
"counts": {
"classes": 0,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": null,
"vod_id": null,
"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": 3.969,
"init": 0.001,
"home": 0.001,
"category": 229.915,
"detail": 223.027,
"player": 0.017,
"url_check": 384.261,
"total": 842.103
},
"counts": {
"classes": 6,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "171427",
"flag": "LZ源",
"play_id": "eyJ1cmwiOiJodHRwczovL3YubHpjZG4yNy5jb20vMjAyNTA3MzEvNjc5XzUwYTJiMDQ3L2luZGV4Lm0zdTgiLCJwYXJzZV9hcGkiOiJodHRwczovL2RlbC5tdDMyMC5jb20vbHpmZi5waHA_dXJsPSIsImhlYWRlcnMiOnt9LCJ1c2VyX2FnZW50IjoiIn0="
},
"player": {
"parse": 0,
"url": "https://v.lzcdn27.com/20250731/679_50a2b047/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://v.lzcdn27.com/20250731/679_50a2b047/index.m3u8",
"reason": null
}
},
{
"spider": "黑猫APP",
"file": "黑猫APP.txt",
"success": false,
"failed_stage": "home",
"error": "分类列表为空",
"traceback": null,
"timings_ms": {
"module_load": 5.562,
"init": 0.001,
"home": 234.654,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 240.363
},
"counts": {
"classes": 0,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": null,
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
}
]
}