Files
tvboxzt/spider_validation.json
T
2026-07-28 09:20:11 +08:00

4781 lines
144 KiB
JSON

{
"generated_at": "2026-07-28T09:19:23+08:00",
"max_workers": 16,
"total_duration_ms": 44605.844,
"summary": {
"total": 122,
"success": 87,
"failed": 35,
"success_rate": 0.7131,
"stage_failures": {
"module_load": 0,
"init": 0,
"home": 6,
"category": 20,
"detail": 4,
"player": 1,
"url_check": 0,
"unexpected": 4
}
},
"results": [
{
"spider": "275听书",
"file": "275听书.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 127.189,
"init": 0.001,
"home": 0.006,
"category": 795.146,
"detail": 672.406,
"player": 751.596,
"url_check": 39.767,
"total": 2389.079
},
"counts": {
"classes": 20,
"category_videos": 12,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "latest",
"vod_id": "39349",
"flag": "275听书",
"play_id": "/play/39349/23442212.html"
},
"player": {
"parse": 0,
"url": "https://audiopay.cos.tx.xmcdn.com/download/1.0.0/storages/0164-audiopay/B7/11/GKwRIDoODnSnADjW9QSr4AY0.m4a?sign=b8772dceb6216e82c7fc77cfb688d09d&buy_key=FM&token=8375&timestamp=1785201548&duration=459",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://audiopay.cos.tx.xmcdn.com/download/1.0.0/storages/0164-audiopay/B7/11/GKwRIDoODnSnADjW9QSr4AY0.m4a?sign=b8772dceb6216e82c7fc77cfb688d09d&buy_key=FM&token=8375&timestamp=1785201548&duration=459",
"reason": null
}
},
{
"spider": "4KVM",
"file": "4KVM.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 157.071,
"init": 0.001,
"home": 540.407,
"category": 0.043,
"detail": 506.613,
"player": 1002.716,
"url_check": 573.442,
"total": 2787.441
},
"counts": {
"classes": 6,
"category_videos": 24,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "-1",
"vod_id": "ch4alqj33",
"flag": "alists",
"play_id": "35648|ch4alqj33"
},
"player": {
"parse": 0,
"url": "https://oss.douyinbit.com/m3u8/ca8eca69b6da9114bce341906bbf4cf6.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://oss.douyinbit.com/m3u8/ca8eca69b6da9114bce341906bbf4cf6.m3u8",
"reason": null
}
},
{
"spider": "4K指南",
"file": "4K指南.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 168.162,
"init": 0.001,
"home": 0.001,
"category": 1109.809,
"detail": 1123.031,
"player": 0.003,
"url_check": 167.977,
"total": 2570.03
},
"counts": {
"classes": 5,
"category_videos": 50,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "zuixin",
"vod_id": "20578",
"flag": "夸克网盘",
"play_id": "push://https://pan.quark.cn/s/2b0e7f9a0dc2"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/2b0e7f9a0dc2",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/2b0e7f9a0dc2",
"reason": null
}
},
{
"spider": "55短剧",
"file": "55短剧.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 182.829,
"init": 0.001,
"home": 0.001,
"category": 980.155,
"detail": 588.082,
"player": 537.426,
"url_check": 764.906,
"total": 3055.474
},
"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": 157.614,
"init": 0.004,
"home": 0.001,
"category": 797.681,
"detail": 789.106,
"player": 0.002,
"url_check": 0.052,
"total": 1746.019
},
"counts": {
"classes": 12,
"category_videos": 18,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "dianshiju/guoju",
"vod_id": "/dianshiju/guoju/29255.html",
"flag": "01-02.1080p.HD国语中字.mp4",
"play_id": "magnet:?xt=urn:btih:241276a04e77cd0f5c1f90cbbfececf5f7169da6&dn=%E6%88%90%E5%90%8D%E5%9C%A8%E6%9C%9B.The.Fame.S01E01-02.6v%E7%94%B5%E5%BD%B1%20%E5%9C%B0%E5%9D%80%E5%8F%91%E5%B8%83%E9%A1%B5%20www.6v123.net%20%E6%94%B6%E8%97%8F%E4%B8%8D%E8%BF%B7%E8%B7%AF"
},
"player": {
"parse": 0,
"url": "magnet:?xt=urn:btih:241276a04e77cd0f5c1f90cbbfececf5f7169da6&dn=%E6%88%90%E5%90%8D%E5%9C%A8%E6%9C%9B.The.Fame.S01E01-02.6v%E7%94%B5%E5%BD%B1%20%E5%9C%B0%E5%9D%80%E5%8F%91%E5%B8%83%E9%A1%B5%20www.6v123.net%20%E6%94%B6%E8%97%8F%E4%B8%8D%E8%BF%B7%E8%B7%AF",
"valid": true,
"reachable": null,
"status_code": null,
"final_url": "magnet:?xt=urn:btih:241276a04e77cd0f5c1f90cbbfececf5f7169da6&dn=%E6%88%90%E5%90%8D%E5%9C%A8%E6%9C%9B.The.Fame.S01E01-02.6v%E7%94%B5%E5%BD%B1%20%E5%9C%B0%E5%9D%80%E5%8F%91%E5%B8%83%E9%A1%B5%20www.6v123.net%20%E6%94%B6%E8%97%8F%E4%B8%8D%E8%BF%B7%E8%B7%AF",
"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": 179.136,
"init": 0.001,
"home": 339.056,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 524.836
},
"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": 124.939,
"init": 0.001,
"home": 0.001,
"category": 966.851,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 2022.692
},
"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": false,
"failed_stage": "category",
"error": "Invalid IPv6 URL",
"traceback": null,
"timings_ms": {
"module_load": 128.76,
"init": 0.009,
"home": 0.002,
"category": 0.014,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 133.254
},
"counts": {
"classes": 2,
"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": "PPnix",
"file": "PPnix.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 152.27,
"init": 0.001,
"home": 0.001,
"category": 566.724,
"detail": 827.426,
"player": 0.009,
"url_check": 339.178,
"total": 1887.813
},
"counts": {
"classes": 2,
"category_videos": 24,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "movie/8350.html",
"flag": "PPnix",
"play_id": "8350|1080P"
},
"player": {
"parse": 0,
"url": "https://www.ppnix.com/info/m3u8/8350/1080P.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://www.ppnix.com/info/m3u8/8350/1080P.m3u8",
"reason": null
}
},
{
"spider": "Pomo",
"file": "Pomo.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 123.149,
"init": 0.001,
"home": 0.001,
"category": 309.354,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 746.174
},
"counts": {
"classes": 7,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "huayurm",
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "QQ音乐",
"file": "QQ音乐.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 208.961,
"init": 0.01,
"home": 0.002,
"category": 305.839,
"detail": 262.652,
"player": 314.398,
"url_check": 75.193,
"total": 1167.797
},
"counts": {
"classes": 6,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "playlist",
"vod_id": "playlist:9599278437",
"flag": "QQ音乐",
"play_id": "qqmusic:0016aXcd24qSC8:457240977|圣诞星 (feat. 杨瑞代) - 周杰伦"
},
"player": {
"parse": 0,
"url": "https://isure.stream.qqmusic.qq.com/F0000016aXcd24qSC8.flac?guid=96fb1697fe5d18dd8f7fe1bb4b5ac6ab&vkey=C9645C22C3D6A7E8622967C361353FF800EB200FF392E836E05121462D8C75F0364F7D0388E7CEAFB545F3754678A07613F0FAE06D0A7D2E__v2b9ab543&uin=1152921504846230218&fromtag=119114&redirect=1",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://isure.stream.qqmusic.qq.com/F0000016aXcd24qSC8.flac?guid=96fb1697fe5d18dd8f7fe1bb4b5ac6ab&vkey=C9645C22C3D6A7E8622967C361353FF800EB200FF392E836E05121462D8C75F0364F7D0388E7CEAFB545F3754678A07613F0FAE06D0A7D2E__v2b9ab543&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": 138.463,
"init": 0.004,
"home": 0.069,
"category": 897.658,
"detail": 2586.418,
"player": 0.006,
"url_check": 926.065,
"total": 4552.305
},
"counts": {
"classes": 29,
"category_videos": 17,
"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": 211.893,
"init": 0.001,
"home": 0.0,
"category": 365.589,
"detail": 336.794,
"player": 0.004,
"url_check": 177.428,
"total": 1092.254
},
"counts": {
"classes": 6,
"category_videos": 48,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "index",
"vod_id": "714893576",
"flag": "夸克",
"play_id": "https://pan.quark.cn/s/430deab28d39"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/430deab28d39",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/430deab28d39",
"reason": null
}
},
{
"spider": "mifun",
"file": "mifun.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 157.748,
"init": 0.001,
"home": 1543.601,
"category": 1278.277,
"detail": 1251.842,
"player": 1047.98,
"url_check": 125.871,
"total": 5406.775
},
"counts": {
"classes": 5,
"category_videos": 30,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "19800",
"flag": "快看云",
"play_id": "快看云@@direct@@ba11073ae57ba0eede130eeda148f635,v02dadg10001d976k3nog65pmndl8n90,token+,1,1"
},
"player": {
"parse": 0,
"url": "https://v6.douyinvod.com/a72bb61837cad82e76c249d9722cadfd/6a68565b/video/tos/cn/tos-cn-v-5f73e7/oQtQwOEXDilgqgISBtQac58kE5i2nUd5VaBvt/?a=0&ch=0&cr=0&dr=2&er=0&lr=test&cd=0%7C0%7C0%7C0&br=1907&bt=1907&cs=0&ds=4&ft=S9lstHiHH_Myq8ZW6~4_e2NvjTQ&mime_type=video_mp4&qs=13&rc=M3FvcXM5cjY5PDQzNGdnM0BpM3FvcXM5cjY5PDQzNGdnM0A2NWFqMmRraDRhLS1kXi9zYSM2NWFqMmRraDRhLS1kXi9zcw%3D%3D&btag=80000e00038000&dy_q=1785199700&l=202607280848209A493E74C6D437397D4F",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://v6.douyinvod.com/a72bb61837cad82e76c249d9722cadfd/6a68565b/video/tos/cn/tos-cn-v-5f73e7/oQtQwOEXDilgqgISBtQac58kE5i2nUd5VaBvt/?a=0&ch=0&cr=0&dr=2&er=0&lr=test&cd=0%7C0%7C0%7C0&br=1907&bt=1907&cs=0&ds=4&ft=S9lstHiHH_Myq8ZW6~4_e2NvjTQ&mime_type=video_mp4&qs=13&rc=M3FvcXM5cjY5PDQzNGdnM0BpM3FvcXM5cjY5PDQzNGdnM0A2NWFqMmRraDRhLS1kXi9zYSM2NWFqMmRraDRhLS1kXi9zcw%3D%3D&btag=80000e00038000&dy_q=1785199700&l=202607280848209A493E74C6D437397D4F",
"reason": null
}
},
{
"spider": "youknow",
"file": "youknow.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 121.551,
"init": 0.001,
"home": 0.001,
"category": 1556.429,
"detail": 1179.789,
"player": 1660.991,
"url_check": 555.543,
"total": 5075.605
},
"counts": {
"classes": 7,
"category_videos": 223,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "index",
"vod_id": "205252",
"flag": "YouKnowTV",
"play_id": "eyJ2b2RfaWQiOiIyMDUyNTIiLCJlcGlzb2RlX2luZGV4IjoxLCJ0aXRsZSI6IuesrDAx6ZuGIiwiY2FuZGlkYXRlcyI6W3sic291cmNlIjoi57q_6LevMSIsInNvdXJjZV9pZCI6IjEiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8yMDUyNTItMS0xLyJ9LHsic291cmNlIjoi57q_6LevMiIsInNvdXJjZV9pZCI6IjEiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8yMDUyNTItMS0xLyJ9LHsic291cmNlIjoi57q_6LevMjAiLCJzb3VyY2VfaWQiOiIzIiwiZXBpc29kZV91cmwiOiJodHRwczovL3d3dy55b3Vrbm93LnR2L3AvMjA1MjUyLTMtMS8ifSx7InNvdXJjZSI6Iue6v-i3rzIxIiwic291cmNlX2lkIjoiMyIsImVwaXNvZGVfdXJsIjoiaHR0cHM6Ly93d3cueW91a25vdy50di9wLzIwNTI1Mi0zLTEvIn0seyJzb3VyY2UiOiLnur_ot68zOSIsInNvdXJjZV9pZCI6IjIiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8yMDUyNTItMi0xLyJ9LHsic291cmNlIjoi57q_6LevNDAiLCJzb3VyY2VfaWQiOiIyIiwiZXBpc29kZV91cmwiOiJodHRwczovL3d3dy55b3Vrbm93LnR2L3AvMjA1MjUyLTItMS8ifV19"
},
"player": {
"parse": 0,
"url": "https://vip.dytt-tvs.com/20260703/26616_e0354c78/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://play2.jimxtc.com/20260703/26616_e0354c78/index.m3u8",
"reason": null
}
},
{
"spider": "七味",
"file": "七味.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 173.479,
"init": 0.005,
"home": 0.001,
"category": 893.444,
"detail": 653.666,
"player": 0.002,
"url_check": 151.089,
"total": 1877.346
},
"counts": {
"classes": 5,
"category_videos": 42,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "81101",
"flag": "夸克1",
"play_id": "https://pan.quark.cn/s/b1ad0271f924"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/b1ad0271f924",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/b1ad0271f924",
"reason": null
}
},
{
"spider": "不太灵",
"file": "不太灵.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 88.107,
"init": 0.001,
"home": 881.614,
"category": 957.436,
"detail": 10896.915,
"player": 0.005,
"url_check": 194.952,
"total": 13019.531
},
"counts": {
"classes": 5,
"category_videos": 25,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "1301756",
"flag": "迅雷",
"play_id": "https://pan.xunlei.com/s/VOOl_UPeBC5KaO8_Akg9uV-UA1?pwd=wg6f"
},
"player": {
"parse": 0,
"url": "https://pan.xunlei.com/s/VOOl_UPeBC5KaO8_Akg9uV-UA1?pwd=wg6f",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.xunlei.com/s/VOOl_UPeBC5KaO8_Akg9uV-UA1?pwd=wg6f",
"reason": null
}
},
{
"spider": "世纪音乐",
"file": "世纪音乐.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 4.091,
"init": 0.0,
"home": 105.457,
"category": 101.74,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 314.633
},
"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": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 7.487,
"init": 0.0,
"home": 0.001,
"category": 519.46,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 1059.746
},
"counts": {
"classes": 14,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "meiju",
"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.576,
"init": 0.001,
"home": 495.738,
"category": 393.869,
"detail": 1157.49,
"player": 0.018,
"url_check": 3004.979,
"total": 5057.651
},
"counts": {
"classes": 7,
"category_videos": 24,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "movie",
"vod_id": "1087907",
"flag": "乌云影视",
"play_id": "eyJtZWRpYUlkIjogIjEwODc5MDciLCAic2Vhc29uTm8iOiAxLCAiZXBObyI6IDEsICJ2aWRlb0lkIjogOTE2NTc4MzEsICJwbGF5VXJsIjogImh0dHBzOi8vd29veXVuLnR2L2dlbl9vdmVyc2Vhcy9odHRwczovL3YubHpjZG4zMS5jb20vMjAyNjA1MTYvNjQyNV8zNjM3OWU1MS9pbmRleC5tM3U4IiwgIm5hbWUiOiAi56ysMembhiBIROS4reWtlyJ9"
},
"player": {
"parse": 0,
"url": "https://wooyun.tv/gen_overseas/https://v.lzcdn31.com/20260516/6425_36379e51/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vod-cdn.wooyun.tv/v2/hls_overseas/afd1f18189682b752debe24053bf9afe3afa4793.m3u8",
"reason": null
}
},
{
"spider": "乐兔",
"file": "乐兔.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 3.694,
"init": 0.0,
"home": 0.0,
"category": 717.611,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 1407.153
},
"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": 5.803,
"init": 0.001,
"home": 0.0,
"category": 1953.139,
"detail": 344.173,
"player": 0.003,
"url_check": 988.296,
"total": 3291.706
},
"counts": {
"classes": 4,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "12820",
"flag": "百度#二小",
"play_id": "https://pan.baidu.com/s/1C7-Chr-SzmbOngAmi4gYug?pwd=uruw"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1C7-Chr-SzmbOngAmi4gYug?pwd=uruw",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=C7-Chr-SzmbOngAmi4gYug&pwd=uruw",
"reason": null
}
},
{
"spider": "云朵",
"file": "云朵.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.435,
"init": 0.001,
"home": 1525.187,
"category": 894.989,
"detail": 762.632,
"player": 826.323,
"url_check": 2048.18,
"total": 6062.796
},
"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?NmVhZFpWVWRLWVdvNVlnQ3ROUmM3ODhSV3p6SFdUVXN4elQ5VVRwUzhZclV0eEdzL0YzSHd4M3VDMHRuUWFuWkdNUklrVGJNcmw2amxqbHZmVi9EMVJrMkNITmZnYXd2NUp3ZTBiZWZvOGhzMlpMeWJWOVBCL2hINTNEanQxbGl1VnFXYlVCMHQraHU1Qnd6QW15OG95U0lXemVsa3FV",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://yun.jiexicn.top/api/banyun/e32cce374db795d5b77dd658a435827f.m3u8?NmVhZFpWVWRLWVdvNVlnQ3ROUmM3ODhSV3p6SFdUVXN4elQ5VVRwUzhZclV0eEdzL0YzSHd4M3VDMHRuUWFuWkdNUklrVGJNcmw2amxqbHZmVi9EMVJrMkNITmZnYXd2NUp3ZTBiZWZvOGhzMlpMeWJWOVBCL2hINTNEanQxbGl1VnFXYlVCMHQraHU1Qnd6QW15OG95U0lXemVsa3FV",
"reason": null
}
},
{
"spider": "人人电影",
"file": "人人电影.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.588,
"init": 0.0,
"home": 0.0,
"category": 624.902,
"detail": 543.781,
"player": 0.007,
"url_check": 1121.025,
"total": 2293.723
},
"counts": {
"classes": 4,
"category_videos": 10,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "movie/list_2",
"vod_id": "/movie/2026/0727/60531.html",
"flag": "baidu",
"play_id": "https://pan.baidu.com/s/1wwVMeSA3FaESRehdGffcwQ?pwd=zh2k"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1wwVMeSA3FaESRehdGffcwQ?pwd=zh2k",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=wwVMeSA3FaESRehdGffcwQ&pwd=zh2k",
"reason": null
}
},
{
"spider": "人人视频",
"file": "人人视频.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.844,
"init": 0.0,
"home": 224.194,
"category": 334.976,
"detail": 278.148,
"player": 402.823,
"url_check": 129.229,
"total": 1373.865
},
"counts": {
"classes": 4,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "TV",
"vod_id": "56986",
"flag": "人人专线",
"play_id": "56986@387800"
},
"player": {
"parse": 0,
"url": "https://a1ri9kob0ec0qab.302.fledgecloud.com:56782/zj-302-cdn.bwcgee.cn/c069d42171ee71f1833a4531958d0402/c17bc232b9cd4d8ebe60d89eb7792743-a3279265c3c45d0c5e841261bed53550-ld.mp4?auth_key=1785215949-15576193c707f4cbebd0a7ef3b3e8a5b-0-3f5e1fad3201c0060e1dafcf2951ae49&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=20514f5f9b054fcab84d2fcb1c2a4f1b&hevc=false&seasonId=56986",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://a1ri9kob0ec0qab.302.fledgecloud.com:56782/zj-302-cdn.bwcgee.cn/c069d42171ee71f1833a4531958d0402/c17bc232b9cd4d8ebe60d89eb7792743-a3279265c3c45d0c5e841261bed53550-ld.mp4?auth_key=1785215949-15576193c707f4cbebd0a7ef3b3e8a5b-0-3f5e1fad3201c0060e1dafcf2951ae49&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=20514f5f9b054fcab84d2fcb1c2a4f1b&hevc=false&seasonId=56986",
"reason": null
}
},
{
"spider": "优酷",
"file": "优酷.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 7.884,
"init": 0.001,
"home": 0.0,
"category": 285.716,
"detail": 546.163,
"player": 0.002,
"url_check": 249.994,
"total": 1090.189
},
"counts": {
"classes": 6,
"category_videos": 23,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "电视剧",
"vod_id": "show:acbefaed57994c07b881",
"flag": "优酷",
"play_id": "https://v.youku.com/v_show/id_XNjUxODE2NjYyNA==.html"
},
"player": {
"parse": 1,
"url": "https://v.youku.com/v_show/id_XNjUxODE2NjYyNA==.html",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://v.youku.com/v_show/id_XNjUxODE2NjYyNA==.html",
"reason": null
}
},
{
"spider": "低端影视",
"file": "低端影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.098,
"init": 0.001,
"home": 0.0,
"category": 1225.038,
"detail": 1562.215,
"player": 0.008,
"url_check": 444.141,
"total": 3235.981
},
"counts": {
"classes": 4,
"category_videos": 24,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "series",
"vod_id": "movie/furious",
"flag": "播放源 1 (1080P)",
"play_id": "https://v.lfthirtytwo.com/20260727/9046_9af4d1f1/index.m3u8"
},
"player": {
"parse": 0,
"url": "https://v.lfthirtytwo.com/20260727/9046_9af4d1f1/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://v.lfthirtytwo.com/20260727/9046_9af4d1f1/index.m3u8",
"reason": null
}
},
{
"spider": "修罗",
"file": "修罗.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.671,
"init": 0.001,
"home": 0.001,
"category": 1243.538,
"detail": 1162.629,
"player": 1836.179,
"url_check": 350.324,
"total": 20855.79
},
"counts": {
"classes": 4,
"category_videos": 24,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "tv",
"vod_id": "duanju/27019",
"flag": "修罗直连",
"play_id": "play/27019-0"
},
"player": {
"parse": 0,
"url": "https://lf16-imcloud-global-file-sign.ibytedtos.com/obj/tos-alisg-v-6c34fe-sg/oIInIgzeT32IHfyD3PvU3nL9m32GeqADHKXa9C?x-expires=2257626185&x-signature=gJXNX6YLEevhUOr6Dv3fXH8W0Ew%3D",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://lf16-imcloud-global-file-sign.ibytedtos.com/obj/tos-alisg-v-6c34fe-sg/oIInIgzeT32IHfyD3PvU3nL9m32GeqADHKXa9C?x-expires=2257626185&x-signature=gJXNX6YLEevhUOr6Dv3fXH8W0Ew%3D",
"reason": null
}
},
{
"spider": "免费短剧",
"file": "免费短剧.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.461,
"init": 0.008,
"home": 0.0,
"category": 200.923,
"detail": 180.352,
"player": 0.002,
"url_check": 985.275,
"total": 1370.449
},
"counts": {
"classes": 4,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "2",
"vod_id": "https://20.90kan.cc/?id=66979",
"flag": "百度",
"play_id": "https://pan.baidu.com/s/1sIUWWoYDKeeJV6qBM2VGRA?pwd=6666"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1sIUWWoYDKeeJV6qBM2VGRA?pwd=6666",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=sIUWWoYDKeeJV6qBM2VGRA&pwd=6666",
"reason": null
}
},
{
"spider": "农民",
"file": "农民.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 5.662,
"init": 0.0,
"home": 314.05,
"category": 302.384,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 925.384
},
"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": 4.347,
"init": 0.001,
"home": 0.001,
"category": 482.455,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 984.692
},
"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.897,
"init": 0.001,
"home": 0.0,
"category": 890.204,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 1770.637
},
"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.456,
"init": 137.744,
"home": 0.076,
"category": 106.487,
"detail": 76.237,
"player": 1426.764,
"url_check": 34.945,
"total": 1787.195
},
"counts": {
"classes": 5,
"category_videos": 21,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "2",
"vod_id": "194906",
"flag": "蓝光R线-在线看",
"play_id": "RR@https://m.yichengwlkj.com/drama/57840?episodeNo=1"
},
"player": {
"parse": 0,
"url": "https://pcdn-qn-new.samtory.cn/10daf6a884d071f180be6733a78e0402/0c1b5a869417424cb6027c7149678e36-42d90fffb25f2526af3e287072946f52-AI_720.mp4?auth_key=1785215903-3a4cf3a4e0958f320ee4d311704b6704-0-4a8e2b8e7861ff6c41cfb2031d5f58bc&clientType=android_rrsp_xb_Vivo&clientVersion=10.33.4&parseUsage=PLAY_NEW&uid=218917400&rk=290596ee84304e79bf2eea18220d5cd9&hevc=true&seasonId=57840",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pcdn-qn-new.samtory.cn/10daf6a884d071f180be6733a78e0402/0c1b5a869417424cb6027c7149678e36-42d90fffb25f2526af3e287072946f52-AI_720.mp4?auth_key=1785215903-3a4cf3a4e0958f320ee4d311704b6704-0-4a8e2b8e7861ff6c41cfb2031d5f58bc&clientType=android_rrsp_xb_Vivo&clientVersion=10.33.4&parseUsage=PLAY_NEW&uid=218917400&rk=290596ee84304e79bf2eea18220d5cd9&hevc=true&seasonId=57840",
"reason": null
}
},
{
"spider": "剧迷",
"file": "剧迷.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.238,
"init": 0.001,
"home": 0.001,
"category": 340.986,
"detail": 573.363,
"player": 567.857,
"url_check": 1109.593,
"total": 2597.493
},
"counts": {
"classes": 6,
"category_videos": 57,
"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.139,
"init": 0.001,
"home": 0.001,
"category": 453.812,
"detail": 184.834,
"player": 187.879,
"url_check": 63.413,
"total": 894.829
},
"counts": {
"classes": 5,
"category_videos": 40,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "961",
"vod_id": "961@176980",
"flag": "华数专线",
"play_id": "aHR0cHM6Ly92aWRlby41Zy53YXN1LnR2L3Bjc2FuMjQvcGMvbW92aWUvMjAyNi0wNy8xNS8yMDI2MDcxNTE0MTQ0NDc3MVhrWE91TXNULm1wNA"
},
"player": {
"parse": 0,
"url": "https://pcvideo.5g.wasu.tv/pcsan24/pc/movie/2026-07/15/20260715141444771XkXOuMsT/playlist.m3u8?auth_key=1785201550-0-0-bda025c0a2eff8b13dab2b0646cad0c1",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pcvideo.5g.wasu.tv/pcsan24/pc/movie/2026-07/15/20260715141444771XkXOuMsT/playlist.m3u8?auth_key=1785201550-0-0-bda025c0a2eff8b13dab2b0646cad0c1",
"reason": null
}
},
{
"spider": "博看听书",
"file": "博看听书.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.978,
"init": 0.0,
"home": 2794.455,
"category": 259.396,
"detail": 721.332,
"player": 0.002,
"url_check": 46.945,
"total": 3826.464
},
"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": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.297,
"init": 0.004,
"home": 405.007,
"category": 90.399,
"detail": 76.174,
"player": 0.002,
"url_check": 212.78,
"total": 789.165
},
"counts": {
"classes": 6,
"category_videos": 21,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "11427",
"flag": "主线路①",
"play_id": "https://v.qq.com/x/cover/mzc00200pntcqa9/n4101d5vavo.html"
},
"player": {
"parse": 0,
"url": "https://v.qq.com/x/cover/mzc00200pntcqa9/n4101d5vavo.html",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://v.qq.com/x/cover/mzc00200pntcqa9/n4101d5vavo.html",
"reason": null
}
},
{
"spider": "双星",
"file": "双星.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.995,
"init": 357.893,
"home": 0.004,
"category": 174.813,
"detail": 172.011,
"player": 0.002,
"url_check": 154.764,
"total": 864.249
},
"counts": {
"classes": 7,
"category_videos": 15,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "ju",
"vod_id": "/ju/10993.html",
"flag": "夸克",
"play_id": "https://pan.quark.cn/s/157e1469d31d"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/157e1469d31d",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/157e1469d31d",
"reason": null
}
},
{
"spider": "听书",
"file": "听书.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.472,
"init": 84.729,
"home": 0.001,
"category": 178.111,
"detail": 1922.242,
"player": 276.233,
"url_check": 70.797,
"total": 2536.262
},
"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=1a6c7a7acd772240a49aeeabc88dd74a&buy_key=FM&token=8462&timestamp=1785201552&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=1a6c7a7acd772240a49aeeabc88dd74a&buy_key=FM&token=8462&timestamp=1785201552&duration=453",
"reason": null
}
},
{
"spider": "听友FM",
"file": "听友FM.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.244,
"init": 0.0,
"home": 429.765,
"category": 373.475,
"detail": 744.072,
"player": 328.936,
"url_check": 151.012,
"total": 2036.421
},
"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=1785201358&sign=c2486503a6063eff16805d466fe645e6",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://file.hgeuz.cn/stream/eJwANwDI_wJVZgVKIIrU0ECux-GJ1PSt38ahythCqsH-r9TAQ4rj5F94rOjbQKjk063xyIX2z3hfeGcIHF4BAAD__5DtISY.?ts=1785201358&sign=c2486503a6063eff16805d466fe645e6",
"reason": null
}
},
{
"spider": "咕咕动漫",
"file": "咕咕动漫.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.946,
"init": 0.004,
"home": 515.545,
"category": 598.101,
"detail": 570.757,
"player": 2730.596,
"url_check": 143.785,
"total": 4566.523
},
"counts": {
"classes": 3,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "6",
"vod_id": "5044",
"flag": "咕咕新线(国内高速)",
"play_id": "parse_api=a2796a09189261bcaf3cc4542d7c5ac2&url=504rML6cZUWGNdKj2owLotQFJWFiA7C79bfpJpqq9AkWXWsetDi+j0vOX1buxGZ6&token=|无职转生 第三季 ~到了异世界就拿出真本事~|1"
},
"player": {
"parse": 0,
"url": "https://p9-bot-workflow-sign.byteimg.com/tos-cn-i-mdko3gqilj/a2f87bdc24e84aadaa366018d630ebc7~tplv-mdko3gqilj-image.image?rk3s=81d4c505&x-expires=1816305554&x-signature=eHfICJJCV9R9lPWuzIeWxTIXLF8%3D",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://p9-bot-workflow-sign.byteimg.com/tos-cn-i-mdko3gqilj/a2f87bdc24e84aadaa366018d630ebc7~tplv-mdko3gqilj-image.image?rk3s=81d4c505&x-expires=1816305554&x-signature=eHfICJJCV9R9lPWuzIeWxTIXLF8%3D",
"reason": null
}
},
{
"spider": "四万影视",
"file": "四万影视.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 3.721,
"init": 0.001,
"home": 0.001,
"category": 791.23,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 1608.119
},
"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": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.682,
"init": 0.001,
"home": 0.001,
"category": 916.259,
"detail": 1883.462,
"player": 985.788,
"url_check": 871.083,
"total": 8933.398
},
"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://www.zxzjys.com/vodplay/4623-1-1.html",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://www.zxzj.run/vodplay/4623-1-1.html",
"reason": null
}
},
{
"spider": "多多",
"file": "多多.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.222,
"init": 0.0,
"home": 0.001,
"category": 3813.705,
"detail": 523.472,
"player": 0.003,
"url_check": 1362.851,
"total": 5708.771
},
"counts": {
"classes": 6,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "9544",
"flag": "百度#多多",
"play_id": "https://pan.baidu.com/s/1wMe6FvJYV8AE4f3wsLIEIQ?pwd=yyds"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1wMe6FvJYV8AE4f3wsLIEIQ?pwd=yyds",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=wMe6FvJYV8AE4f3wsLIEIQ&pwd=yyds",
"reason": null
}
},
{
"spider": "多瑙影视",
"file": "多瑙影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.649,
"init": 0.002,
"home": 0.001,
"category": 15616.166,
"detail": 643.115,
"player": 654.666,
"url_check": 985.509,
"total": 17904.621
},
"counts": {
"classes": 5,
"category_videos": 36,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "387420",
"flag": "优质资源",
"play_id": "387420-1-1"
},
"player": {
"parse": 0,
"url": "https://cdn.yzzy32-play.com/20260726/49486_0fdb78d8/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://cdn.yzzy32-play.com/20260726/49486_0fdb78d8/index.m3u8",
"reason": null
}
},
{
"spider": "如意资源",
"file": "如意资源.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.39,
"init": 0.001,
"home": 0.006,
"category": 1436.815,
"detail": 481.232,
"player": 0.029,
"url_check": 983.087,
"total": 2906.405
},
"counts": {
"classes": 6,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "82717",
"flag": "rym3u8",
"play_id": "https://svip.ryplay14.com/20260727/17532_6cbd3f13/index.m3u8"
},
"player": {
"parse": 0,
"url": "https://svip.ryplay14.com/20260727/17532_6cbd3f13/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://svip.ryplay14.com/20260727/17532_6cbd3f13/index.m3u8",
"reason": null
}
},
{
"spider": "寻川4K",
"file": "寻川4K.txt",
"success": false,
"failed_stage": "home",
"error": "分类列表为空",
"traceback": null,
"timings_ms": {
"module_load": 7.852,
"init": 524.395,
"home": 512.302,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 1044.71
},
"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.486,
"init": 0.001,
"home": 0.0,
"category": 391.655,
"detail": 340.467,
"player": 339.467,
"url_check": 987.388,
"total": 2063.94
},
"counts": {
"classes": 6,
"category_videos": 48,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "7",
"vod_id": "253202",
"flag": "小宝影院",
"play_id": "253202/2/1"
},
"player": {
"parse": 0,
"url": "https://svip.ryplay14.com/20260727/17530_e157bfbc/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://svip.ryplay14.com/20260727/17530_e157bfbc/index.m3u8",
"reason": null
}
},
{
"spider": "山楂影视",
"file": "山楂影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.894,
"init": 97.332,
"home": 96.845,
"category": 234.358,
"detail": 197.677,
"player": 447.673,
"url_check": 309.536,
"total": 1387.818
},
"counts": {
"classes": 8,
"category_videos": 40,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "M16",
"vod_id": "1274124",
"flag": "超清",
"play_id": "1274124@77@29633946@episode"
},
"player": {
"parse": "0",
"url": "https://cibn-edge-5g.1ljx.com/cloud/flv/83b3ea470743a189ab4454f4bce34a77/e1219f296c6fb460e120e98254dd3706/6a680390e644f.m3u8?auth_key=1785201552.9429-1-608119940.info-internet-2-llq-7c73053563e75cb9dbdaa31bd3f596e3",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://cibn-edge-5g.1ljx.com/ufile/flv/youku/d870ec39dfcad6575b3c6a6addfd4ccb54d9e4c6018fe5c265dec8f27d2f71fb8cc46901eabf4853f3f1bdf98dc50b4bc59cea65fa7c2ba22c0684d697af9520/07ab7f1ac6e87cf586d0cb732de37ec6_@lirose_tv.m3u8",
"reason": null
}
},
{
"spider": "布布影视",
"file": "布布影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.6,
"init": 0.001,
"home": 0.001,
"category": 788.427,
"detail": 776.133,
"player": 1244.489,
"url_check": 290.717,
"total": 3105.906
},
"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/4ad13981cff2f2e8e0e66f912a91b69b/6a6803928a501.m3u8?auth_key=1785201554.5664-1-267048862.info-internet-2-llq-21014dd284c210290fb3f2434d5facb0",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://cibn-edge-4g.1ljx.com/vod-rose/9ecb05a0a6bb3d8d87db40f2d4081a35d613ef83bca9348245f79e192b68f4b4ccb6e17d403decf82065616ac46fa9c8ca0659c2afe7d1358a26c0b5356a4070b98236ffc67e905ddc240df748e7dc1ad652f9eca458675b9912bfc630ab3003/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": 3.966,
"init": 0.025,
"home": 197.833,
"category": 252.049,
"detail": 201.626,
"player": 366.353,
"url_check": 126.141,
"total": 1148.684
},
"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=1785201553&sign=0e4c7585d754b423a500fe71ba3b23d5",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://tv-video.cdn.drama.9ddm.com/C1/F6/C1F63C79CBF09E493F99B1E0824CEAB2.mp4?timestamp=1785201553&sign=0e4c7585d754b423a500fe71ba3b23d5",
"reason": null
}
},
{
"spider": "怀桑",
"file": "怀桑.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 7.022,
"init": 0.005,
"home": 516.127,
"category": 204.198,
"detail": 182.381,
"player": 430.651,
"url_check": 431.506,
"total": 1772.403
},
"counts": {
"classes": 8,
"category_videos": 30,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "36603",
"flag": "线·叁",
"play_id": "parse_api=4a720977ebfe3f13296b548e51cc3355&url=YZcOrhP4LfnMAZiM2Yle5ryzbiMgME835Qa5KtsxAYwtGvd2K9h1FtOiU087K9hQWseGAs2ZK/iLpSQZkacWBEgGWHjxx6eyLvplbadCWvLLoG+Z6r/XpoQJPGdsQAU26nz7pdPfr/l0Yb+5o7DgZx0hhnt4KWaR+nsHo4tAePaFXwPiGugqrf/2yMItAU5Q&token=|少林寺|1"
},
"player": {
"parse": 0,
"url": "https://vip.nsapi.sbs/nsys/proxy.php?file=286257d0ccb877080eef675858fc9463.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vip.nsapi.sbs/nsys/proxy.php?file=286257d0ccb877080eef675858fc9463.m3u8",
"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 0x7a504618e7a0>, '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 0x7a504618e7a0>, '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 0x7a504618e7a0>, '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 0x7a504618e7a0>, 'Connection to 113.31.180.218 timed out. (connect timeout=10)'))\n",
"timings_ms": {
"module_load": 5.985,
"init": 0.009,
"home": 10011.387,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 10018.969
},
"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.374,
"init": 0.001,
"home": 370.802,
"category": 314.566,
"detail": 404.156,
"player": 427.349,
"url_check": 72.113,
"total": 1594.913
},
"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": 4.038,
"init": 0.0,
"home": 0.0,
"category": 984.987,
"detail": 813.655,
"player": 745.97,
"url_check": 1015.968,
"total": 3565.17
},
"counts": {
"classes": 5,
"category_videos": 16,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "3613",
"flag": "在线云播",
"play_id": "3613_1_1"
},
"player": {
"parse": 0,
"url": "https://player.yzzyvip-35.com/20260331/3348_333cb763/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://player.yzzyvip-35.com/20260331/3348_333cb763/index.m3u8",
"reason": null
}
},
{
"spider": "星星短剧",
"file": "星星短剧.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.153,
"init": 0.0,
"home": 0.001,
"category": 479.486,
"detail": 601.372,
"player": 0.002,
"url_check": 81.303,
"total": 1165.755
},
"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.582,
"init": 0.0,
"home": 0.001,
"category": 733.407,
"detail": 244.918,
"player": 0.008,
"url_check": 217.43,
"total": 1203.809
},
"counts": {
"classes": 7,
"category_videos": 72,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "25",
"vod_id": "8335",
"flag": "115#木偶",
"play_id": "https://115cdn.com/s/swsoqz536dh?password=z815"
},
"player": {
"parse": 0,
"url": "https://115cdn.com/s/swsoqz536dh?password=z815",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://115cdn.com/s/swsoqz536dh?password=z815",
"reason": null
}
},
{
"spider": "樱花动漫",
"file": "樱花动漫.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.015,
"init": 0.001,
"home": 0.0,
"category": 816.812,
"detail": 828.203,
"player": 851.811,
"url_check": 994.585,
"total": 3495.963
},
"counts": {
"classes": 4,
"category_videos": 36,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "guoman",
"vod_id": "61",
"flag": "高清",
"play_id": "/play/61-1-1/"
},
"player": {
"parse": 0,
"url": "https://yzzy.play-cdn2.com/20220413/12637_691cf585/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://yzzy.play-cdn2.com/20220413/12637_691cf585/index.m3u8",
"reason": null
}
},
{
"spider": "橘子TV",
"file": "橘子TV.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.807,
"init": 486.361,
"home": 539.392,
"category": 559.442,
"detail": 550.44,
"player": 1640.469,
"url_check": 1178.193,
"total": 4959.429
},
"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.up8r6jjh.com/m3u87/share/8322305/8517715/20260717/100735/1080/index.m3u8?sign=ac4ebf63ad22ead3c0e25b9140bffb75&t=1785201557",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://usaydd.up8r6jjh.com/m3u87/share/8322305/8517715/20260717/100735/1080/index.m3u8?sign=ac4ebf63ad22ead3c0e25b9140bffb75&t=1785201557",
"reason": null
}
},
{
"spider": "橘汁",
"file": "橘汁.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.094,
"init": 360.681,
"home": 626.505,
"category": 254.983,
"detail": 183.798,
"player": 367.425,
"url_check": 355.599,
"total": 2154.95
},
"counts": {
"classes": 7,
"category_videos": 21,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "20",
"vod_id": "155087",
"flag": "神话蓝光",
"play_id": "eyJ2b2RQbGF5RnJvbSI6ICJxc3ZpcCIsICJwbGF5VXJsIjogInFzdmlwLXRrTlp3bUlZUWpjX3U1d2RLRHRTSzJ0SlpPZ3diRVU2cUlybm94OGN6NWxEbU5XMW95OHplY0FXWkYtYTRCTjY2djY1eTRuNW1HUWEzMG9nRjljMUFSckM0elhhUTdIdDR5MWI3clktX3U0bGw4Nmd2RUxGUURnNDgxcHVZb19yNHhDTHJ2R1hUbV9YT2hjLVc0ZlpDdyJ9"
},
"player": {
"parse": 0,
"url": "https://hxx2026.bbroot.com/data/telegram/2026-07-27/200377203_1c219d81.m3u8?verify=1785201555-L19rGlWxpIu98poih6%2BvehoeCf48rmjySbLAgvQIbIE%3D",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://hxx2026.bbroot.com/data/telegram/2026-07-27/200377203_1c219d81.m3u8?verify=1785201555-L19rGlWxpIu98poih6%2BvehoeCf48rmjySbLAgvQIbIE%3D",
"reason": null
}
},
{
"spider": "次元城",
"file": "次元城.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 5.196,
"init": 0.001,
"home": 316.345,
"category": 344.244,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 1009.848
},
"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": 7.763,
"init": 0.001,
"home": 0.001,
"category": 760.543,
"detail": 365.371,
"player": 0.009,
"url_check": 1150.021,
"total": 2284.238
},
"counts": {
"classes": 6,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "30638",
"flag": "百度",
"play_id": "https://pan.baidu.com/s/1qtP-JX6IXw8z6vJQGAxakw?pwd=8888"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1qtP-JX6IXw8z6vJQGAxakw?pwd=8888",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=qtP-JX6IXw8z6vJQGAxakw&pwd=8888",
"reason": null
}
},
{
"spider": "毒蛇",
"file": "毒蛇.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.708,
"init": 0.001,
"home": 0.001,
"category": 734.663,
"detail": 346.254,
"player": 344.099,
"url_check": 1560.235,
"total": 2990.515
},
"counts": {
"classes": 5,
"category_videos": 18,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "325647",
"flag": "超清2",
"play_id": "325647-41-3225774"
},
"player": {
"parse": 0,
"url": "https://142.248.96.107:21302/data4/jvods/hls/dhz/107/106742/26072323/1_325647_3225463/1920/index.m3u8?appId=ds91&sign=b162843ec2fe519f48ce7e62dfda6ea8&timestamp=1785201508&ref=0",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://64.112.77.155:11302/data4/jvods/hls/dhz/107/106742/26072323/1_325647_3225463/1920/index.m3u8?appId=ds91&sign=b162843ec2fe519f48ce7e62dfda6ea8&timestamp=1785201508&ref=0",
"reason": null
}
},
{
"spider": "沐辞4K",
"file": "沐辞4K.txt",
"success": false,
"failed_stage": "home",
"error": "分类列表为空",
"traceback": null,
"timings_ms": {
"module_load": 6.992,
"init": 116.324,
"home": 98.164,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 221.772
},
"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": 27.232,
"init": 0.001,
"home": 325.824,
"category": 384.328,
"detail": 426.053,
"player": 208.777,
"url_check": 58.883,
"total": 1432.271
},
"counts": {
"classes": 8,
"category_videos": 18,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "65",
"vod_id": "41000246653",
"flag": "河马剧场",
"play_id": "41000246653@614514192"
},
"player": {
"parse": 0,
"url": "https://mfvideo.cbread.cn/f511d57795c8619f5e8ed62e9d549f5e/6a695090/29/3x5/35x6/356x6/35664200014/614514192_1/614514192.720p.wzh26506V2.mp4",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://mfvideo.cbread.cn/f511d57795c8619f5e8ed62e9d549f5e/6a695090/29/3x5/35x6/356x6/35664200014/614514192_1/614514192.720p.wzh26506V2.mp4",
"reason": null
}
},
{
"spider": "泥视频",
"file": "泥视频.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.257,
"init": 0.001,
"home": 0.001,
"category": 607.933,
"detail": 610.933,
"player": 598.73,
"url_check": 335.255,
"total": 2159.762
},
"counts": {
"classes": 6,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "125430",
"flag": "自营1线",
"play_id": "125430-1-1"
},
"player": {
"parse": 0,
"url": "https://y6fb.vhmzy.com/videos/202607/26/6a65cd832faabc227825c67c/cega13/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://y6fb.vhmzy.com/videos/202607/26/6a65cd832faabc227825c67c/cega13/index.m3u8",
"reason": null
}
},
{
"spider": "海纳TV",
"file": "海纳TV.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 19.739,
"init": 0.001,
"home": 5283.557,
"category": 5973.2,
"detail": 2710.824,
"player": 10089.607,
"url_check": 399.332,
"total": 24476.912
},
"counts": {
"classes": 4,
"category_videos": 36,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "2",
"vod_id": "45502",
"flag": "海纳云端",
"play_id": "45502-1-1"
},
"player": {
"parse": 0,
"url": "https://jx.hainatv.net/hn/stray/90041699bc221fb7064a9c71c8ab4b06.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://jx.hainatv.net/hn/stray/90041699bc221fb7064a9c71c8ab4b06.m3u8",
"reason": null
}
},
{
"spider": "清沅4K",
"file": "清沅4K.txt",
"success": false,
"failed_stage": "home",
"error": "分类列表为空",
"traceback": null,
"timings_ms": {
"module_load": 14.817,
"init": 212.343,
"home": 333.868,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 561.229
},
"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.448,
"init": 0.0,
"home": 0.001,
"category": 688.378,
"detail": 706.085,
"player": 0.003,
"url_check": 968.276,
"total": 2367.698
},
"counts": {
"classes": 5,
"category_videos": 48,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "3611",
"flag": "百度",
"play_id": "https://pan.baidu.com/s/15qMHgI0H5xS9pAfOvaMvRg?pwd=jbqn"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/15qMHgI0H5xS9pAfOvaMvRg?pwd=jbqn",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=5qMHgI0H5xS9pAfOvaMvRg&pwd=jbqn",
"reason": null
}
},
{
"spider": "潮流APP",
"file": "潮流APP.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.525,
"init": 0.002,
"home": 106.287,
"category": 95.811,
"detail": 135.396,
"player": 300.022,
"url_check": 65.938,
"total": 708.405
},
"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=1785201556818&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=1785201556818&url=NBY-c6d046002ed1d767bee10e93ee7f1ff8.m3u8",
"reason": null
}
},
{
"spider": "灯泡影视",
"file": "灯泡影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.122,
"init": 0.0,
"home": 0.001,
"category": 1649.847,
"detail": 1012.79,
"player": 0.005,
"url_check": 551.178,
"total": 3218.365
},
"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": 5.097,
"init": 0.0,
"home": 379.136,
"category": 351.478,
"detail": 350.945,
"player": 325.124,
"url_check": 152.156,
"total": 1564.498
},
"counts": {
"classes": 5,
"category_videos": 12,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "3611",
"flag": "夸克网盘",
"play_id": "/play/3611-1-1.html"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/d4e9d04c80fd",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/d4e9d04c80fd",
"reason": null
}
},
{
"spider": "爱壹帆",
"file": "爱壹帆.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 9.239,
"init": 0.001,
"home": 0.001,
"category": 1498.038,
"detail": 576.559,
"player": 1498.502,
"url_check": 366.282,
"total": 3949.27
},
"counts": {
"classes": 4,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "125430",
"flag": "自营1线",
"play_id": "125430-1-1"
},
"player": {
"parse": 0,
"url": "https://y6fb.vhmzy.com/videos/202607/26/6a65cd832faabc227825c67c/cega13/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://y6fb.vhmzy.com/videos/202607/26/6a65cd832faabc227825c67c/cega13/index.m3u8",
"reason": null
}
},
{
"spider": "爱奇艺",
"file": "爱奇艺.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 17.936,
"init": 0.036,
"home": 3526.17,
"category": 384.409,
"detail": 145.127,
"player": 0.001,
"url_check": 151.495,
"total": 4226.333
},
"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": 6.995,
"init": 0.091,
"home": 0.001,
"category": 1608.077,
"detail": 0.001,
"player": 0.001,
"url_check": 158.853,
"total": 1774.482
},
"counts": {
"classes": 7,
"category_videos": 20,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "genre",
"vod_id": "msearch:movie-1368337",
"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": 4.088,
"init": 0.001,
"home": 0.0,
"category": 552.854,
"detail": 509.778,
"player": 500.413,
"url_check": 367.512,
"total": 1935.062
},
"counts": {
"classes": 6,
"category_videos": 48,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "index",
"vod_id": "147906",
"flag": "独播库",
"play_id": "147906-1-1"
},
"player": {
"parse": 0,
"url": "https://vid.dbokutv.com/20260720/ppotb62-S71lT2yliZApDBSvkYzBsrmD3fpCJ4nBsjsRsGlR7XgBMfeOtCjC34jC38rH48uEJWvBcrmD0/chunklist.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vid.dbokutv.com/20260720/ppotb62-S71lT2yliZApDBSvkYzBsrmD3fpCJ4nBsjsRsGlR7XgBMfeOtCjC34jC38rH48uEJWvBcrmD0/chunklist.m3u8",
"reason": null
}
},
{
"spider": "猫猫4K",
"file": "猫猫4K.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.662,
"init": 366.098,
"home": 268.996,
"category": 136.569,
"detail": 143.551,
"player": 136.232,
"url_check": 980.569,
"total": 3301.045
},
"counts": {
"classes": 5,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "198689",
"flag": "火猫备用R",
"play_id": "https://svip.ryplay14.com/20260727/17529_23bd98a8/index.m3u8@@@rym3u8"
},
"player": {
"parse": 0,
"url": "https://svip.ryplay14.com/20260727/17529_23bd98a8/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://svip.ryplay14.com/20260727/17529_23bd98a8/index.m3u8",
"reason": null
}
},
{
"spider": "王子4K",
"file": "王子4K.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.961,
"init": 0.002,
"home": 1060.958,
"category": 530.467,
"detail": 570.839,
"player": 0.006,
"url_check": 832.775,
"total": 3000.784
},
"counts": {
"classes": 5,
"category_videos": 30,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "402977",
"flag": "SB线路",
"play_id": "SB线路@@direct@@,https://play.xluuss.com/play/b68BJBQe/index.m3u8,token+,1,0"
},
"player": {
"parse": 0,
"url": "https://play.xluuss.com/play/b68BJBQe/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://play.xluuss.com/play/b68BJBQe/index.m3u8",
"reason": null
}
},
{
"spider": "玩偶哥哥",
"file": "玩偶哥哥.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 6.129,
"init": 0.001,
"home": 0.001,
"category": 1726.424,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 3417.584
},
"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": 36.811,
"init": 0.001,
"home": 2.809,
"category": 2691.545,
"detail": 516.305,
"player": 0.002,
"url_check": 958.586,
"total": 5875.07
},
"counts": {
"classes": 11,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "site_duoduo",
"vod_id": "site:duoduo:/index.php/vod/detail/id/9544.html",
"flag": "百度#多多",
"play_id": "https://pan.baidu.com/s/1wMe6FvJYV8AE4f3wsLIEIQ?pwd=yyds"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1wMe6FvJYV8AE4f3wsLIEIQ?pwd=yyds",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=wMe6FvJYV8AE4f3wsLIEIQ&pwd=yyds",
"reason": null
}
},
{
"spider": "瓜子",
"file": "瓜子.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.246,
"init": 0.001,
"home": 0.015,
"category": 686.365,
"detail": 1051.012,
"player": 539.938,
"url_check": 547.848,
"total": 2830.372
},
"counts": {
"classes": 5,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "145225",
"flag": "1080",
"play_id": "vod_d_id=145225&vurl_id=4172551&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": 3.963,
"init": 92.323,
"home": 0.009,
"category": 349.018,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 768.12
},
"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": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 4.852,
"init": 0.004,
"home": 0.001,
"category": 906.915,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 3934.195
},
"counts": {
"classes": 5,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "dianshiju",
"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": 5.044,
"init": 180.052,
"home": 329.269,
"category": 157.48,
"detail": 107.451,
"player": 0.0,
"url_check": 0.0,
"total": 1132.442
},
"counts": {
"classes": 9,
"category_videos": 21,
"detail_videos": 1,
"episodes": 0
},
"samples": {
"tid": "1",
"vod_id": "159865",
"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.386,
"init": 0.0,
"home": 437.593,
"category": 251.327,
"detail": 610.032,
"player": 242.657,
"url_check": 31.904,
"total": 1577.262
},
"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": 4.624,
"init": 0.0,
"home": 3573.308,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 3580.022
},
"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": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 5.232,
"init": 0.001,
"home": 0.001,
"category": 431.417,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 974.64
},
"counts": {
"classes": 4,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "/categories/1/movies/",
"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.89,
"init": 0.074,
"home": 0.001,
"category": 824.626,
"detail": 468.984,
"player": 0.0,
"url_check": 0.0,
"total": 3578.557
},
"counts": {
"classes": 5,
"category_videos": 30,
"detail_videos": 1,
"episodes": 0
},
"samples": {
"tid": "1",
"vod_id": "-76327",
"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": 23.875,
"init": 588.699,
"home": 438.423,
"category": 449.679,
"detail": 293.607,
"player": 0.002,
"url_check": 38.008,
"total": 1832.851
},
"counts": {
"classes": 14,
"category_videos": 71,
"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": 3.672,
"init": 0.0,
"home": 0.0,
"category": 209.975,
"detail": 200.113,
"player": 0.005,
"url_check": 155.469,
"total": 569.721
},
"counts": {
"classes": 2,
"category_videos": 20,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "https://sm3.cc/?id=67087",
"flag": "夸克",
"play_id": "https://pan.quark.cn/s/bd7ae37b9bab"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/bd7ae37b9bab",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/bd7ae37b9bab",
"reason": null
}
},
{
"spider": "磁力熊",
"file": "磁力熊.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.046,
"init": 0.002,
"home": 0.003,
"category": 847.81,
"detail": 912.538,
"player": 0.003,
"url_check": 0.047,
"total": 1765.753
},
"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": 5.56,
"init": 0.001,
"home": 324.165,
"category": 337.417,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 964.889
},
"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": 3.237,
"init": 0.0,
"home": 357.793,
"category": 491.002,
"detail": 0.005,
"player": 372.402,
"url_check": 0.0,
"total": 1967.133
},
"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": 4.347,
"init": 0.0,
"home": 0.001,
"category": 2040.909,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 4099.915
},
"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": 5.686,
"init": 0.0,
"home": 104.458,
"category": 234.329,
"detail": 1271.315,
"player": 0.002,
"url_check": 180.097,
"total": 1796.569
},
"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.059,
"init": 0.001,
"home": 0.001,
"category": 2292.503,
"detail": 428.334,
"player": 0.003,
"url_check": 1009.369,
"total": 3738.758
},
"counts": {
"classes": 7,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "26",
"vod_id": "15714",
"flag": "百度#至臻",
"play_id": "https://pan.baidu.com/s/1svD4rYQzY9I4GLA2mLWuxQ?pwd=8fm8"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1svD4rYQzY9I4GLA2mLWuxQ?pwd=8fm8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=svD4rYQzY9I4GLA2mLWuxQ&pwd=8fm8",
"reason": null
}
},
{
"spider": "苹果",
"file": "苹果.txt",
"success": false,
"failed_stage": "detail",
"error": "详情缺少播放源或播放列表",
"traceback": null,
"timings_ms": {
"module_load": 6.057,
"init": 183.998,
"home": 371.023,
"category": 153.346,
"detail": 118.485,
"player": 0.0,
"url_check": 0.0,
"total": 1175.384
},
"counts": {
"classes": 9,
"category_videos": 21,
"detail_videos": 1,
"episodes": 0
},
"samples": {
"tid": "1",
"vod_id": "159865",
"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": "home",
"error": "分类列表为空",
"traceback": null,
"timings_ms": {
"module_load": 5.062,
"init": 0.0,
"home": 360.034,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 365.238
},
"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": "detail",
"error": "详情缺少播放源或播放列表",
"traceback": null,
"timings_ms": {
"module_load": 4.633,
"init": 172.974,
"home": 339.032,
"category": 161.104,
"detail": 107.718,
"player": 0.0,
"url_check": 0.0,
"total": 1161.898
},
"counts": {
"classes": 9,
"category_videos": 21,
"detail_videos": 1,
"episodes": 0
},
"samples": {
"tid": "1",
"vod_id": "159865",
"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.594,
"init": 0.001,
"home": 0.001,
"category": 1378.79,
"detail": 1363.6,
"player": 0.012,
"url_check": 145.135,
"total": 2896.069
},
"counts": {
"classes": 7,
"category_videos": 72,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "457556",
"flag": "夸克#虎斑",
"play_id": "https://pan.quark.cn/s/d37cad303f6a"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/d37cad303f6a",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/d37cad303f6a",
"reason": null
}
},
{
"spider": "蜗牛",
"file": "蜗牛.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.521,
"init": 0.002,
"home": 0.001,
"category": 517.062,
"detail": 543.322,
"player": 0.018,
"url_check": 246.407,
"total": 1311.815
},
"counts": {
"classes": 4,
"category_videos": 36,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "34955",
"flag": "115#蜗牛[盘]",
"play_id": "https://115cdn.com/s/swso4do3noe?password=sk4k"
},
"player": {
"parse": 0,
"url": "https://115cdn.com/s/swso4do3noe?password=sk4k",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://115cdn.com/s/swso4do3noe?password=sk4k",
"reason": null
}
},
{
"spider": "蜡笔",
"file": "蜡笔.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 7.155,
"init": 0.001,
"home": 0.001,
"category": 301.511,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 1203.258
},
"counts": {
"classes": 7,
"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": "蜻蜓FM",
"file": "蜻蜓FM.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.142,
"init": 0.0,
"home": 607.674,
"category": 538.194,
"detail": 0.009,
"player": 0.003,
"url_check": 396.119,
"total": 1545.554
},
"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@@正在直播: 珠江第一线",
"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.059,
"init": 0.001,
"home": 0.001,
"category": 1524.156,
"detail": 688.133,
"player": 689.443,
"url_check": 1181.079,
"total": 4090.036
},
"counts": {
"classes": 4,
"category_videos": 36,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "421450",
"flag": "蓝光专线4",
"play_id": "play/421450-0-0"
},
"player": {
"parse": 0,
"url": "https://vip.ffzy-play10.com/20260726/69714_18a27814/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vip.ffzy-play10.com/20260726/69714_18a27814/index.m3u8",
"reason": null
}
},
{
"spider": "观影",
"file": "观影.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 6.846,
"init": 0.003,
"home": 0.001,
"category": 0.002,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 7.356
},
"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": 5.58,
"init": 0.001,
"home": 10012.408,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 10019.414
},
"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": 8.855,
"init": 0.024,
"home": 391.68,
"category": 814.002,
"detail": 390.616,
"player": 0.002,
"url_check": 1145.076,
"total": 2751.009
},
"counts": {
"classes": 4,
"category_videos": 20,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "cms:feifan:98324",
"flag": "非凡资源",
"play_id": "https://vip.ffzy-play9.com/20260727/46509_19d06e3a/index.m3u8"
},
"player": {
"parse": 0,
"url": "https://vip.ffzy-play9.com/20260727/46509_19d06e3a/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vip.ffzy-play9.com/20260727/46509_19d06e3a/index.m3u8",
"reason": null
}
},
{
"spider": "路漫漫",
"file": "路漫漫.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 6.064,
"init": 0.001,
"home": 0.001,
"category": 451.237,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 959.458
},
"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": 4.613,
"init": 0.001,
"home": 0.001,
"category": 350.598,
"detail": 762.427,
"player": 2139.967,
"url_check": 1004.512,
"total": 4263.025
},
"counts": {
"classes": 7,
"category_videos": 16,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "movie",
"vod_id": "39030028",
"flag": "【无广③】",
"play_id": "39030028-1-1"
},
"player": {
"parse": 0,
"url": "https://v9.ppqrrs.com/wjv9/202607/27/WbvgdHTeEa88/video/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://v9.ppqrrs.com/wjv9/202607/27/WbvgdHTeEa88/video/index.m3u8",
"reason": null
}
},
{
"spider": "酷我听书",
"file": "酷我听书.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.145,
"init": 0.0,
"home": 364.611,
"category": 91.186,
"detail": 3387.085,
"player": 127.863,
"url_check": 24.409,
"total": 4001.228
},
"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/cda8ed86f295d99d8a9bd827aad885e3/6a68039f/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/cda8ed86f295d99d8a9bd827aad885e3/6a68039f/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": 7.514,
"init": 459.199,
"home": 253.711,
"category": 225.126,
"detail": 294.544,
"player": 443.236,
"url_check": 361.423,
"total": 2046.003
},
"counts": {
"classes": 12,
"category_videos": 15,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "recommend",
"vod_id": "415921263",
"flag": "酷狗音乐",
"play_id": "415921263"
},
"player": {
"parse": 0,
"url": "http://fsdg360.tx.kugou.com/202607280919/ea4f7aabb97d3d44c1b27ab878af2295/v3/9af0e114b2b4b3fff2094b587e263fd2/yp/full/ap1013_us0_mic85f71c379c462618de1399950957c33_pi6101_mx415921263_qumultitrack_s1503657231.mkv?ft=car_203559_10049&fts=b05bb02d44717442054bac7624ed9a29&ext=.mkv",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://fsdg360.tx.kugou.com/202607280919/ea4f7aabb97d3d44c1b27ab878af2295/v3/9af0e114b2b4b3fff2094b587e263fd2/yp/full/ap1013_us0_mic85f71c379c462618de1399950957c33_pi6101_mx415921263_qumultitrack_s1503657231.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.096,
"init": 0.001,
"home": 613.477,
"category": 221.04,
"detail": 200.784,
"player": 207.069,
"url_check": 530.987,
"total": 1777.935
},
"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://ppvod01.kqgfbs.com/splitOut/20260705/1342569/V20260705110331438911342569/index.m3u8?t=6a682dcd&whip=222.210.194.251&sign=5add39785ce455b4ce3547739929c2a8a2e6fd8f",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://ppvod01.kqgfbs.com/splitOut/20260705/1342569/V20260705110331438911342569/index.m3u8?t=6a682dcd&whip=222.210.194.251&sign=5add39785ce455b4ce3547739929c2a8a2e6fd8f",
"reason": null
}
},
{
"spider": "长泽",
"file": "长泽.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.662,
"init": 0.011,
"home": 139.615,
"category": 102.834,
"detail": 79.911,
"player": 0.019,
"url_check": 1002.421,
"total": 1331.522
},
"counts": {
"classes": 18,
"category_videos": 21,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "20",
"vod_id": "93161",
"flag": "FF有广",
"play_id": "app88:WyJodHRwczovL3ZpcC5mZnp5LXBsYXlzLmNvbS8yMDI2MDcyNy81NjI4Ml9iMTkzYTA5Mi9pbmRleC5tM3U4IiwiZmZtM3U4Iiwi5pyJ5LiA5aSp77yM6L-Z5Liq5a2p5a2QIiwiMSJd"
},
"player": {
"parse": 0,
"url": "https://vip.ffzy-plays.com/20260727/56282_b193a092/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vip.ffzy-plays.com/20260727/56282_b193a092/index.m3u8",
"reason": null
}
},
{
"spider": "闪电",
"file": "闪电.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.935,
"init": 0.001,
"home": 0.002,
"category": 653.392,
"detail": 324.645,
"player": 0.003,
"url_check": 923.173,
"total": 1909.692
},
"counts": {
"classes": 5,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "186107",
"flag": "百度#闪电",
"play_id": "https://pan.baidu.com/s/1eOmGTeFIzeWjKX1B2sZhZQ?pwd=6688"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1eOmGTeFIzeWjKX1B2sZhZQ?pwd=6688",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=eOmGTeFIzeWjKX1B2sZhZQ&pwd=6688",
"reason": null
}
},
{
"spider": "雷鲸",
"file": "雷鲸.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.793,
"init": 0.002,
"home": 0.003,
"category": 25612.348,
"detail": 607.309,
"player": 0.004,
"url_check": 189.466,
"total": 26414.342
},
"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": 9.397,
"init": 0.002,
"home": 1293.899,
"category": 1293.569,
"detail": 5090.566,
"player": 953.764,
"url_check": 115.261,
"total": 8757.09
},
"counts": {
"classes": 18,
"category_videos": 25,
"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=1785201573&sign=f16399b9f9683c96dc7ebd291cdf9ef7&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=1785201573&sign=f16399b9f9683c96dc7ebd291cdf9ef7&ip=222.210.194.251",
"reason": null
}
},
{
"spider": "韩小圈",
"file": "韩小圈.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 11.098,
"init": 0.001,
"home": 0.001,
"category": 429.035,
"detail": 459.064,
"player": 0.011,
"url_check": 1001.906,
"total": 1901.864
},
"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.522,
"init": 0.0,
"home": 0.001,
"category": 333.399,
"detail": 340.31,
"player": 0.002,
"url_check": 77.591,
"total": 755.248
},
"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": 3.969,
"init": 0.001,
"home": 0.001,
"category": 1118.852,
"detail": 1229.362,
"player": 1121.006,
"url_check": 757.181,
"total": 4230.972
},
"counts": {
"classes": 4,
"category_videos": 40,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "246398",
"flag": "茅台资源1",
"play_id": "/vodplay/246398-4-1.html"
},
"player": {
"parse": 0,
"url": "https://vodcnd16.trjho.com/20260727/ygUlLwNv/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vodcnd16.trjho.com/20260727/ygUlLwNv/index.m3u8",
"reason": null
}
},
{
"spider": "魔方APP",
"file": "魔方APP.txt",
"success": false,
"failed_stage": "home",
"error": "分类列表为空",
"traceback": null,
"timings_ms": {
"module_load": 4.991,
"init": 0.001,
"home": 535.197,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 540.525
},
"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.026,
"init": 0.0,
"home": 0.0,
"category": 276.047,
"detail": 312.526,
"player": 0.014,
"url_check": 477.725,
"total": 1070.983
},
"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": 4.486,
"init": 0.001,
"home": 216.22,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 221.008
},
"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
}
}
]
}