Files
tvboxzt/spider_validation.json
T
2026-07-05 10:20:35 +08:00

3689 lines
112 KiB
JSON

{
"generated_at": "2026-07-05T10:19:58+08:00",
"max_workers": 16,
"total_duration_ms": 33262.251,
"summary": {
"total": 94,
"success": 68,
"failed": 26,
"success_rate": 0.7234,
"stage_failures": {
"module_load": 0,
"init": 0,
"home": 8,
"category": 12,
"detail": 0,
"player": 2,
"url_check": 1,
"unexpected": 3
}
},
"results": [
{
"spider": "4KVM",
"file": "4KVM.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 253.9,
"init": 0.0,
"home": 445.11,
"category": 0.028,
"detail": 389.0,
"player": 753.81,
"url_check": 473.398,
"total": 2318.021
},
"counts": {
"classes": 6,
"category_videos": 24,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "-1",
"vod_id": "cgzq7f3tf",
"flag": "alists",
"play_id": "1551|cgzq7f3tf"
},
"player": {
"parse": 0,
"url": "https://oss.douyinbit.com/m3u8/91e2b5a0adf762088d9e61a21c0e1ccf.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://oss.douyinbit.com/m3u8/91e2b5a0adf762088d9e61a21c0e1ccf.m3u8",
"reason": null
}
},
{
"spider": "4K指南",
"file": "4K指南.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 250.371,
"init": 0.001,
"home": 0.003,
"category": 870.519,
"detail": 552.086,
"player": 0.004,
"url_check": 163.508,
"total": 1838.376
},
"counts": {
"classes": 5,
"category_videos": 50,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "zuixin",
"vod_id": "20505",
"flag": "夸克网盘",
"play_id": "push://https://pan.quark.cn/s/36102771ee20"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/36102771ee20",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/36102771ee20",
"reason": null
}
},
{
"spider": "6V磁力",
"file": "6V磁力.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 254.62,
"init": 0.006,
"home": 0.002,
"category": 765.241,
"detail": 661.198,
"player": 0.002,
"url_check": 0.051,
"total": 1688.268
},
"counts": {
"classes": 12,
"category_videos": 18,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "dianshiju/guoju",
"vod_id": "/dianshiju/guoju/29013.html",
"flag": "01-08.1080p.HD国语中字无水印.mkv",
"play_id": "magnet:?xt=urn:btih:3aeff64366832da4b49eaa52ae5b01f51d1e7bc4&dn=%E9%97%AE%E5%BF%832.%E7%AC%AC01-08%E9%9B%86"
},
"player": {
"parse": 0,
"url": "magnet:?xt=urn:btih:3aeff64366832da4b49eaa52ae5b01f51d1e7bc4&dn=%E9%97%AE%E5%BF%832.%E7%AC%AC01-08%E9%9B%86",
"valid": true,
"reachable": null,
"status_code": null,
"final_url": "magnet:?xt=urn:btih:3aeff64366832da4b49eaa52ae5b01f51d1e7bc4&dn=%E9%97%AE%E5%BF%832.%E7%AC%AC01-08%E9%9B%86",
"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": 256.467,
"init": 0.001,
"home": 629.965,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 892.271
},
"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": "PPnix",
"file": "PPnix.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 256.345,
"init": 0.001,
"home": 0.002,
"category": 750.568,
"detail": 604.599,
"player": 0.013,
"url_check": 220.205,
"total": 1837.585
},
"counts": {
"classes": 2,
"category_videos": 24,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "movie/8280.html",
"flag": "PPnix",
"play_id": "8280|1080P"
},
"player": {
"parse": 0,
"url": "https://www.ppnix.com/info/m3u8/8280/1080P.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://www.ppnix.com/info/m3u8/8280/1080P.m3u8",
"reason": null
}
},
{
"spider": "Pomo",
"file": "Pomo.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 252.134,
"init": 0.001,
"home": 0.003,
"category": 296.983,
"detail": 321.681,
"player": 0.003,
"url_check": 0.059,
"total": 880.468
},
"counts": {
"classes": 7,
"category_videos": 16,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "zuixin",
"vod_id": "3137",
"flag": "Obsession.2026.2160p.iT.WEB-DL.UNRATED.DV.HDR10+.MULTi.FRE.LAT.DDP5.1.Atmos.H265.MP4-BEN.THE.MEN · 4K · 21.74GB",
"play_id": "magnet:?xt=urn:btih:2ce4a94acc287b04bb190c0756d667e409c9fdb4"
},
"player": {
"parse": 0,
"url": "magnet:?xt=urn:btih:2ce4a94acc287b04bb190c0756d667e409c9fdb4",
"valid": true,
"reachable": null,
"status_code": null,
"final_url": "magnet:?xt=urn:btih:2ce4a94acc287b04bb190c0756d667e409c9fdb4",
"reason": "非 HTTP 地址,按协议格式通过"
}
},
{
"spider": "QQ音乐",
"file": "QQ音乐.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 248.352,
"init": 0.016,
"home": 0.007,
"category": 483.81,
"detail": 410.96,
"player": 985.883,
"url_check": 175.014,
"total": 2307.655
},
"counts": {
"classes": 6,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "playlist",
"vod_id": "playlist:7532669470",
"flag": "QQ音乐",
"play_id": "qqmusic:000yjF3d1KHZyh:689548172|好想谈恋爱 (Live) - 单依纯"
},
"player": {
"parse": 0,
"url": "https://isure.stream.qqmusic.qq.com/F000000yjF3d1KHZyh.flac?guid=4f04085e2e6bdc711d067b89d907469f&vkey=552E10124186750414034C1224991095CFE67CBCCB4A191ACE5355EC51E5D4236E7A849E6F35CC28541E406AC97709A8BED3CD05D2B13CCE__v2b9abe75&uin=1152921504846230218&fromtag=119114&src=F000003qQ2ag2V81nX.flac&redirect=1",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://isure.stream.qqmusic.qq.com/F000000yjF3d1KHZyh.flac?guid=4f04085e2e6bdc711d067b89d907469f&vkey=552E10124186750414034C1224991095CFE67CBCCB4A191ACE5355EC51E5D4236E7A849E6F35CC28541E406AC97709A8BED3CD05D2B13CCE__v2b9abe75&uin=1152921504846230218&fromtag=119114&src=F000003qQ2ag2V81nX.flac&redirect=1",
"reason": null
}
},
{
"spider": "YouTube",
"file": "YouTube.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 251.724,
"init": 0.003,
"home": 0.062,
"category": 676.753,
"detail": 1812.928,
"player": 0.005,
"url_check": 983.852,
"total": 3730.91
},
"counts": {
"classes": 29,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "cat_recommend",
"vod_id": "yt:video:E3jcQgR3TNE",
"flag": "YouTube",
"play_id": "yt:video:E3jcQgR3TNE"
},
"player": {
"parse": 0,
"url": "https://www.youtube.com/watch?v=E3jcQgR3TNE",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://www.youtube.com/watch?v=E3jcQgR3TNE",
"reason": null
}
},
{
"spider": "libvio",
"file": "libvio.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 248.57,
"init": 0.001,
"home": 0.001,
"category": 298.846,
"detail": 214.584,
"player": 0.005,
"url_check": 168.855,
"total": 933.043
},
"counts": {
"classes": 6,
"category_videos": 48,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "index",
"vod_id": "714893521",
"flag": "夸克",
"play_id": "https://pan.quark.cn/s/0b4f7ab417e6||2"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/0b4f7ab417e6||2",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/0b4f7ab417e6%7C%7C2",
"reason": null
}
},
{
"spider": "mifun",
"file": "mifun.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 244.9,
"init": 0.005,
"home": 931.015,
"category": 918.163,
"detail": 529.21,
"player": 725.967,
"url_check": 190.052,
"total": 3542.076
},
"counts": {
"classes": 5,
"category_videos": 30,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "19797",
"flag": "快看云",
"play_id": "快看云@@direct@@ba11073ae57ba0eede130eeda148f635,v02dadg10001d94kjovog65ku8jaqjr0,token+,1,1"
},
"player": {
"parse": 0,
"url": "https://v6.douyinvod.com/68f4e0d3a0abf66e4980daa4bef83804/6a4a0b44/video/tos/cn/tos-cn-v-5f73e7/owfjMneiUqE9IgENk1aF5avDB2UsSI1SnpCHrA/?a=0&ch=0&cr=0&dr=2&er=0&lr=test&cd=0%7C0%7C0%7C0&br=2168&bt=2168&cs=0&ds=4&ft=S9lstHiHH_Myq8Zrwx2_e2NvjTQ&mime_type=video_mp4&qs=13&rc=M21kO245cnJuPDQzNGdnM0BpM21kO245cnJuPDQzNGdnM0BvbmdyMmRzZzFhLS1kXi9zYSNvbmdyMmRzZzFhLS1kXi9zcw%3D%3D&btag=c0000e00038000&dy_q=1783214476&l=20260705092116A24DCA310B9BD8151358",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://v6.douyinvod.com/68f4e0d3a0abf66e4980daa4bef83804/6a4a0b44/video/tos/cn/tos-cn-v-5f73e7/owfjMneiUqE9IgENk1aF5avDB2UsSI1SnpCHrA/?a=0&ch=0&cr=0&dr=2&er=0&lr=test&cd=0%7C0%7C0%7C0&br=2168&bt=2168&cs=0&ds=4&ft=S9lstHiHH_Myq8Zrwx2_e2NvjTQ&mime_type=video_mp4&qs=13&rc=M21kO245cnJuPDQzNGdnM0BpM21kO245cnJuPDQzNGdnM0BvbmdyMmRzZzFhLS1kXi9zYSNvbmdyMmRzZzFhLS1kXi9zcw%3D%3D&btag=c0000e00038000&dy_q=1783214476&l=20260705092116A24DCA310B9BD8151358",
"reason": null
}
},
{
"spider": "youknow",
"file": "youknow.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 247.756,
"init": 0.001,
"home": 0.001,
"category": 1885.539,
"detail": 1488.809,
"player": 1070.561,
"url_check": 1622.213,
"total": 6317.16
},
"counts": {
"classes": 7,
"category_videos": 225,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "index",
"vod_id": "205003",
"flag": "YouKnowTV",
"play_id": "eyJ2b2RfaWQiOiIyMDUwMDMiLCJlcGlzb2RlX2luZGV4IjoxLCJ0aXRsZSI6IuesrDHpm4YiLCJjYW5kaWRhdGVzIjpbeyJzb3VyY2UiOiLnur_ot68xIiwic291cmNlX2lkIjoiMSIsImVwaXNvZGVfdXJsIjoiaHR0cHM6Ly93d3cueW91a25vdy50di9wLzIwNTAwMy0xLTEvIn0seyJzb3VyY2UiOiLnur_ot68yIiwic291cmNlX2lkIjoiMSIsImVwaXNvZGVfdXJsIjoiaHR0cHM6Ly93d3cueW91a25vdy50di9wLzIwNTAwMy0xLTEvIn0seyJzb3VyY2UiOiLnur_ot68xOCIsInNvdXJjZV9pZCI6IjIiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8yMDUwMDMtMi0xLyJ9LHsic291cmNlIjoi57q_6LevMTkiLCJzb3VyY2VfaWQiOiIyIiwiZXBpc29kZV91cmwiOiJodHRwczovL3d3dy55b3Vrbm93LnR2L3AvMjA1MDAzLTItMS8ifSx7InNvdXJjZSI6Iue6v-i3rzMzIiwic291cmNlX2lkIjoiMyIsImVwaXNvZGVfdXJsIjoiaHR0cHM6Ly93d3cueW91a25vdy50di9wLzIwNTAwMy0zLTEvIn0seyJzb3VyY2UiOiLnur_ot68zNCIsInNvdXJjZV9pZCI6IjMiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8yMDUwMDMtMy0xLyJ9XX0"
},
"player": {
"parse": 0,
"url": "https://vip.dytt-tvs.com/20260627/25759_ba307c1f/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://play2.jimxtc.com/20260627/25759_ba307c1f/index.m3u8",
"reason": null
}
},
{
"spider": "七味",
"file": "七味.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 247.921,
"init": 0.019,
"home": 0.002,
"category": 3250.866,
"detail": 863.15,
"player": 19272.572,
"url_check": 760.845,
"total": 24402.177
},
"counts": {
"classes": 5,
"category_videos": 42,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "506838",
"flag": "暴风 1",
"play_id": "pcmp4:/py/506838-1-1.html"
},
"player": {
"parse": 1,
"url": "https://www.pcmp4.com/py/506838-1-1.html",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://www.pcmp4.com/py/506838-1-1.html",
"reason": null
}
},
{
"spider": "不太灵",
"file": "不太灵.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 249.675,
"init": 0.001,
"home": 1067.803,
"category": 983.577,
"detail": 1410.622,
"player": 0.008,
"url_check": 1204.679,
"total": 6909.215
},
"counts": {
"classes": 5,
"category_videos": 25,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "2",
"vod_id": "36310054",
"flag": "百度",
"play_id": "https://pan.baidu.com/s/18_BEUEFJ_WmP3DaJIsxUfQ?pwd=Yu66"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/18_BEUEFJ_WmP3DaJIsxUfQ?pwd=Yu66",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=8_BEUEFJ_WmP3DaJIsxUfQ&pwd=Yu66",
"reason": null
}
},
{
"spider": "世纪音乐",
"file": "世纪音乐.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 246.87,
"init": 0.001,
"home": 766.193,
"category": 111.768,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 1229.897
},
"counts": {
"classes": 5,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "rank_list",
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "两个BT",
"file": "两个BT.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 245.812,
"init": 0.001,
"home": 0.005,
"category": 437.231,
"detail": 382.548,
"player": 778.298,
"url_check": 545.611,
"total": 2396.619
},
"counts": {
"classes": 14,
"category_videos": 24,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "zgjun",
"vod_id": "ch49vilg4",
"flag": "两个BT",
"play_id": "eyJwaWQiOiIvcGxheS9jaDQ5dmlsZzQiLCJzaWQiOiJjaDQ5dmlsZzQiLCJuYW1lIjoiMSJ9"
},
"player": {
"parse": 0,
"url": "https://zijieapi.douyinbyte.com/m3u8/d0fc55d4b7313b75baf6e95deeba5712.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://zijieapi.douyinbyte.com/m3u8/d0fc55d4b7313b75baf6e95deeba5712.m3u8",
"reason": null
}
},
{
"spider": "乌云影视",
"file": "乌云影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 244.596,
"init": 0.001,
"home": 317.459,
"category": 484.18,
"detail": 964.061,
"player": 0.024,
"url_check": 1337.274,
"total": 3355.585
},
"counts": {
"classes": 7,
"category_videos": 24,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "movie",
"vod_id": "1092523",
"flag": "乌云影视",
"play_id": "eyJtZWRpYUlkIjogIjEwOTI1MjMiLCAic2Vhc29uTm8iOiAxLCAiZXBObyI6IDEsICJ2aWRlb0lkIjogNTEyNjg4OTAsICJwbGF5VXJsIjogImh0dHBzOi8vd29veXVuLnR2L2dlbl9vdmVyc2Vhcy9odHRwczovL3YxMC5iYW9mZW5nMTAuY29tL3ZpZGVvL2h1b3poZXlhbjIwMjUvOTRhN2QxNjA3ZWIyL2luZGV4Lm0zdTgiLCAibmFtZSI6ICLnrKwx6ZuGIEhEIn0"
},
"player": {
"parse": 0,
"url": "https://wooyun.tv/gen_overseas/https://v10.baofeng10.com/video/huozheyan2025/94a7d1607eb2/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vod-cdn.findtv.me/hls_overseas/186f2e8c568f03a42379c763d0d419da658bfb23.m3u8",
"reason": null
}
},
{
"spider": "乐兔",
"file": "乐兔.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 3.845,
"init": 0.0,
"home": 0.0,
"category": 412.884,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 851.726
},
"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": 6.553,
"init": 0.001,
"home": 0.001,
"category": 1449.742,
"detail": 990.693,
"player": 0.004,
"url_check": 1114.42,
"total": 3561.997
},
"counts": {
"classes": 4,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "12583",
"flag": "百度#二小",
"play_id": "https://pan.baidu.com/s/131Ud-vWizKFBM4SIaNhMXg?pwd=pc29"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/131Ud-vWizKFBM4SIaNhMXg?pwd=pc29",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=31Ud-vWizKFBM4SIaNhMXg&pwd=pc29",
"reason": null
}
},
{
"spider": "人人电影",
"file": "人人电影.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.914,
"init": 0.001,
"home": 0.001,
"category": 512.964,
"detail": 405.924,
"player": 0.014,
"url_check": 1038.332,
"total": 1963.514
},
"counts": {
"classes": 4,
"category_videos": 10,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "movie/list_2",
"vod_id": "/movie/2026/0704/60051.html",
"flag": "baidu",
"play_id": "https://pan.baidu.com/s/1w-aCqFHiQUa1SB6vkSpRCA?pwd=hyiq"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1w-aCqFHiQUa1SB6vkSpRCA?pwd=hyiq",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=w-aCqFHiQUa1SB6vkSpRCA&pwd=hyiq",
"reason": null
}
},
{
"spider": "人人视频",
"file": "人人视频.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.242,
"init": 0.0,
"home": 874.719,
"category": 298.287,
"detail": 258.593,
"player": 968.666,
"url_check": 182.805,
"total": 4409.126
},
"counts": {
"classes": 4,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "MOVIE",
"vod_id": "57568",
"flag": "人人专线",
"play_id": "57568@384680"
},
"player": {
"parse": 0,
"url": "https://a1ri9koe1mal7e4.302.fledgecloud.com:56782/zj-302-cdn.bwcgee.cn/f0f17f81746971f1bc135017e1f90402/cfd55437185344cd92e3474bef8af143-e930a31e3d8a24dc43726b4175a85e9b-ld.mp4?auth_key=1783232395-4fb578cf22b942c9e44d629e9dfa33e9-0-63be18a1253f166fb47c578dd17d314f&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=b3577877a4f74337a7d8256b12d539d4&hevc=false&seasonId=57568",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://a1ri9koe1mal7e4.302.fledgecloud.com:56782/zj-302-cdn.bwcgee.cn/f0f17f81746971f1bc135017e1f90402/cfd55437185344cd92e3474bef8af143-e930a31e3d8a24dc43726b4175a85e9b-ld.mp4?auth_key=1783232395-4fb578cf22b942c9e44d629e9dfa33e9-0-63be18a1253f166fb47c578dd17d314f&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=b3577877a4f74337a7d8256b12d539d4&hevc=false&seasonId=57568",
"reason": null
}
},
{
"spider": "优酷",
"file": "优酷.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 9.087,
"init": 0.001,
"home": 0.001,
"category": 273.409,
"detail": 599.015,
"player": 0.003,
"url_check": 244.182,
"total": 1126.128
},
"counts": {
"classes": 6,
"category_videos": 23,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "电视剧",
"vod_id": "show:ffefdd76a5b344e0a48b",
"flag": "优酷",
"play_id": "https://v.youku.com/v_show/id_XNjUzNzUzMjIxNg==.html"
},
"player": {
"parse": 1,
"url": "https://v.youku.com/v_show/id_XNjUzNzUzMjIxNg==.html",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://v.youku.com/v_show/id_XNjUzNzUzMjIxNg==.html",
"reason": null
}
},
{
"spider": "低端影视",
"file": "低端影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.427,
"init": 0.001,
"home": 0.001,
"category": 1086.564,
"detail": 1377.516,
"player": 0.011,
"url_check": 814.382,
"total": 3283.455
},
"counts": {
"classes": 4,
"category_videos": 24,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "series",
"vod_id": "movie/jia-shi-fa-ting",
"flag": "播放源 1 (1080P)",
"play_id": "https://v.lfthirtytwo.com/20260325/3347_fa44b941/index.m3u8"
},
"player": {
"parse": 0,
"url": "https://v.lfthirtytwo.com/20260325/3347_fa44b941/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://v.lfthirtytwo.com/20260325/3347_fa44b941/index.m3u8",
"reason": null
}
},
{
"spider": "修罗",
"file": "修罗.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 16.802,
"init": 0.001,
"home": 0.001,
"category": 1095.933,
"detail": 210.24,
"player": 1982.982,
"url_check": 750.413,
"total": 4058.385
},
"counts": {
"classes": 4,
"category_videos": 24,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "movie",
"vod_id": "fanzui/26981",
"flag": "修罗直连",
"play_id": "play/26981-0"
},
"player": {
"parse": 0,
"url": "https://vod.xlys.cc.ua/hls_maliva_f83e00c7-b19d-4a40-9cfd-6a9db77cd859.m3u8.png#maliva",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vod.xlys.cc.ua/hls_maliva_f83e00c7-b19d-4a40-9cfd-6a9db77cd859.m3u8.png#maliva",
"reason": null
}
},
{
"spider": "免费短剧",
"file": "免费短剧.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.936,
"init": 0.009,
"home": 0.001,
"category": 249.104,
"detail": 194.405,
"player": 0.002,
"url_check": 1239.302,
"total": 1692.349
},
"counts": {
"classes": 4,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "2",
"vod_id": "https://20.90kan.cc/?id=61344",
"flag": "百度",
"play_id": "https://pan.baidu.com/s/1gU7t14y-Sltn-kRhKnEYaA?pwd=6666"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1gU7t14y-Sltn-kRhKnEYaA?pwd=6666",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=gU7t14y-Sltn-kRhKnEYaA&pwd=6666",
"reason": null
}
},
{
"spider": "农民",
"file": "农民.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 7.003,
"init": 0.001,
"home": 290.233,
"category": 204.333,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 702.12
},
"counts": {
"classes": 5,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "juji",
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "凡客TV",
"file": "凡客TV.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 5.393,
"init": 0.001,
"home": 0.0,
"category": 271.904,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 680.533
},
"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.347,
"init": 0.0,
"home": 0.0,
"category": 803.284,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 1548.879
},
"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": 5.453,
"init": 145.107,
"home": 0.076,
"category": 99.907,
"detail": 87.6,
"player": 110.489,
"url_check": 74.536,
"total": 524.193
},
"counts": {
"classes": 5,
"category_videos": 21,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "2",
"vod_id": "194669",
"flag": "超清F线×支持下载",
"play_id": "ffm3u8@https://vod.ffzy-bofang.com/20260704/450_f5f8590c/index.m3u8"
},
"player": {
"parse": 0,
"url": "http://43.248.117.123:7890/Vtche/FF/851479186.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://43.248.117.123:7890/Vtche/FF/851479186.m3u8",
"reason": null
}
},
{
"spider": "剧迷",
"file": "剧迷.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.397,
"init": 0.001,
"home": 0.001,
"category": 225.769,
"detail": 412.066,
"player": 447.003,
"url_check": 1396.545,
"total": 2487.618
},
"counts": {
"classes": 6,
"category_videos": 54,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "465820",
"flag": "gimy",
"play_id": "465820-1-1"
},
"player": {
"parse": 0,
"url": "https://vip.dytt-see.com/20260704/41831_e562e1ba/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vip.dytt-see.com/20260704/41831_e562e1ba/index.m3u8",
"reason": null
}
},
{
"spider": "华数影视",
"file": "华数影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.924,
"init": 0.001,
"home": 0.001,
"category": 674.62,
"detail": 223.735,
"player": 229.106,
"url_check": 194.162,
"total": 1327.283
},
"counts": {
"classes": 5,
"category_videos": 40,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "961",
"vod_id": "961@175614",
"flag": "华数专线",
"play_id": "aHR0cHM6Ly92aWRlby41Zy53YXN1LnR2L3Bjc2FuMjQvcGMvbW92aWUvMjAyNi0wNi8yMi8yMDI2MDYyMjA5Mjc0ODUwOFVuRFRSQVpOLm1wNA"
},
"player": {
"parse": 0,
"url": "https://pcvideo.5g.wasu.tv/pcsan24/pc/movie/2026-06/22/20260622092748508UnDTRAZN/playlist.m3u8?auth_key=1783217995-0-0-fd03262b23bbaf02d9f77b49c06da80e",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pcvideo.5g.wasu.tv/pcsan24/pc/movie/2026-06/22/20260622092748508UnDTRAZN/playlist.m3u8?auth_key=1783217995-0-0-fd03262b23bbaf02d9f77b49c06da80e",
"reason": null
}
},
{
"spider": "博看听书",
"file": "博看听书.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.514,
"init": 0.001,
"home": 3387.224,
"category": 269.826,
"detail": 721.107,
"player": 0.002,
"url_check": 260.682,
"total": 4643.735
},
"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": 5.422,
"init": 993.353,
"home": 0.004,
"category": 170.366,
"detail": 190.517,
"player": 0.003,
"url_check": 140.482,
"total": 1501.366
},
"counts": {
"classes": 7,
"category_videos": 15,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "ju",
"vod_id": "/ju/10825.html",
"flag": "夸克",
"play_id": "https://pan.quark.cn/s/5d981674fc94"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/5d981674fc94",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/5d981674fc94",
"reason": null
}
},
{
"spider": "听书",
"file": "听书.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.068,
"init": 82.697,
"home": 0.002,
"category": 167.771,
"detail": 1917.301,
"player": 245.277,
"url_check": 127.612,
"total": 2546.22
},
"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=dc16c7ae3fc067860ac6f16bb9b89fcd&buy_key=FM&token=2662&timestamp=1783217996&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=dc16c7ae3fc067860ac6f16bb9b89fcd&buy_key=FM&token=2662&timestamp=1783217996&duration=453",
"reason": null
}
},
{
"spider": "听友FM",
"file": "听友FM.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.122,
"init": 0.0,
"home": 411.052,
"category": 687.893,
"detail": 888.173,
"player": 317.59,
"url_check": 746.68,
"total": 3060.951
},
"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=1783217144&sign=7e99860bb35b5c550628450b2ec4b439",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://file.hgeuz.cn/stream/eJwANwDI_wJVZgVKIIrU0ECux-GJ1PSt38ahythCqsH-r9TAQ4rj5F94rOjbQKjk063xyIX2z3hfeGcIHF4BAAD__5DtISY.?ts=1783217144&sign=7e99860bb35b5c550628450b2ec4b439",
"reason": null
}
},
{
"spider": "咕咕动漫",
"file": "咕咕动漫.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 9.116,
"init": 0.005,
"home": 432.984,
"category": 401.026,
"detail": 401.036,
"player": 1434.983,
"url_check": 194.668,
"total": 2875.423
},
"counts": {
"classes": 3,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "6",
"vod_id": "5046",
"flag": "咕咕新线(国内高速)",
"play_id": "parse_api=a2796a09189261bcaf3cc4542d7c5ac2&url=dTr+6L45wR8dazYBq2SCmZoOO/BET4epg+b4XoJcVhAxF7FS6KaoAw//sHihvw0O&token=|穹庐下的魔女|1"
},
"player": {
"parse": 0,
"url": "https://p3-bot-workflow-sign.byteimg.com/tos-cn-i-mdko3gqilj/8c63a1451a5844ca883653b120973441~tplv-mdko3gqilj-image.image?rk3s=81d4c505&x-expires=1814321996&x-signature=5uaAphBIeKY72n6KGt0v%2Fskka1w%3D",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://p3-bot-workflow-sign.byteimg.com/tos-cn-i-mdko3gqilj/8c63a1451a5844ca883653b120973441~tplv-mdko3gqilj-image.image?rk3s=81d4c505&x-expires=1814321996&x-signature=5uaAphBIeKY72n6KGt0v%2Fskka1w%3D",
"reason": null
}
},
{
"spider": "四万影视",
"file": "四万影视.txt",
"success": false,
"failed_stage": "category",
"error": "HTTPSConnectionPool(host='40000.me', port=443): Read timed out. (read timeout=10)",
"traceback": null,
"timings_ms": {
"module_load": 5.749,
"init": 0.001,
"home": 0.001,
"category": 10019.538,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 20047.034
},
"counts": {
"classes": 5,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "30",
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "在线之家",
"file": "在线之家.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 8.91,
"init": 0.001,
"home": 0.001,
"category": 798.151,
"detail": 1366.561,
"player": 934.166,
"url_check": 313.43,
"total": 4006.714
},
"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": 8.836,
"init": 0.001,
"home": 0.001,
"category": 428.62,
"detail": 1948.115,
"player": 0.003,
"url_check": 1193.857,
"total": 3580.012
},
"counts": {
"classes": 6,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "9608",
"flag": "百度#多多",
"play_id": "https://pan.baidu.com/s/12wqwpe1FKWH0zEPzozbHwA?pwd=yyds"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/12wqwpe1FKWH0zEPzozbHwA?pwd=yyds",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=2wqwpe1FKWH0zEPzozbHwA&pwd=yyds",
"reason": null
}
},
{
"spider": "如意资源",
"file": "如意资源.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.018,
"init": 0.001,
"home": 0.007,
"category": 943.079,
"detail": 373.22,
"player": 0.005,
"url_check": 1942.344,
"total": 3265.777
},
"counts": {
"classes": 6,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "80689",
"flag": "rym3u8",
"play_id": "https://svip.ryiplay18.com/20260630/7616_fe26260c/index.m3u8"
},
"player": {
"parse": 0,
"url": "https://svip.ryiplay18.com/20260630/7616_fe26260c/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://svip.ryiplay18.com/20260630/7616_fe26260c/index.m3u8",
"reason": null
}
},
{
"spider": "寻川4K",
"file": "寻川4K.txt",
"success": false,
"failed_stage": "home",
"error": "分类列表为空",
"traceback": null,
"timings_ms": {
"module_load": 8.114,
"init": 498.877,
"home": 451.776,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 959.005
},
"counts": {
"classes": 0,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": null,
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "山楂影视",
"file": "山楂影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 7.106,
"init": 1248.396,
"home": 634.307,
"category": 1285.608,
"detail": 1411.482,
"player": 1748.748,
"url_check": 94.025,
"total": 6430.368
},
"counts": {
"classes": 8,
"category_videos": 40,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "M16",
"vod_id": "970985",
"flag": "优酷",
"play_id": "970985@85@15870349@episode"
},
"player": {
"parse": "0",
"url": "http://110.42.49.74:2222/jx/cache/scorpio_m3u8/6a375fb51b465b638f21e1b7406e37f2.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://110.42.49.74:2222/jx/cache/scorpio_m3u8/6a375fb51b465b638f21e1b7406e37f2.m3u8",
"reason": null
}
},
{
"spider": "布布影视",
"file": "布布影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.668,
"init": 0.001,
"home": 0.0,
"category": 863.159,
"detail": 696.084,
"player": 1694.722,
"url_check": 850.366,
"total": 4111.171
},
"counts": {
"classes": 4,
"category_videos": 24,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "86421",
"flag": "JD蓝光(1)",
"play_id": "JD4K@1@JD-3823d951135350f7454bb0f521eaa5a70"
},
"player": {
"parse": 0,
"url": "https://media-bjcy-fy-person01.bjoss.ctyunxs.cn/PERSONCLOUD/874f908a-f9df-4538-942a-7342fda0ff8a.m3u8?x-amz-CLIENTTYPEIN=UNKNOWN&AWSAccessKeyId=0Lg7dAq3ZfHvePP8DKEU&x-amz-userLevel=0&x-amz-limitrate=51200&x-amz-UID=269636103&x-amz-APPID=828221&response-content-disposition=attachment%3Bfilename%3D%22%E6%AD%A3%E7%89%87.m3u8%22%3Bfilename*%3DUTF-8%27%27%25E6%25AD%25A3%25E7%2589%2587.m3u8&x-amz-CLIENTNETWORK=UNKNOWN&x-amz-CLOUDTYPEIN=PERSON&Signature=N17M8W6%2BXK7HE4Ugwlt5nvxsCIU%3D&Expires=1783218299&x-amz-FSIZE=58373&x-amz-UFID=624471240788981016",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://media-bjcy-fy-person01.bjoss.ctyunxs.cn/PERSONCLOUD/874f908a-f9df-4538-942a-7342fda0ff8a.m3u8?x-amz-CLIENTTYPEIN=UNKNOWN&AWSAccessKeyId=0Lg7dAq3ZfHvePP8DKEU&x-amz-userLevel=0&x-amz-limitrate=51200&x-amz-UID=269636103&x-amz-APPID=828221&response-content-disposition=attachment%3Bfilename%3D%22%E6%AD%A3%E7%89%87.m3u8%22%3Bfilename*%3DUTF-8%27%27%25E6%25AD%25A3%25E7%2589%2587.m3u8&x-amz-CLIENTNETWORK=UNKNOWN&x-amz-CLOUDTYPEIN=PERSON&Signature=N17M8W6%2BXK7HE4Ugwlt5nvxsCIU%3D&Expires=1783218299&x-amz-FSIZE=58373&x-amz-UFID=624471240788981016",
"reason": null
}
},
{
"spider": "微观短剧",
"file": "微观短剧.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.119,
"init": 0.024,
"home": 177.555,
"category": 238.087,
"detail": 371.892,
"player": 0.002,
"url_check": 73.11,
"total": 866.528
},
"counts": {
"classes": 30,
"category_videos": 30,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "都市",
"vod_id": "110000044555935694",
"flag": "1080P",
"play_id": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1783217997&sign=cb9b671fa6e53f02a7f3f0d7d665cb8a"
},
"player": {
"parse": 0,
"url": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1783217997&sign=cb9b671fa6e53f02a7f3f0d7d665cb8a",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1783217997&sign=cb9b671fa6e53f02a7f3f0d7d665cb8a",
"reason": null
}
},
{
"spider": "新片预告",
"file": "新片预告.txt",
"success": false,
"failed_stage": "url_check",
"error": "HTTPSConnectionPool(host='media.kg-portal.ru', port=443): Read timed out. (read timeout=5)",
"traceback": null,
"timings_ms": {
"module_load": 6.018,
"init": 0.001,
"home": 211.454,
"category": 205.795,
"detail": 253.888,
"player": 267.564,
"url_check": 5012.735,
"total": 5958.084
},
"counts": {
"classes": 1,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "movlist/",
"vod_id": "/movie/81838",
"flag": "预告片",
"play_id": "/show/195626"
},
"player": {
"parse": 0,
"url": "https://media.kg-portal.ru/movies/h/hungergamessunriseonthereaping/trailers/hungergamessunriseonthereaping_zakadromhejmitch_1920.mp4",
"valid": false,
"reachable": false,
"status_code": null,
"final_url": "https://media.kg-portal.ru/movies/h/hungergamessunriseonthereaping/trailers/hungergamessunriseonthereaping_zakadromhejmitch_1920.mp4",
"reason": "HTTPSConnectionPool(host='media.kg-portal.ru', port=443): Read timed out. (read timeout=5)"
}
},
{
"spider": "新韩剧网",
"file": "新韩剧网.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.222,
"init": 0.001,
"home": 0.001,
"category": 588.309,
"detail": 402.013,
"player": 339.774,
"url_check": 998.855,
"total": 2335.929
},
"counts": {
"classes": 5,
"category_videos": 16,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "3559",
"flag": "在线云播",
"play_id": "3559_1_1"
},
"player": {
"parse": 0,
"url": "https://cdn.yzzyvip-29.com/20260201/16425_49d7d186/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://cdn.yzzyvip-29.com/20260201/16425_49d7d186/index.m3u8",
"reason": null
}
},
{
"spider": "星星短剧",
"file": "星星短剧.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.037,
"init": 0.001,
"home": 0.001,
"category": 1321.019,
"detail": 769.923,
"player": 0.01,
"url_check": 727.214,
"total": 2827.155
},
"counts": {
"classes": 5,
"category_videos": 10,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1287",
"vod_id": "422599939194881@@穿越诡计爱上你@@苏清韵为了给妹妹治病,卖身富豪被卓熙辰所救,答应卓熙辰的契约婚姻。苏清韵受到了爱慕卓熙辰的上官溪玲的疯狂攻击与算计,导致妹妹离世。苏清韵误会记恨卓熙辰因此拿刀伤了他,自己也被判入狱五年。",
"flag": "星星短剧",
"play_id": "https://img.novel.wsljf.xyz/shortPlay-mp4/420424102051841/EvnIm1746774634078/abc6208e-390b-4533-a1a4-b9e5741cc384/540x960/output.m3u8"
},
"player": {
"parse": 0,
"url": "https://img.novel.wsljf.xyz/shortPlay-mp4/420424102051841/EvnIm1746774634078/abc6208e-390b-4533-a1a4-b9e5741cc384/540x960/output.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://img.novel.wsljf.xyz/shortPlay-mp4/420424102051841/EvnIm1746774634078/abc6208e-390b-4533-a1a4-b9e5741cc384/540x960/output.m3u8",
"reason": null
}
},
{
"spider": "木偶",
"file": "木偶.txt",
"success": false,
"failed_stage": "category",
"error": "('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))",
"traceback": null,
"timings_ms": {
"module_load": 9.484,
"init": 0.001,
"home": 0.001,
"category": 622.315,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 1323.787
},
"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": "樱花动漫",
"file": "樱花动漫.txt",
"success": false,
"failed_stage": "category",
"error": "HTTPSConnectionPool(host='www.dmvvv.com', port=443): Max retries exceeded with url: /type/riman/ (Caused by SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1081)')))",
"traceback": null,
"timings_ms": {
"module_load": 6.58,
"init": 0.001,
"home": 0.001,
"category": 10143.97,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 20447.971
},
"counts": {
"classes": 4,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "riman",
"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": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.821,
"init": 415.524,
"home": 363.016,
"category": 462.613,
"detail": 491.963,
"player": 806.83,
"url_check": 1036.344,
"total": 3581.889
},
"counts": {
"classes": 8,
"category_videos": 18,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "50",
"vod_id": "418834",
"flag": "一起看APP",
"play_id": "26058138"
},
"player": {
"parse": 0,
"url": "https://usaydd.up8r6jjh.com/m3u87/share/8059109/8249467/20260630/130046/720/index.m3u8?sign=8996214e02b14ca14d4de22a00d4956a&t=1783217999",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://usaydd.up8r6jjh.com/m3u87/share/8059109/8249467/20260630/130046/720/index.m3u8?sign=8996214e02b14ca14d4de22a00d4956a&t=1783217999",
"reason": null
}
},
{
"spider": "欧歌",
"file": "欧歌.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.478,
"init": 0.001,
"home": 0.001,
"category": 248.5,
"detail": 413.659,
"player": 0.035,
"url_check": 151.076,
"total": 6647.864
},
"counts": {
"classes": 6,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "31500",
"flag": "夸克",
"play_id": "https://pan.quark.cn/s/f6a7adae5984"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/f6a7adae5984",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/f6a7adae5984",
"reason": null
}
},
{
"spider": "沐辞4K",
"file": "沐辞4K.txt",
"success": false,
"failed_stage": "home",
"error": "分类列表为空",
"traceback": null,
"timings_ms": {
"module_load": 9.248,
"init": 94.873,
"home": 88.672,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 193.032
},
"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.87,
"init": 0.001,
"home": 933.331,
"category": 400.179,
"detail": 871.803,
"player": 0.031,
"url_check": 772.646,
"total": 2984.985
},
"counts": {
"classes": 10,
"category_videos": 10,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "462",
"vod_id": "41000238940",
"flag": "河马剧场",
"play_id": "https://dzzt-video.cbread.cn/18e590196f91bb3f21a6306558a9910e/6a4afe10/56/0x4/04x9/049x8/04983200014/614318265_1/614318265.720p.narrowv3.mp4"
},
"player": {
"parse": 0,
"url": "https://dzzt-video.cbread.cn/18e590196f91bb3f21a6306558a9910e/6a4afe10/56/0x4/04x9/049x8/04983200014/614318265_1/614318265.720p.narrowv3.mp4",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://dzzt-video.cbread.cn/18e590196f91bb3f21a6306558a9910e/6a4afe10/56/0x4/04x9/049x8/04983200014/614318265_1/614318265.720p.narrowv3.mp4",
"reason": null
}
},
{
"spider": "清沅4K",
"file": "清沅4K.txt",
"success": false,
"failed_stage": "home",
"error": "分类列表为空",
"traceback": null,
"timings_ms": {
"module_load": 8.815,
"init": 204.237,
"home": 15261.122,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 15474.918
},
"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": 6.762,
"init": 0.001,
"home": 0.001,
"category": 417.931,
"detail": 478.972,
"player": 0.005,
"url_check": 3029.256,
"total": 3933.662
},
"counts": {
"classes": 5,
"category_videos": 48,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "3226",
"flag": "百度",
"play_id": "https://pan.baidu.com/s/18TB9ZT-HLq32IkN9xp8I5w?pwd=5pcn"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/18TB9ZT-HLq32IkN9xp8I5w?pwd=5pcn",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=8TB9ZT-HLq32IkN9xp8I5w&pwd=5pcn",
"reason": null
}
},
{
"spider": "潮流APP",
"file": "潮流APP.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.656,
"init": 0.002,
"home": 743.964,
"category": 828.024,
"detail": 1135.226,
"player": 313.222,
"url_check": 85.636,
"total": 3111.377
},
"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://211.154.21.15:9090/nby/m3u8/getM3u8?name=jx.91by.top&time=1783218001676&url=NBY-c6d046002ed1d767bee10e93ee7f1ff8.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://211.154.21.15:9090/nby/m3u8/getM3u8?name=jx.91by.top&time=1783218001676&url=NBY-c6d046002ed1d767bee10e93ee7f1ff8.m3u8",
"reason": null
}
},
{
"spider": "灯泡影视",
"file": "灯泡影视.txt",
"success": false,
"failed_stage": "home",
"error": "分类缺少 type_id",
"traceback": null,
"timings_ms": {
"module_load": 5.855,
"init": 0.001,
"home": 0.001,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 5.981
},
"counts": {
"classes": 4,
"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": 17.653,
"init": 0.027,
"home": 4193.219,
"category": 390.447,
"detail": 171.265,
"player": 0.002,
"url_check": 123.263,
"total": 4897.362
},
"counts": {
"classes": 11,
"category_videos": 60,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "pcw:1",
"vod_id": "pcw:1$8309335207054800",
"flag": "爱奇艺",
"play_id": "http://www.iqiyi.com/v_2az3amxqym4.html"
},
"player": {
"parse": 1,
"url": "http://www.iqiyi.com/v_2az3amxqym4.html",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://www.iqiyi.com/v_2az3amxqym4.html",
"reason": null
}
},
{
"spider": "片库",
"file": "片库.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.981,
"init": 0.126,
"home": 0.001,
"category": 1400.708,
"detail": 0.002,
"player": 0.001,
"url_check": 126.995,
"total": 1537.606
},
"counts": {
"classes": 7,
"category_videos": 20,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "genre",
"vod_id": "msearch:movie-1339713",
"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": 6.187,
"init": 0.001,
"home": 0.001,
"category": 452.227,
"detail": 345.688,
"player": 318.669,
"url_check": 228.432,
"total": 1352.321
},
"counts": {
"classes": 6,
"category_videos": 48,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "index",
"vod_id": "147105",
"flag": "独播库",
"play_id": "147105-1-1"
},
"player": {
"parse": 0,
"url": "https://vid.dbokutv.com/20260704/ppotb62-S71lT2yliZApDBSvkYzBsrmD3fpCJ4nBsTsRsGlR7XgBMTdU68jC34jC314CJD3E3GmBcrmD0/chunklist.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vid.dbokutv.com/20260704/ppotb62-S71lT2yliZApDBSvkYzBsrmD3fpCJ4nBsTsRsGlR7XgBMTdU68jC34jC314CJD3E3GmBcrmD0/chunklist.m3u8",
"reason": null
}
},
{
"spider": "猫猫4K",
"file": "猫猫4K.txt",
"success": false,
"failed_stage": "player",
"error": "playerContent 未返回播放地址",
"traceback": null,
"timings_ms": {
"module_load": 9.961,
"init": 330.225,
"home": 221.276,
"category": 405.103,
"detail": 214.138,
"player": 317.466,
"url_check": 0.0,
"total": 2711.338
},
"counts": {
"classes": 5,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "2",
"vod_id": "84445",
"flag": "火猫极速B",
"play_id": "https://www.bilibili.com/bangumi/play/ep693919@@@bilibili"
},
"player": {
"parse": 0,
"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": 20.375,
"init": 0.001,
"home": 0.001,
"category": 685.719,
"detail": 408.113,
"player": 0.004,
"url_check": 1923.04,
"total": 3038.089
},
"counts": {
"classes": 8,
"category_videos": 70,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "44",
"vod_id": "128049",
"flag": "百度#玩偶哥哥",
"play_id": "https://pan.baidu.com/s/1dnQC1-zr_3xedLHm7HoHhQ?pwd=wogg"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1dnQC1-zr_3xedLHm7HoHhQ?pwd=wogg",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=dnQC1-zr_3xedLHm7HoHhQ&pwd=wogg",
"reason": null
}
},
{
"spider": "玩偶聚合",
"file": "玩偶聚合.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 65.478,
"init": 0.001,
"home": 3.595,
"category": 700.848,
"detail": 339.853,
"player": 0.002,
"url_check": 1264.457,
"total": 2376.083
},
"counts": {
"classes": 11,
"category_videos": 70,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "site_wanou",
"vod_id": "site:wanou:/voddetail/128049.html",
"flag": "百度#玩偶",
"play_id": "https://pan.baidu.com/s/1dnQC1-zr_3xedLHm7HoHhQ?pwd=wogg"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1dnQC1-zr_3xedLHm7HoHhQ?pwd=wogg",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=dnQC1-zr_3xedLHm7HoHhQ&pwd=wogg",
"reason": null
}
},
{
"spider": "瓜子",
"file": "瓜子.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.036,
"init": 0.001,
"home": 0.021,
"category": 477.081,
"detail": 785.229,
"player": 544.07,
"url_check": 1855.733,
"total": 3669.754
},
"counts": {
"classes": 5,
"category_videos": 30,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "128782",
"flag": "1080",
"play_id": "vod_d_id=128782&vurl_id=3323715&domain_type=8&resolution=1080&type=play"
},
"player": {
"parse": 0,
"url": "https://vd.wmvbo.com/88d50f787b81f436086bb23c8b638c4c/20260705142001/6500581f32e7b110d666e9/decry/vd/20260311/MjYwZjE1YTRkO/172631/1998_1080/aac/h264/hls/decrypt/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://app.wanglaoshi.xn--fiqs8s/vod/index.m3u8",
"reason": null
}
},
{
"spider": "甜圈漫剧",
"file": "甜圈漫剧.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 14.828,
"init": 107.446,
"home": 0.016,
"category": 2008.585,
"detail": 2045.662,
"player": 1025.905,
"url_check": 150.437,
"total": 5354.006
},
"counts": {
"classes": 67,
"category_videos": 10,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "总裁推荐榜",
"vod_id": "7581768774433393688",
"flag": "甜圈漫剧",
"play_id": "7581771481357487129"
},
"player": {
"parse": 0,
"url": "https://v3-dy-a-x.ixigua.com/b241c93ea48338486d0c1988097da017/6a5c39fb/video/tos/cn/tos-cn-v-6fcc8e/ooNxEyC5Orz9QQDvAdgFuNIDIf4up9EBfRz83D/?a=6920&ch=0&cr=0&dr=0&er=0&net=5&&br=528&bt=528&cs=0&ds=3&eid=38656&mime_type=video_mp4&qs=0&rc=NWY5OGU7MzZnPDhnNmZlNkBpM2h0Ong5cnl3NzMzNGhoM0AvMi5gMS40X2AxLy1eLjI1YSNtc3ExMmRjbW9hLS1kXy9zcw%3D%3D&dy_q=1783218006&l=20260705102006EAC7232616E669A8931C&caller=toutiao.videoarch.video_playcenguigui_api",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://v3-dy-a-x.ixigua.com/b241c93ea48338486d0c1988097da017/6a5c39fb/video/tos/cn/tos-cn-v-6fcc8e/ooNxEyC5Orz9QQDvAdgFuNIDIf4up9EBfRz83D/?a=6920&ch=0&cr=0&dr=0&er=0&net=5&&br=528&bt=528&cs=0&ds=3&eid=38656&mime_type=video_mp4&qs=0&rc=NWY5OGU7MzZnPDhnNmZlNkBpM2h0Ong5cnl3NzMzNGhoM0AvMi5gMS40X2AxLy1eLjI1YSNtc3ExMmRjbW9hLS1kXy9zcw%3D%3D&dy_q=1783218006&l=20260705102006EAC7232616E669A8931C&caller=toutiao.videoarch.video_playcenguigui_api",
"reason": null
}
},
{
"spider": "百度短剧",
"file": "百度短剧.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 16.706,
"init": 0.001,
"home": 444.967,
"category": 283.497,
"detail": 656.537,
"player": 336.939,
"url_check": 38.589,
"total": 1779.163
},
"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": 5.648,
"init": 0.001,
"home": 3511.534,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 3519.244
},
"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": 28.412,
"init": 0.001,
"home": 0.008,
"category": 217.733,
"detail": 211.586,
"player": 219.806,
"url_check": 2365.063,
"total": 3043.653
},
"counts": {
"classes": 4,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "/",
"vod_id": "117429",
"flag": "百度1",
"play_id": "push://https://www.seedhub.cc/link_start/?redirect_to=pan_id_665773&movie_title=【火遮眼】【4K+1080P】【中字】【极限画质】 更新于 2天前"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1TDNOsLIZkUr8kjw9X5U1og?pwd=2vty",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=TDNOsLIZkUr8kjw9X5U1og&pwd=2vty",
"reason": null
}
},
{
"spider": "盘链",
"file": "盘链.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 18.529,
"init": 0.153,
"home": 0.003,
"category": 1686.96,
"detail": 339.379,
"player": 554.985,
"url_check": 168.828,
"total": 2772.239
},
"counts": {
"classes": 5,
"category_videos": 30,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "0",
"vod_id": "74371",
"flag": "夸克",
"play_id": "push://https://www.xn--vzy265d.cc/api/go.php?t=FuWimvMt9xCil_25qt-xKJmSsgWdS_M0tq38Qt9p1jRxfqUr2_HrG4e3TeAcXVeWOygiBCTXuAQ2BqXeA19VAaHVR0RRjwB-EnEnewAqSqIBfJ12zCXmdvFPX4UVPHfsqqZ_OcXLr8L4KyyQz23g5D3T56f72NsKxzk1CXmwZLS57aZjTyTjR1ojWF4UHBJE"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/879d7bfa0280",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/879d7bfa0280",
"reason": null
}
},
{
"spider": "短剧优选",
"file": "短剧优选.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 25.071,
"init": 2197.008,
"home": 0.118,
"category": 956.219,
"detail": 800.349,
"player": 0.002,
"url_check": 62.886,
"total": 4042.463
},
"counts": {
"classes": 12,
"category_videos": 69,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "七猫",
"vod_id": "七猫@24333",
"flag": "七猫短剧",
"play_id": "https://cdn-vod-playlet.wtzw.com/asset/b936eac78f199fd865afbe3c5b707e7f/play_multi_video/6f7310c287644b7c813ab8e2eb7a4a0c/f1223068052dd7f1bc88718af4b2c0e4.m3u8"
},
"player": {
"parse": 0,
"url": "https://cdn-vod-playlet.wtzw.com/asset/b936eac78f199fd865afbe3c5b707e7f/play_multi_video/6f7310c287644b7c813ab8e2eb7a4a0c/f1223068052dd7f1bc88718af4b2c0e4.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://cdn-vod-playlet.wtzw.com/asset/b936eac78f199fd865afbe3c5b707e7f/play_multi_video/6f7310c287644b7c813ab8e2eb7a4a0c/f1223068052dd7f1bc88718af4b2c0e4.m3u8",
"reason": null
}
},
{
"spider": "短剧网",
"file": "短剧网.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.264,
"init": 0.001,
"home": 0.001,
"category": 222.86,
"detail": 191.786,
"player": 0.005,
"url_check": 157.169,
"total": 576.709
},
"counts": {
"classes": 2,
"category_videos": 20,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "https://sm3.cc/?id=61367",
"flag": "夸克",
"play_id": "https://pan.quark.cn/s/3ba2ebcdbfe1"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/3ba2ebcdbfe1",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/3ba2ebcdbfe1",
"reason": null
}
},
{
"spider": "磁力熊",
"file": "磁力熊.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 24.287,
"init": 0.006,
"home": 0.008,
"category": 588.091,
"detail": 660.547,
"player": 0.003,
"url_check": 0.057,
"total": 1274.646
},
"counts": {
"classes": 24,
"category_videos": 16,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "movie",
"vod_id": "movie/4715",
"flag": "磁力·1080P",
"play_id": "magnet:?xt=urn:btih:382655729724AEED234C7823116697A3DE993BC4"
},
"player": {
"parse": 0,
"url": "magnet:?xt=urn:btih:382655729724AEED234C7823116697A3DE993BC4",
"valid": true,
"reachable": null,
"status_code": null,
"final_url": "magnet:?xt=urn:btih:382655729724AEED234C7823116697A3DE993BC4",
"reason": "非 HTTP 地址,按协议格式通过"
}
},
{
"spider": "糯米",
"file": "糯米.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 14.362,
"init": 0.002,
"home": 280.883,
"category": 187.913,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 659.981
},
"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.362,
"init": 0.001,
"home": 424.968,
"category": 406.858,
"detail": 0.009,
"player": 365.909,
"url_check": 0.0,
"total": 2132.235
},
"counts": {
"classes": 62,
"category_videos": 100,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "/discover/toplist?id=3779629",
"vod_id": "[email protected]@郑润泽👉MP3",
"flag": "网易云音乐",
"play_id": "3388509025"
},
"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": 11.034,
"init": 0.001,
"home": 0.001,
"category": 1511.453,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 3054.497
},
"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": 16.292,
"init": 0.002,
"home": 113.389,
"category": 280.119,
"detail": 1596.227,
"player": 0.004,
"url_check": 183.971,
"total": 2191.716
},
"counts": {
"classes": 7,
"category_videos": 12,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "choice",
"vod_id": "choice$mzc00200mxo428o",
"flag": "腾讯视频",
"play_id": "https://v.qq.com/x/cover/mzc00200mxo428o/l41026waewf.html"
},
"player": {
"parse": 1,
"url": "https://v.qq.com/x/cover/mzc00200mxo428o/l41026waewf.html",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://v.qq.com/x/cover/mzc00200mxo428o/l41026waewf.html",
"reason": null
}
},
{
"spider": "至臻",
"file": "至臻.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 9.54,
"init": 0.001,
"home": 0.001,
"category": 1155.416,
"detail": 476.726,
"player": 0.004,
"url_check": 1486.732,
"total": 3129.099
},
"counts": {
"classes": 7,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "26",
"vod_id": "15597",
"flag": "百度#至臻",
"play_id": "https://pan.baidu.com/s/1Wl4Tuvi51t2LS1Ve4HioTA?pwd=bnim"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1Wl4Tuvi51t2LS1Ve4HioTA?pwd=bnim",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=Wl4Tuvi51t2LS1Ve4HioTA&pwd=bnim",
"reason": null
}
},
{
"spider": "茶杯狐",
"file": "茶杯狐.txt",
"success": false,
"failed_stage": "home",
"error": "分类列表为空",
"traceback": null,
"timings_ms": {
"module_load": 5.831,
"init": 0.0,
"home": 614.659,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 620.727
},
"counts": {
"classes": 0,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": null,
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "虎斑",
"file": "虎斑.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 9.057,
"init": 0.001,
"home": 0.001,
"category": 362.099,
"detail": 6269.379,
"player": 0.012,
"url_check": 1398.767,
"total": 8039.918
},
"counts": {
"classes": 7,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "463085",
"flag": "百度#虎斑",
"play_id": "https://pan.baidu.com/s/1HAeTGwEEsA7VMnyb2kxIeQ?pwd=4616"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1HAeTGwEEsA7VMnyb2kxIeQ?pwd=4616",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=HAeTGwEEsA7VMnyb2kxIeQ&pwd=4616",
"reason": null
}
},
{
"spider": "蜡笔",
"file": "蜡笔.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 10.141,
"init": 0.001,
"home": 0.001,
"category": 701.11,
"detail": 694.412,
"player": 0.005,
"url_check": 463.111,
"total": 1869.639
},
"counts": {
"classes": 7,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "29",
"vod_id": "9547",
"flag": "百度#蜡笔",
"play_id": "https://pan.baidu.com/s/1XfOOHrQO6ahmREmjFwrhPw?pwd=tpr3"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1XfOOHrQO6ahmREmjFwrhPw?pwd=tpr3",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/s/1XfOOHrQO6ahmREmjFwrhPw?pwd=tpr3",
"reason": null
}
},
{
"spider": "袋鼠影视",
"file": "袋鼠影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 12.162,
"init": 0.002,
"home": 0.002,
"category": 1270.817,
"detail": 954.11,
"player": 1031.241,
"url_check": 1203.202,
"total": 19490.673
},
"counts": {
"classes": 4,
"category_videos": 36,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "2",
"vod_id": "417906",
"flag": "蓝光专线4",
"play_id": "play/417906-0-0"
},
"player": {
"parse": 0,
"url": "https://play.phimgood.com/20260630/28446_55f333b0/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://play.phimgood.com/20260630/28446_55f333b0/index.m3u8",
"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": 11.955,
"init": 0.001,
"home": 10016.108,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 10030.817
},
"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": 10.748,
"init": 0.029,
"home": 822.131,
"category": 779.471,
"detail": 371.101,
"player": 0.003,
"url_check": 1905.977,
"total": 3889.899
},
"counts": {
"classes": 4,
"category_videos": 20,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "cms:feifan:98463",
"flag": "非凡资源",
"play_id": "https://super.ffzy-online6.com/20260703/35879_1bd1d70e/index.m3u8"
},
"player": {
"parse": 0,
"url": "https://super.ffzy-online6.com/20260703/35879_1bd1d70e/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://super.ffzy-online6.com/20260703/35879_1bd1d70e/index.m3u8",
"reason": null
}
},
{
"spider": "路漫漫",
"file": "路漫漫.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 6.018,
"init": 0.001,
"home": 0.001,
"category": 1102.554,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 2202.874
},
"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": 7.836,
"init": 0.001,
"home": 418.384,
"category": 96.653,
"detail": 4011.147,
"player": 141.581,
"url_check": 34.749,
"total": 4711.569
},
"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/eababa7163e4799bcf1ea76aab23ab37/6a49bf5a/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/eababa7163e4799bcf1ea76aab23ab37/6a49bf5a/resource/30106/trackmedia/long/M500002ZiI9a1sctnS.mp3?bitrate$128&format$mp3&source$kwplayerhd_ar_4.3.0.8_tianbao_T1A_qirui.apk&type$convert_url_with_sign&user$&loginUid$",
"reason": null
}
},
{
"spider": "酷狗音乐",
"file": "酷狗音乐.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.985,
"init": 440.924,
"home": 287.148,
"category": 227.193,
"detail": 275.496,
"player": 361.377,
"url_check": 41.584,
"total": 1644.077
},
"counts": {
"classes": 12,
"category_videos": 15,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "recommend",
"vod_id": "766636947",
"flag": "酷狗音乐",
"play_id": "766636947"
},
"player": {
"parse": 0,
"url": "http://fsdg360.tx.kugou.com/202607051020/02a34870bd042e9b2602dd6c1e8caf56/v3/1ec0a28e6093bd64a0a950eb552de1a3/yp/full/ap1013_us0_mic85f71c379c462618de1399950957c33_pi6101_mx766636947_qumultitrack_s3917824493.mkv?ft=car_203559_10049&fts=b05bb02d44717442054bac7624ed9a29&ext=.mkv",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://fsdg360.tx.kugou.com/202607051020/02a34870bd042e9b2602dd6c1e8caf56/v3/1ec0a28e6093bd64a0a950eb552de1a3/yp/full/ap1013_us0_mic85f71c379c462618de1399950957c33_pi6101_mx766636947_qumultitrack_s3917824493.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": 5.108,
"init": 0.001,
"home": 647.235,
"category": 214.697,
"detail": 217.876,
"player": 229.319,
"url_check": 1079.086,
"total": 2394.199
},
"counts": {
"classes": 6,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "143982",
"flag": "金牌线路",
"play_id": "143982@1278053"
},
"player": {
"parse": 0,
"url": "https://ppvod011.blbtgg.com/splitOut/20260420/1287040/V20260420142132484561287040/index.m3u8?auth_key=1783218007-8fddb96a2a174e16b0122d5c3d2f6d34-0-57bd6a85d330ce92968e619b99060aec",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://ppvod011.blbtgg.com/splitOut/20260420/1287040/V20260420142132484561287040/index.m3u8?auth_key=1783218007-8fddb96a2a174e16b0122d5c3d2f6d34-0-57bd6a85d330ce92968e619b99060aec",
"reason": null
}
},
{
"spider": "闪电",
"file": "闪电.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.081,
"init": 0.001,
"home": 0.001,
"category": 343.373,
"detail": 224.814,
"player": 0.004,
"url_check": 1063.129,
"total": 1639.998
},
"counts": {
"classes": 5,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "186063",
"flag": "百度#闪电",
"play_id": "https://pan.baidu.com/s/1AHPkrW4QiDa5ANw9CWYl4A?pwd=6688"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1AHPkrW4QiDa5ANw9CWYl4A?pwd=6688",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=AHPkrW4QiDa5ANw9CWYl4A&pwd=6688",
"reason": null
}
},
{
"spider": "韩圈",
"file": "韩圈.txt",
"success": false,
"failed_stage": "home",
"error": "分类列表为空",
"traceback": null,
"timings_ms": {
"module_load": 6.116,
"init": 0.003,
"home": 189.813,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 196.117
},
"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.043,
"init": 0.001,
"home": 0.001,
"category": 742.472,
"detail": 704.234,
"player": 0.004,
"url_check": 1829.169,
"total": 3281.526
},
"counts": {
"classes": 5,
"category_videos": 20,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "0",
"vod_id": "90604",
"flag": "默认线路",
"play_id": "https://cdn.yzzy27-play.com/20260504/24139_9c3cfdc8/index.m3u8"
},
"player": {
"parse": 0,
"url": "https://cdn.yzzy27-play.com/20260504/24139_9c3cfdc8/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://cdn.yzzy27-play.com/20260504/24139_9c3cfdc8/index.m3u8",
"reason": null
}
},
{
"spider": "飞卢听书",
"file": "飞卢听书.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.691,
"init": 0.001,
"home": 0.001,
"category": 863.159,
"detail": 297.097,
"player": 0.002,
"url_check": 95.896,
"total": 1262.326
},
"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": 4.044,
"init": 0.001,
"home": 0.001,
"category": 970.612,
"detail": 1253.144,
"player": 948.733,
"url_check": 1920.035,
"total": 5097.347
},
"counts": {
"classes": 4,
"category_videos": 40,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "247027",
"flag": "高清31",
"play_id": "/vodplay/247027-2-1.html"
},
"player": {
"parse": 0,
"url": "https://vvip.high26-playback.com/20260704/24521_ecab3a41/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vvip.high26-playback.com/20260704/24521_ecab3a41/index.m3u8",
"reason": null
}
},
{
"spider": "魔方APP",
"file": "魔方APP.txt",
"success": false,
"failed_stage": "home",
"error": "分类列表为空",
"traceback": null,
"timings_ms": {
"module_load": 5.186,
"init": 0.001,
"home": 10012.542,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 10017.991
},
"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.456,
"init": 0.001,
"home": 0.0,
"category": 172.341,
"detail": 171.63,
"player": 0.015,
"url_check": 773.663,
"total": 1123.743
},
"counts": {
"classes": 6,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "171427",
"flag": "LZ源",
"play_id": "eyJ1cmwiOiJodHRwczovL3YubHpjZG4yNy5jb20vMjAyNTA3MzEvNjc5XzUwYTJiMDQ3L2luZGV4Lm0zdTgiLCJwYXJzZV9hcGkiOiJodHRwczovL2RlbC5tdDMyMC5jb20vbHpmZi5waHA_dXJsPSIsImhlYWRlcnMiOnt9LCJ1c2VyX2FnZW50IjoiIn0="
},
"player": {
"parse": 0,
"url": "https://v.lzcdn27.com/20250731/679_50a2b047/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://v.lzcdn27.com/20250731/679_50a2b047/index.m3u8",
"reason": null
}
},
{
"spider": "黑猫APP",
"file": "黑猫APP.txt",
"success": false,
"failed_stage": "home",
"error": "分类列表为空",
"traceback": null,
"timings_ms": {
"module_load": 5.253,
"init": 0.001,
"home": 326.508,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 331.95
},
"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
}
}
]
}