Files
tvboxzt/spider_validation.json
T
2026-05-17 07:27:36 +08:00

2870 lines
97 KiB
JSON

{
"generated_at": "2026-05-17T07:27:14+08:00",
"max_workers": 16,
"total_duration_ms": 21437.185,
"summary": {
"total": 73,
"success": 64,
"failed": 9,
"success_rate": 0.8767,
"stage_failures": {
"module_load": 0,
"init": 0,
"home": 1,
"category": 3,
"detail": 0,
"player": 0,
"url_check": 2,
"unexpected": 3
}
},
"results": [
{
"spider": "4K指南",
"file": "4K指南.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 278.62,
"init": 0.001,
"home": 0.004,
"category": 692.308,
"detail": 532.398,
"player": 0.003,
"url_check": 150.917,
"total": 1656.487
},
"counts": {
"classes": 5,
"category_videos": 50,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "zuixin",
"vod_id": "18385",
"flag": "夸克网盘4k原盘",
"play_id": "push://https://pan.quark.cn/s/386badc811b3"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/386badc811b3",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/386badc811b3",
"reason": null
}
},
{
"spider": "6V磁力",
"file": "6V磁力.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 311.045,
"init": 0.003,
"home": 0.001,
"category": 692.247,
"detail": 666.484,
"player": 0.004,
"url_check": 0.066,
"total": 1673.955
},
"counts": {
"classes": 12,
"category_videos": 18,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "dianshiju/guoju",
"vod_id": "/dianshiju/guoju/28754.html",
"flag": "01-07.1080p.HD国语中字无水印.mkv",
"play_id": "magnet:?xt=urn:btih:179e2e96aecc2ff52e16b81e3b3c1e89a6010b05&dn=%E4%B8%BB%E8%A7%9201-07"
},
"player": {
"parse": 0,
"url": "magnet:?xt=urn:btih:179e2e96aecc2ff52e16b81e3b3c1e89a6010b05&dn=%E4%B8%BB%E8%A7%9201-07",
"valid": true,
"reachable": null,
"status_code": null,
"final_url": "magnet:?xt=urn:btih:179e2e96aecc2ff52e16b81e3b3c1e89a6010b05&dn=%E4%B8%BB%E8%A7%9201-07",
"reason": "非 HTTP 地址,按协议格式通过"
}
},
{
"spider": "AAZ音乐",
"file": "AAZ音乐.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 229.257,
"init": 0.001,
"home": 194.016,
"category": 168.432,
"detail": 179.007,
"player": 179.482,
"url_check": 306.941,
"total": 1258.681
},
"counts": {
"classes": 6,
"category_videos": 60,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "new",
"vod_id": "song:e0f3c77fa564632f924f77fc5943ba7e",
"flag": "AAZ音乐",
"play_id": "song:e0f3c77fa564632f924f77fc5943ba7e"
},
"player": {
"parse": 0,
"url": "https://s.5bb3.com/m4a/3374e5b4a4d9d8e8f967976747b5c2ca.m4a",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://lv-sycdn.kuwo.cn/cce9b61cd1a9df08a9ff97ffd0e25ef3/6a08fd53/resource/1307392909/trackmedia/C200000W91kQ0efKLA.m4a?from=vip",
"reason": null
}
},
{
"spider": "PPnix",
"file": "PPnix.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 317.888,
"init": 0.001,
"home": 0.001,
"category": 433.294,
"detail": 645.76,
"player": 0.011,
"url_check": 175.323,
"total": 1573.241
},
"counts": {
"classes": 2,
"category_videos": 24,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "movie/8169.html",
"flag": "PPnix",
"play_id": "8169|1080P"
},
"player": {
"parse": 0,
"url": "https://www.ppnix.com/info/m3u8/8169/1080P.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://www.ppnix.com/info/m3u8/8169/1080P.m3u8",
"reason": null
}
},
{
"spider": "QQ音乐",
"file": "QQ音乐.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 239.037,
"init": 0.009,
"home": 0.003,
"category": 431.571,
"detail": 456.564,
"player": 249.881,
"url_check": 214.956,
"total": 1595.192
},
"counts": {
"classes": 6,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "playlist",
"vod_id": "playlist:9495798654",
"flag": "QQ音乐",
"play_id": "qqmusic:001Zxgfp1Tu1gH:649285246|人生路漫漫 - 白小白"
},
"player": {
"parse": 0,
"url": "https://isure.stream.qqmusic.qq.com/F000001Zxgfp1Tu1gH.flac?guid=374463241a812126354fa9876f986567&vkey=045B141217B259C04B8A8EB6DB3BDE5AD61F3CF5788CB8AC03447B51EFF3BC0CAD1846206BBF770C3C012DE2A49682982025139A4DF40A10__v2b9a8941&uin=896389745&fromtag=119114&redirect=1",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://isure.stream.qqmusic.qq.com/F000001Zxgfp1Tu1gH.flac?guid=374463241a812126354fa9876f986567&vkey=045B141217B259C04B8A8EB6DB3BDE5AD61F3CF5788CB8AC03447B51EFF3BC0CAD1846206BBF770C3C012DE2A49682982025139A4DF40A10__v2b9a8941&uin=896389745&fromtag=119114&redirect=1",
"reason": null
}
},
{
"spider": "YouTube",
"file": "YouTube.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 235.381,
"init": 0.003,
"home": 0.043,
"category": 707.437,
"detail": 1005.889,
"player": 0.004,
"url_check": 607.346,
"total": 2557.211
},
"counts": {
"classes": 28,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "cat_recommend",
"vod_id": "yt:video:0SLXJa_q7xo",
"flag": "YouTube",
"play_id": "yt:video:0SLXJa_q7xo"
},
"player": {
"parse": 0,
"url": "https://www.youtube.com/watch?v=0SLXJa_q7xo",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://www.youtube.com/watch?v=0SLXJa_q7xo",
"reason": null
}
},
{
"spider": "libvio",
"file": "libvio.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 245.094,
"init": 0.001,
"home": 0.001,
"category": 217.516,
"detail": 182.412,
"player": 0.004,
"url_check": 159.018,
"total": 805.613
},
"counts": {
"classes": 6,
"category_videos": 48,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "index",
"vod_id": "714893335",
"flag": "夸克",
"play_id": "https://pan.quark.cn/s/d46508121399"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/d46508121399",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/d46508121399",
"reason": null
}
},
{
"spider": "youknow",
"file": "youknow.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 283.208,
"init": 0.001,
"home": 0.001,
"category": 1912.033,
"detail": 1471.649,
"player": 1037.913,
"url_check": 1112.805,
"total": 5818.398
},
"counts": {
"classes": 7,
"category_videos": 223,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "index",
"vod_id": "202954",
"flag": "YouKnowTV",
"play_id": "eyJ2b2RfaWQiOiIyMDI5NTQiLCJlcGlzb2RlX2luZGV4IjoxLCJ0aXRsZSI6IuesrDAx6ZuGIiwiY2FuZGlkYXRlcyI6W3sic291cmNlIjoi57q_6LevMSIsInNvdXJjZV9pZCI6IjEiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8yMDI5NTQtMS0xLyJ9LHsic291cmNlIjoi57q_6LevMiIsInNvdXJjZV9pZCI6IjEiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8yMDI5NTQtMS0xLyJ9LHsic291cmNlIjoi57q_6LevMTAiLCJzb3VyY2VfaWQiOiIzIiwiZXBpc29kZV91cmwiOiJodHRwczovL3d3dy55b3Vrbm93LnR2L3AvMjAyOTU0LTMtMS8ifSx7InNvdXJjZSI6Iue6v-i3rzExIiwic291cmNlX2lkIjoiMyIsImVwaXNvZGVfdXJsIjoiaHR0cHM6Ly93d3cueW91a25vdy50di9wLzIwMjk1NC0zLTEvIn0seyJzb3VyY2UiOiLnur_ot68xNiIsInNvdXJjZV9pZCI6IjIiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8yMDI5NTQtMi0xLyJ9LHsic291cmNlIjoi57q_6LevMTciLCJzb3VyY2VfaWQiOiIyIiwiZXBpc29kZV91cmwiOiJodHRwczovL3d3dy55b3Vrbm93LnR2L3AvMjAyOTU0LTItMS8ifV19"
},
"player": {
"parse": 0,
"url": "https://vip.dytt-tvs.com/20260404/15292_cfc34923/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://cnvod.jimxtc.com/20260404/15292_cfc34923/index.m3u8",
"reason": null
}
},
{
"spider": "七味",
"file": "七味.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 260.968,
"init": 0.007,
"home": 0.002,
"category": 732.13,
"detail": 1047.575,
"player": 0.003,
"url_check": 1035.921,
"total": 3080.43
},
"counts": {
"classes": 5,
"category_videos": 42,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "492461",
"flag": "百度1",
"play_id": "https://pan.baidu.com/s/1MZa4NhXR02WdMOXlmINHCA?pwd=Yu66"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1MZa4NhXR02WdMOXlmINHCA?pwd=Yu66",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=MZa4NhXR02WdMOXlmINHCA&pwd=Yu66",
"reason": null
}
},
{
"spider": "不太灵",
"file": "不太灵.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 269.643,
"init": 0.001,
"home": 499.343,
"category": 844.395,
"detail": 481.793,
"player": 0.015,
"url_check": 1014.558,
"total": 3111.213
},
"counts": {
"classes": 5,
"category_videos": 25,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "1937946",
"flag": "百度",
"play_id": "https://pan.baidu.com/s/1lmPdIeXPCMSkROKdVOZgYw?pwd=Yu66"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1lmPdIeXPCMSkROKdVOZgYw?pwd=Yu66",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=lmPdIeXPCMSkROKdVOZgYw&pwd=Yu66",
"reason": null
}
},
{
"spider": "世纪音乐",
"file": "世纪音乐.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 250.993,
"init": 0.001,
"home": 157.563,
"category": 144.686,
"detail": 124.0,
"player": 0.005,
"url_check": 804.047,
"total": 1482.461
},
"counts": {
"classes": 5,
"category_videos": 28,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "home",
"vod_id": "song:ydchnneteh",
"flag": "世纪音乐",
"play_id": "music:ydchnneteh"
},
"player": {
"parse": 0,
"url": "https://www.4c44.com/data/down.php?ac=music&id=ydchnneteh",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://m701.music.126.net/20260517075215/5cf78c68c62b7201036815f2f34b5d67/jdymusic/obj/wo3DlMOGwrbDjj7DisKw/14809090000/1d47/71e9/0d49/30f23efad99b55efa1817370a9530225.mp3?vuutv=0ghhLMosHHdG5xHkdacG/kqOEbBRd3xLHEt4fn1f1G3lhoXKibNVOcCpRp6Am5k7qE7pw18B6Zky5NDiQrAwPC6uxWqeJJXmi/90e+CU4iE=",
"reason": null
}
},
{
"spider": "两个BT",
"file": "两个BT.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 298.515,
"init": 0.001,
"home": 0.001,
"category": 395.432,
"detail": 345.942,
"player": 676.782,
"url_check": 440.329,
"total": 2157.934
},
"counts": {
"classes": 14,
"category_videos": 24,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "zgjun",
"vod_id": "ch455phy4",
"flag": "两个BT",
"play_id": "eyJwaWQiOiIvcGxheS9jaDQ1NXBoeTQiLCJzaWQiOiJjaDQ1NXBoeTQiLCJuYW1lIjoiMSJ9"
},
"player": {
"parse": 0,
"url": "https://zijieapi.douyinbyte.com/m3u8/1f41cc037752f6a45a59235b3188dc83.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://zijieapi.douyinbyte.com/m3u8/1f41cc037752f6a45a59235b3188dc83.m3u8",
"reason": null
}
},
{
"spider": "乌云影视",
"file": "乌云影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 224.233,
"init": 0.001,
"home": 248.945,
"category": 319.242,
"detail": 955.54,
"player": 0.068,
"url_check": 1754.442,
"total": 3505.52
},
"counts": {
"classes": 7,
"category_videos": 24,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "movie",
"vod_id": "483203",
"flag": "乌云影视",
"play_id": "eyJtZWRpYUlkIjogIjQ4MzIwMyIsICJzZWFzb25ObyI6IDEsICJlcE5vIjogMSwgInZpZGVvSWQiOiAxNTc2MjgzMiwgInBsYXlVcmwiOiAiaHR0cHM6Ly9kMWpkbm1rYzFuNWNuNC5jbG91ZGZyb250Lm5ldC9nZW5fb3ZlcnNlYXMvaHR0cHM6Ly9zMi5iZmxsdmlwLmNvbS92aWRlby95YW54aWF4aW5nL2E2ZWY4NTRjMGMxZi9pbmRleC5tM3U4IiwgIm5hbWUiOiAi56ysMembhiDpq5jmuIUifQ"
},
"player": {
"parse": 0,
"url": "https://d1jdnmkc1n5cn4.cloudfront.net/gen_overseas/https://s2.bfllvip.com/video/yanxiaxing/a6ef854c0c1f/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://d1jdnmkc1n5cn4.cloudfront.net/hls_overseas/b3a772783c2907ad85a8812f4406224e4e8f7193.m3u8",
"reason": null
}
},
{
"spider": "乐兔",
"file": "乐兔.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 224.187,
"init": 0.001,
"home": 0.0,
"category": 216.665,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 674.025
},
"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": 231.188,
"init": 0.001,
"home": 0.001,
"category": 527.649,
"detail": 446.886,
"player": 0.007,
"url_check": 1215.513,
"total": 2422.536
},
"counts": {
"classes": 4,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "12394",
"flag": "百度#二小",
"play_id": "https://pan.baidu.com/s/13NubF-EJjexfh6F5107e8A?pwd=x2u9"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/13NubF-EJjexfh6F5107e8A?pwd=x2u9",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=3NubF-EJjexfh6F5107e8A&pwd=x2u9",
"reason": null
}
},
{
"spider": "人人电影",
"file": "人人电影.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 223.54,
"init": 0.001,
"home": 0.001,
"category": 436.021,
"detail": 373.339,
"player": 0.023,
"url_check": 1029.145,
"total": 2063.751
},
"counts": {
"classes": 4,
"category_videos": 10,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "movie/list_2",
"vod_id": "/movie/2026/0516/59204.html",
"flag": "baidu",
"play_id": "https://pan.baidu.com/s/1n6AIYm7rmLiULlMrrvWaAg?pwd=kuq2"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1n6AIYm7rmLiULlMrrvWaAg?pwd=kuq2",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=n6AIYm7rmLiULlMrrvWaAg&pwd=kuq2",
"reason": null
}
},
{
"spider": "人人视频",
"file": "人人视频.txt",
"success": false,
"failed_stage": "url_check",
"error": "HTTP 403",
"traceback": null,
"timings_ms": {
"module_load": 5.542,
"init": 0.0,
"home": 151.138,
"category": 281.33,
"detail": 234.477,
"player": 296.074,
"url_check": 206.711,
"total": 2218.704
},
"counts": {
"classes": 4,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "MOVIE",
"vod_id": "57046",
"flag": "人人专线",
"play_id": "57046@382015"
},
"player": {
"parse": 0,
"url": "https://tfvx3grhdgmt1gc41hcjz8yzdk.ourdvsssvip.com:20443/ws-302.bwcgee.cn/c074943c4e6d71f18ed75017f0e90402/df3c0578d329457b9265317e359bce4a-0839441ca402de22c840b03b4e64e0d2-ld.mp4?key=ca3e7007be11c35cab3f25d2ce1f1d91&time=1778988437305&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=87726c081068466d99fd06310ddfd07b&hevc=false&seasonId=57046&wsiphost=ipdbme&wsrid_tag=6a08fd55_PS-CTU-01tJO23_25092-17362-s1t1778974037366&x-mamba-business-label=13679&redirect_cnt=0&ip_type=0&wshc=C&requery=0",
"valid": false,
"reachable": false,
"status_code": 403,
"final_url": "https://tfvx3grhdgmt1gc41hcjz8yzdk.ourdvsssvip.com:20443/ws-302.bwcgee.cn/c074943c4e6d71f18ed75017f0e90402/df3c0578d329457b9265317e359bce4a-0839441ca402de22c840b03b4e64e0d2-ld.mp4?key=ca3e7007be11c35cab3f25d2ce1f1d91&time=1778988437305&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=87726c081068466d99fd06310ddfd07b&hevc=false&seasonId=57046&wsiphost=ipdbme&wsrid_tag=6a08fd55_PS-CTU-01tJO23_25092-17362-s1t1778974037366&x-mamba-business-label=13679&redirect_cnt=0&ip_type=0&wshc=C&requery=0",
"reason": "HTTP 403"
}
},
{
"spider": "优酷",
"file": "优酷.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 23.186,
"init": 0.001,
"home": 0.001,
"category": 317.291,
"detail": 528.171,
"player": 0.002,
"url_check": 218.512,
"total": 1087.953
},
"counts": {
"classes": 6,
"category_videos": 23,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "电视剧",
"vod_id": "show:afcb2d65c6a34b798d77",
"flag": "优酷",
"play_id": "https://v.youku.com/v_show/id_XNjUzNDA5NDEwNA==.html"
},
"player": {
"parse": 1,
"url": "https://v.youku.com/v_show/id_XNjUzNDA5NDEwNA==.html",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://v.youku.com/v_show/id_XNjUzNDA5NDEwNA==.html",
"reason": null
}
},
{
"spider": "低端影视",
"file": "低端影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 14.24,
"init": 0.001,
"home": 0.001,
"category": 1044.882,
"detail": 1361.1,
"player": 0.006,
"url_check": 895.875,
"total": 3316.838
},
"counts": {
"classes": 4,
"category_videos": 24,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "series",
"vod_id": "movie/untamed-season-1",
"flag": "播放源 1 (1080P)",
"play_id": "https://v.cdnlz22.com/20250717/19912_440037b1/index.m3u8"
},
"player": {
"parse": 0,
"url": "https://v.cdnlz22.com/20250717/19912_440037b1/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://v.cdnlz22.com/20250717/19912_440037b1/index.m3u8",
"reason": null
}
},
{
"spider": "修罗",
"file": "修罗.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 15.595,
"init": 0.001,
"home": 0.001,
"category": 1118.208,
"detail": 223.829,
"player": 1485.131,
"url_check": 591.105,
"total": 3436.086
},
"counts": {
"classes": 4,
"category_videos": 24,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "movie",
"vod_id": "kongbu/3777",
"flag": "修罗直连",
"play_id": "play/3777-0"
},
"player": {
"parse": 0,
"url": "https://v.xlys.ltd.ua/obj/8336FA10FB9E8CB0C3A15D20391A987E6EDE1D72CE7C61D7FBCC16D0B04FE66E",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://lf26-imcloud-file-sign.bytetos.com/ad-penny-bucket/o0EEIAAAt4uBCWDq8FAdfNTiQIzRVEAgCeOhCd?x-expires=1778975699&x-signature=%2FTbAkxHvTd1l89duzC5usbYwWLo%3D",
"reason": null
}
},
{
"spider": "凡客TV",
"file": "凡客TV.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 30.42,
"init": 0.002,
"home": 0.002,
"category": 1042.99,
"detail": 1219.201,
"player": 1793.46,
"url_check": 2950.712,
"total": 7038.27
},
"counts": {
"classes": 8,
"category_videos": 32,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "d0371b7920b771c7",
"flag": "高速线路",
"play_id": "{\"movie_id\":\"d0371b7920b771c7\",\"link_id\":\"f0dacbe7a99090ebe53eff7947f06d1a\",\"line_id\":\"line1\",\"line_name\":\"高速线路\",\"episode_name\":\"1080p\",\"type\":\"switch\",\"page\":\"https://fktv.me/movie/detail/d0371b7920b771c7\"}"
},
"player": {
"parse": 0,
"url": "https://fktv.me/ysapi/m3u8/p/54a9492f0e8defc9121e61640fa53485.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://fktv.me/ysapi/m3u8/p/54a9492f0e8defc9121e61640fa53485.m3u8",
"reason": null
}
},
{
"spider": "剧圈圈",
"file": "剧圈圈.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 43.351,
"init": 0.001,
"home": 0.001,
"category": 677.144,
"detail": 628.253,
"player": 12216.493,
"url_check": 607.034,
"total": 14173.024
},
"counts": {
"classes": 5,
"category_videos": 16,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "dianying",
"vod_id": "63034",
"flag": "FF备用",
"play_id": "play/63034-1-1"
},
"player": {
"parse": 1,
"url": "https://www.jqqzx.cc/play/63034-1-1.html",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://www.jqqzx.one/play/63034-1-1.html",
"reason": null
}
},
{
"spider": "剧迷",
"file": "剧迷.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.834,
"init": 0.001,
"home": 0.001,
"category": 221.675,
"detail": 437.275,
"player": 415.588,
"url_check": 1150.163,
"total": 2232.231
},
"counts": {
"classes": 6,
"category_videos": 150,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "443094",
"flag": "高清线路 ᴴᴰ",
"play_id": "443094-11-1"
},
"player": {
"parse": 0,
"url": "https://play.phimgood.com/20260511/26651_2f4d94b1/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://play.phimgood.com/20260511/26651_2f4d94b1/index.m3u8",
"reason": null
}
},
{
"spider": "博看听书",
"file": "博看听书.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 12.568,
"init": 0.001,
"home": 2841.179,
"category": 245.227,
"detail": 706.974,
"player": 0.006,
"url_check": 40.636,
"total": 3847.478
},
"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.979,
"init": 317.33,
"home": 0.005,
"category": 165.145,
"detail": 166.652,
"player": 0.009,
"url_check": 149.177,
"total": 809.619
},
"counts": {
"classes": 7,
"category_videos": 15,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "ju",
"vod_id": "/ju/10461.html",
"flag": "夸克",
"play_id": "https://pan.quark.cn/s/9e546b70dcfd"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/9e546b70dcfd",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/9e546b70dcfd",
"reason": null
}
},
{
"spider": "听书",
"file": "听书.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.693,
"init": 82.549,
"home": 0.001,
"category": 167.011,
"detail": 1942.015,
"player": 235.992,
"url_check": 112.83,
"total": 2546.958
},
"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=4c47e0d461cc2e2ece6d0737d7b58360&buy_key=FM&token=4845&timestamp=1778974039&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=4c47e0d461cc2e2ece6d0737d7b58360&buy_key=FM&token=4845&timestamp=1778974039&duration=453",
"reason": null
}
},
{
"spider": "听友FM",
"file": "听友FM.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 27.031,
"init": 0.001,
"home": 376.293,
"category": 262.223,
"detail": 789.778,
"player": 457.051,
"url_check": 146.723,
"total": 2061.026
},
"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=1778972071&sign=ce002fc5c097450a447eab829e63f692",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://file.hgeuz.cn/stream/eJwANwDI_wJVZgVKIIrU0ECux-GJ1PSt38ahythCqsH-r9TAQ4rj5F94rOjbQKjk063xyIX2z3hfeGcIHF4BAAD__5DtISY.?ts=1778972071&sign=ce002fc5c097450a447eab829e63f692",
"reason": null
}
},
{
"spider": "咕咕动漫",
"file": "咕咕动漫.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 16.343,
"init": 0.004,
"home": 719.318,
"category": 350.372,
"detail": 671.229,
"player": 1979.262,
"url_check": 78.396,
"total": 3816.124
},
"counts": {
"classes": 3,
"category_videos": 30,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "6",
"vod_id": "4868",
"flag": "咕咕新线(国内高速)",
"play_id": "parse_api=a2796a09189261bcaf3cc4542d7c5ac2&url=lP2R+fQhIhERka2gIaipagHQsWKazkceP23lb9jG0yeOhUKQ437rokxlEtXsJd2U&token=|勇者之屑|1"
},
"player": {
"parse": 0,
"url": "https://p9-bot-workflow-sign.byteimg.com/tos-cn-i-mdko3gqilj/cce3008768e54b0ab7d8413653c95ba1~tplv-mdko3gqilj-image.image?rk3s=81d4c505&x-expires=1810078040&x-signature=0nC8QxGJ5xOr7WZFlqVX0udcOJo%3D",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://p9-bot-workflow-sign.byteimg.com/tos-cn-i-mdko3gqilj/cce3008768e54b0ab7d8413653c95ba1~tplv-mdko3gqilj-image.image?rk3s=81d4c505&x-expires=1810078040&x-signature=0nC8QxGJ5xOr7WZFlqVX0udcOJo%3D",
"reason": null
}
},
{
"spider": "四万影视",
"file": "四万影视.txt",
"success": false,
"failed_stage": "unexpected",
"error": "HTTPSConnectionPool(host='40000.me', port=443): Max retries exceeded with url: /api/maccms?ac=detail&t=20&pg=1&by=time (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate (_ssl.c:1081)')))",
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 464, in _make_request\n self._validate_conn(conn)\n ~~~~~~~~~~~~~~~~~~~^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 1093, in _validate_conn\n conn.connect()\n ~~~~~~~~~~~~^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 796, in connect\n sock_and_verified = _ssl_wrap_socket_and_match_hostname(\n sock=sock,\n ...<14 lines>...\n assert_fingerprint=self.assert_fingerprint,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 975, in _ssl_wrap_socket_and_match_hostname\n ssl_sock = ssl_wrap_socket(\n sock=sock,\n ...<8 lines>...\n tls_in_tls=tls_in_tls,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/ssl_.py\", line 483, in ssl_wrap_socket\n ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls, server_hostname)\nssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate (_ssl.c:1081)\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 488, in _make_request\n raise new_e\nurllib3.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate (_ssl.c:1081)\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/requests/adapters.py\", line 645, in send\n resp = conn.urlopen(\n method=request.method,\n ...<9 lines>...\n chunked=chunked,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 841, in urlopen\n retries = retries.increment(\n method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/retry.py\", line 535, in increment\n raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nurllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='40000.me', port=443): Max retries exceeded with url: /api/maccms?ac=detail&t=20&pg=1&by=time (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate (_ssl.c:1081)')))\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 716, in validate_spider_file\n _validate_from_tid(\n ~~~~~~~~~~~~~~~~~~^\n spider=spider,\n ^^^^^^^^^^^^^^\n ...<6 lines>...\n logger=logger,\n ^^^^^^^^^^^^^^\n )\n ^\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 412, in _validate_from_tid\n category_result = _run_timed(result[\"timings_ms\"], \"category\", spider.categoryContent, clock, tid, \"1\", False, {})\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 291, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/四万影视.txt\", line 238, in categoryContent\n File \"/home/harold/workspace/tvbox-resources/py/四万影视.txt\", line 212, in _api_get\nrequests.exceptions.SSLError: HTTPSConnectionPool(host='40000.me', port=443): Max retries exceeded with url: /api/maccms?ac=detail&t=20&pg=1&by=time (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate (_ssl.c:1081)')))\n",
"timings_ms": {
"module_load": 11.41,
"init": 0.001,
"home": 0.001,
"category": 125.21,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 156.499
},
"counts": {
"classes": 5,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "20",
"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.404,
"init": 0.001,
"home": 0.001,
"category": 577.481,
"detail": 960.346,
"player": 2332.693,
"url_check": 198.044,
"total": 4092.245
},
"counts": {
"classes": 6,
"category_videos": 12,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "4601",
"flag": "zxzj",
"play_id": "vodplay/4601-1-1.html"
},
"player": {
"parse": 0,
"url": "https://media-sxty-fy-corp.sx3oss.ctyunxs.cn/CORPCLOUD/f076ccf5-a095-45a2-b086-cbf66f4aa40d.mp4?response-content-disposition=attachment%3Bfilename%3D%22%E9%93%81%E8%A1%80%E6%88%98%E5%A3%AB%E6%9D%80%E6%88%AE%E4%B9%8B%E5%9C%B02025HD1080P.mp4%22%3Bfilename*%3DUTF-8%27%27%25E9%2593%2581%25E8%25A1%2580%25E6%2588%2598%25E5%25A3%25AB%25E6%259D%2580%25E6%2588%25AE%25E4%25B9%258B%25E5%259C%25B02025HD1080P.mp4&x-amz-CLIENTNETWORK=UNKNOWN&x-amz-CLOUDTYPEIN=CORP&x-amz-CLIENTTYPEIN=UNKNOWN&Signature=oubmeQnjqGd5W0mono8h/BSx9jo%3D&AWSAccessKeyId=0Lg7dAq3ZfHvePP8DKEU&Expires=1778975934&x-amz-limitrate=102400&response-content-type=video/mp4&x-amz-FSIZE=2183471772&x-amz-UID=10000004591358&x-amz-UFID=31374317010337932",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://media-sxty-fy-corp.sx3oss.ctyunxs.cn/CORPCLOUD/f076ccf5-a095-45a2-b086-cbf66f4aa40d.mp4?response-content-disposition=attachment%3Bfilename%3D%22%E9%93%81%E8%A1%80%E6%88%98%E5%A3%AB%E6%9D%80%E6%88%AE%E4%B9%8B%E5%9C%B02025HD1080P.mp4%22%3Bfilename*%3DUTF-8%27%27%25E9%2593%2581%25E8%25A1%2580%25E6%2588%2598%25E5%25A3%25AB%25E6%259D%2580%25E6%2588%25AE%25E4%25B9%258B%25E5%259C%25B02025HD1080P.mp4&x-amz-CLIENTNETWORK=UNKNOWN&x-amz-CLOUDTYPEIN=CORP&x-amz-CLIENTTYPEIN=UNKNOWN&Signature=oubmeQnjqGd5W0mono8h/BSx9jo%3D&AWSAccessKeyId=0Lg7dAq3ZfHvePP8DKEU&Expires=1778975934&x-amz-limitrate=102400&response-content-type=video/mp4&x-amz-FSIZE=2183471772&x-amz-UID=10000004591358&x-amz-UFID=31374317010337932",
"reason": null
}
},
{
"spider": "多多",
"file": "多多.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 20.788,
"init": 0.001,
"home": 0.001,
"category": 521.121,
"detail": 408.851,
"player": 0.005,
"url_check": 1220.11,
"total": 2171.853
},
"counts": {
"classes": 6,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "9461",
"flag": "百度#多多",
"play_id": "https://pan.baidu.com/s/1pwIj24HVw6lpAUcUrJE-QQ?pwd=yyds"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1pwIj24HVw6lpAUcUrJE-QQ?pwd=yyds",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=pwIj24HVw6lpAUcUrJE-QQ&pwd=yyds",
"reason": null
}
},
{
"spider": "如意资源",
"file": "如意资源.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 14.786,
"init": 0.001,
"home": 0.011,
"category": 885.099,
"detail": 325.519,
"player": 0.013,
"url_check": 1836.916,
"total": 3063.963
},
"counts": {
"classes": 6,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "77365",
"flag": "rym3u8",
"play_id": "https://svip.ryiplay18.com/20260515/6453_8cf2f155/index.m3u8"
},
"player": {
"parse": 0,
"url": "https://svip.ryiplay18.com/20260515/6453_8cf2f155/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://svip.ryiplay18.com/20260515/6453_8cf2f155/index.m3u8",
"reason": null
}
},
{
"spider": "布布影视",
"file": "布布影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.935,
"init": 0.0,
"home": 0.001,
"category": 668.734,
"detail": 661.326,
"player": 955.661,
"url_check": 338.331,
"total": 2630.969
},
"counts": {
"classes": 4,
"category_videos": 24,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "69765",
"flag": "JD蓝光(1)",
"play_id": "JD4K@1@JD-5f4f247d6dfbc0b5d5cb1efeaa2303790"
},
"player": {
"parse": 0,
"url": "https://c167-obsdaz-ykj-01.obs.dualstack.cidc-rp-2006.joint.cmecloud.cn/1810c8ff2a78456b9348fadfe7ab0fd0086?response-content-disposition=attachment%3B%20filename%2A%3DUTF-8%27%274K.mp4&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20260516T231809Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Credential=AH4RWOMWLEL7ROYSF2S5%2F20260516%2Fcidc-rp-2006%2Fs3%2Faws4_request&t=2&u=1261698636582652615&ot=family&oi=1263000283947275586&f=FibTFWRt8ncqZsYDWQP5LF5BI3oB5_LXK&ext=eyJ1dCI6MX0%3D&X-Amz-Signature=ee722f117f47a7734a61ef574cee198226d93b959021bd450b97848469bc317c",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://c167-obsdaz-ykj-01.obs.dualstack.cidc-rp-2006.joint.cmecloud.cn/1810c8ff2a78456b9348fadfe7ab0fd0086?response-content-disposition=attachment%3B%20filename%2A%3DUTF-8%27%274K.mp4&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20260516T231809Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86400&X-Amz-Credential=AH4RWOMWLEL7ROYSF2S5%2F20260516%2Fcidc-rp-2006%2Fs3%2Faws4_request&t=2&u=1261698636582652615&ot=family&oi=1263000283947275586&f=FibTFWRt8ncqZsYDWQP5LF5BI3oB5_LXK&ext=eyJ1dCI6MX0%3D&X-Amz-Signature=ee722f117f47a7734a61ef574cee198226d93b959021bd450b97848469bc317c",
"reason": null
}
},
{
"spider": "微观短剧",
"file": "微观短剧.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.326,
"init": 0.02,
"home": 180.234,
"category": 253.529,
"detail": 315.63,
"player": 0.002,
"url_check": 96.632,
"total": 856.1
},
"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=1778974038&sign=8b0298bd195b1500df7f2779aa1f991c"
},
"player": {
"parse": 0,
"url": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1778974038&sign=8b0298bd195b1500df7f2779aa1f991c",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1778974038&sign=8b0298bd195b1500df7f2779aa1f991c",
"reason": null
}
},
{
"spider": "新韩剧网",
"file": "新韩剧网.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 23.631,
"init": 0.001,
"home": 0.001,
"category": 595.97,
"detail": 423.346,
"player": 404.996,
"url_check": 995.934,
"total": 2444.954
},
"counts": {
"classes": 5,
"category_videos": 16,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "3653",
"flag": "在线云播",
"play_id": "3653_1_1"
},
"player": {
"parse": 0,
"url": "https://cdn.yzzy31-play.com/20260418/19681_becb8597/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://cdn.yzzy31-play.com/20260418/19681_becb8597/index.m3u8",
"reason": null
}
},
{
"spider": "星星短剧",
"file": "星星短剧.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 2.939,
"init": 0.0,
"home": 0.0,
"category": 490.494,
"detail": 605.175,
"player": 0.006,
"url_check": 120.463,
"total": 1219.841
},
"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": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 13.795,
"init": 0.002,
"home": 0.002,
"category": 286.932,
"detail": 216.495,
"player": 0.026,
"url_check": 244.009,
"total": 762.185
},
"counts": {
"classes": 7,
"category_videos": 72,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "25",
"vod_id": "7920",
"flag": "115#木偶",
"play_id": "https://115cdn.com/s/swf2d3336dh?password=if81"
},
"player": {
"parse": 0,
"url": "https://115cdn.com/s/swf2d3336dh?password=if81",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://115cdn.com/s/swf2d3336dh?password=if81",
"reason": null
}
},
{
"spider": "樱花动漫",
"file": "樱花动漫.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 17.187,
"init": 0.003,
"home": 0.003,
"category": 1644.544,
"detail": 1300.723,
"player": 1316.582,
"url_check": 1845.819,
"total": 6125.782
},
"counts": {
"classes": 4,
"category_videos": 36,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "guoman",
"vod_id": "234",
"flag": "高清",
"play_id": "/play/234-1-1/"
},
"player": {
"parse": 0,
"url": "https://yzzy.play-cdn8.com/20220731/11908_8b017ccd/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://yzzy.play-cdn8.com/20220731/11908_8b017ccd/index.m3u8",
"reason": null
}
},
{
"spider": "橘子TV",
"file": "橘子TV.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 9.103,
"init": 333.905,
"home": 328.895,
"category": 332.599,
"detail": 378.509,
"player": 699.6,
"url_check": 992.894,
"total": 3077.065
},
"counts": {
"classes": 8,
"category_videos": 18,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "50",
"vod_id": "397266",
"flag": "一起看APP",
"play_id": "25385531"
},
"player": {
"parse": 0,
"url": "https://usaydd.5gwcft9h.com/m3u87/share/7404387/7599927/20260511/161239/720/index.m3u8?sign=6d2b63ae7bcd54844fbfff2c6c8c0ea1&t=1778974041",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://usaydd.5gwcft9h.com/m3u87/share/7404387/7599927/20260511/161239/720/index.m3u8?sign=6d2b63ae7bcd54844fbfff2c6c8c0ea1&t=1778974041",
"reason": null
}
},
{
"spider": "欧歌",
"file": "欧歌.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 14.951,
"init": 0.001,
"home": 0.001,
"category": 212.641,
"detail": 175.093,
"player": 0.006,
"url_check": 4866.921,
"total": 5270.323
},
"counts": {
"classes": 6,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "29949",
"flag": "百度",
"play_id": "https://pan.baidu.com/s/1jrvd3aW7MiXaZOm5AOpXfw?pwd=8888"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1jrvd3aW7MiXaZOm5AOpXfw?pwd=8888",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=jrvd3aW7MiXaZOm5AOpXfw&pwd=8888",
"reason": null
}
},
{
"spider": "河马短剧",
"file": "河马短剧.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 7.861,
"init": 0.001,
"home": 638.596,
"category": 617.483,
"detail": 994.25,
"player": 0.022,
"url_check": 70.318,
"total": 2329.374
},
"counts": {
"classes": 10,
"category_videos": 10,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "462",
"vod_id": "41000188058",
"flag": "河马剧场",
"play_id": "https://dzzt-video.cbread.cn/07b5ef7e1a94de48bddcdfcb5a25683e/6a0a4870/81/8x5/85x0/850x8/85088100014/612504118_1/612504118.720p.narrowv3.mp4"
},
"player": {
"parse": 0,
"url": "https://dzzt-video.cbread.cn/07b5ef7e1a94de48bddcdfcb5a25683e/6a0a4870/81/8x5/85x0/850x8/85088100014/612504118_1/612504118.720p.narrowv3.mp4",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://dzzt-video.cbread.cn/07b5ef7e1a94de48bddcdfcb5a25683e/6a0a4870/81/8x5/85x0/850x8/85088100014/612504118_1/612504118.720p.narrowv3.mp4",
"reason": null
}
},
{
"spider": "滴答影视",
"file": "滴答影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 7.684,
"init": 0.001,
"home": 0.001,
"category": 197.479,
"detail": 208.997,
"player": 0.004,
"url_check": 963.437,
"total": 1378.345
},
"counts": {
"classes": 5,
"category_videos": 48,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "3034",
"flag": "百度",
"play_id": "https://pan.baidu.com/s/1iUOPtAOz3ypj2nyY7Wv9Ww?pwd=969e"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1iUOPtAOz3ypj2nyY7Wv9Ww?pwd=969e",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=iUOPtAOz3ypj2nyY7Wv9Ww&pwd=969e",
"reason": null
}
},
{
"spider": "潮流APP",
"file": "潮流APP.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.586,
"init": 0.002,
"home": 78.598,
"category": 93.3,
"detail": 131.771,
"player": 244.778,
"url_check": 102.528,
"total": 656.299
},
"counts": {
"classes": 10,
"category_videos": 12,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "10",
"vod_id": "75722",
"flag": "线路二 (点击换线)",
"play_id": "75722@@0@@0"
},
"player": {
"parse": 0,
"url": "http://43.248.100.143:9090/nby/m3u8/getM3u8?name=jx.91by.top&time=1778974040141&url=NBY-e84585334a25c5b49078dfac81549a0b.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://43.248.100.143:9090/nby/m3u8/getM3u8?name=jx.91by.top&time=1778974040141&url=NBY-e84585334a25c5b49078dfac81549a0b.m3u8",
"reason": null
}
},
{
"spider": "爱奇艺",
"file": "爱奇艺.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 19.701,
"init": 0.021,
"home": 2830.145,
"category": 961.105,
"detail": 181.57,
"player": 0.005,
"url_check": 84.97,
"total": 4079.206
},
"counts": {
"classes": 11,
"category_videos": 48,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "pcw:1",
"vod_id": "pcw:1$6003108394876300",
"flag": "爱奇艺",
"play_id": "http://www.iqiyi.com/v_1mmd1991kgw.html"
},
"player": {
"parse": 1,
"url": "http://www.iqiyi.com/v_1mmd1991kgw.html",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://www.iqiyi.com/v_1mmd1991kgw.html",
"reason": null
}
},
{
"spider": "独播库",
"file": "独播库.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 12.377,
"init": 0.001,
"home": 0.001,
"category": 429.339,
"detail": 353.208,
"player": 315.898,
"url_check": 187.763,
"total": 1299.292
},
"counts": {
"classes": 6,
"category_videos": 48,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "index",
"vod_id": "143470",
"flag": "独播库",
"play_id": "143470-1-1"
},
"player": {
"parse": 0,
"url": "https://vid.dbokutv.com/20260411/ppotb62-S71lT2yliZApDBSvkYzBsrmD3fpCJ4nBsnsRsGlR7XgBJ8nSsfaQcPoBJ0nBJ0oCJaqD4CrCIvjS34/chunklist.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vid.dbokutv.com/20260411/ppotb62-S71lT2yliZApDBSvkYzBsrmD3fpCJ4nBsnsRsGlR7XgBJ8nSsfaQcPoBJ0nBJ0oCJaqD4CrCIvjS34/chunklist.m3u8",
"reason": null
}
},
{
"spider": "玩偶哥哥",
"file": "玩偶哥哥.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 14.613,
"init": 0.001,
"home": 0.0,
"category": 132.766,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 270.749
},
"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": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 15.997,
"init": 0.002,
"home": 0.153,
"category": 265.179,
"detail": 225.013,
"player": 0.005,
"url_check": 250.98,
"total": 757.948
},
"counts": {
"classes": 10,
"category_videos": 72,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "site_muou",
"vod_id": "site:muou:/index.php/vod/detail/id/7920.html",
"flag": "115#木偶",
"play_id": "https://115cdn.com/s/swf2d3336dh?password=if81"
},
"player": {
"parse": 0,
"url": "https://115cdn.com/s/swf2d3336dh?password=if81",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://115cdn.com/s/swf2d3336dh?password=if81",
"reason": null
}
},
{
"spider": "瓜子",
"file": "瓜子.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.866,
"init": 0.001,
"home": 0.032,
"category": 471.316,
"detail": 729.312,
"player": 363.279,
"url_check": 68.982,
"total": 1638.814
},
"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.hxcztech.com/ece52126a0784c60eed661778774ee86/20260517072721/decry/vd/20260311/MjYwZjE1YTRkO/172631/1998_1080/aac/h264/hls/decrypt/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vd.hxcztech.com/ece52126a0784c60eed661778774ee86/20260517072721/decry/vd/20260311/MjYwZjE1YTRkO/172631/1998_1080/aac/h264/hls/decrypt/index.m3u8",
"reason": null
}
},
{
"spider": "百度短剧",
"file": "百度短剧.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.245,
"init": 0.001,
"home": 406.155,
"category": 245.795,
"detail": 664.803,
"player": 255.735,
"url_check": 47.241,
"total": 1623.391
},
"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-hnb",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://vd3.bdstatic.com/mda-rgu31fx13xnschwc/1080p/mv_cae264_backtrack_1080p_normal/1753858859061604699/mda-rgu31fx13xnschwc.mp4?v_from_s=haokan-ui-video-hnb",
"reason": null
}
},
{
"spider": "盘Ta",
"file": "盘Ta.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 13.099,
"init": 0.001,
"home": 326.049,
"category": 233.686,
"detail": 257.162,
"player": 0.036,
"url_check": 121.284,
"total": 952.533
},
"counts": {
"classes": 8,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "?tagId=39765285016165",
"vod_id": "264430",
"flag": "移动",
"play_id": "https://yun.139.com/shareweb/%23/w/i/2sUfBKpu5QBqz"
},
"player": {
"parse": 0,
"url": "https://yun.139.com/shareweb/#/w/i/2sUfBKpu5QBqz",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://yun.139.com/shareweb/#/w/i/2sUfBKpu5QBqz",
"reason": null
}
},
{
"spider": "盘聚",
"file": "盘聚.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 11.361,
"init": 0.001,
"home": 0.0,
"category": 181.33,
"detail": 203.532,
"player": 174.407,
"url_check": 870.934,
"total": 1442.254
},
"counts": {
"classes": 4,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "/",
"vod_id": "117684",
"flag": "百度1",
"play_id": "push://https://www.seedhub.cc/link_start/?redirect_to=pan_id_576185&movie_title=▶️▶️▶️【挽救计划】【4K 1080P】更新于 ✅ 今天"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1e6bRvilOqU11I0aregqndA?pwd=ojmk",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=e6bRvilOqU11I0aregqndA&pwd=ojmk",
"reason": null
}
},
{
"spider": "盘链",
"file": "盘链.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 7.328,
"init": 0.02,
"home": 0.001,
"category": 867.178,
"detail": 168.084,
"player": 0.002,
"url_check": 1321.135,
"total": 2364.154
},
"counts": {
"classes": 5,
"category_videos": 30,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "0",
"vod_id": "75716",
"flag": "百度",
"play_id": "push://https://pan.baidu.com/s/1rbhXV3rLNKd1wVta_hMYnw?pwd=8888"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1rbhXV3rLNKd1wVta_hMYnw?pwd=8888",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=rbhXV3rLNKd1wVta_hMYnw&pwd=8888",
"reason": null
}
},
{
"spider": "短剧优选",
"file": "短剧优选.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 25.382,
"init": 436.231,
"home": 0.141,
"category": 487.895,
"detail": 611.268,
"player": 0.006,
"url_check": 44.222,
"total": 1606.381
},
"counts": {
"classes": 11,
"category_videos": 72,
"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": 3.611,
"init": 0.001,
"home": 0.0,
"category": 252.342,
"detail": 217.789,
"player": 0.015,
"url_check": 1082.326,
"total": 1556.666
},
"counts": {
"classes": 2,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "https://sm3.cc/?id=50820",
"flag": "百度",
"play_id": "https://pan.baidu.com/s/1uKNPs2l7fvRp-JpP8btPCw?pwd=6666"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1uKNPs2l7fvRp-JpP8btPCw?pwd=6666",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=uKNPs2l7fvRp-JpP8btPCw&pwd=6666",
"reason": null
}
},
{
"spider": "糯米",
"file": "糯米.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.523,
"init": 0.0,
"home": 223.162,
"category": 614.692,
"detail": 136.915,
"player": 243.967,
"url_check": 224.521,
"total": 1449.951
},
"counts": {
"classes": 7,
"category_videos": 81,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "/vod-type-id-1-pg-1.html",
"vod_id": "90063",
"flag": "uvw",
"play_id": "/vod-play-id-90063-src-1-num-1.html"
},
"player": {
"parse": 0,
"url": "https://vip.123pan.cn/1853039965/dy/东北往事极恶不赦.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vip.123pan.cn/1853039965/dy/%E4%B8%9C%E5%8C%97%E5%BE%80%E4%BA%8B%E6%9E%81%E6%81%B6%E4%B8%8D%E8%B5%A6.m3u8",
"reason": null
}
},
{
"spider": "网易云音乐",
"file": "网易云音乐.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.01,
"init": 0.001,
"home": 425.076,
"category": 410.392,
"detail": 0.005,
"player": 1341.515,
"url_check": 51.46,
"total": 2233.84
},
"counts": {
"classes": 62,
"category_videos": 100,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "/discover/toplist?id=19723756",
"vod_id": "3382154270@Make Them Know@Drake👉MV",
"flag": "网易云音乐",
"play_id": "3382154270"
},
"player": {
"parse": 0,
"url": "https://vodkgeyttp8.vod.126.net/cloudmusic/b028/core/d385/7949c1ba77cdfe6a51daf59fceb136cf.mp4?wsSecret=735d04d697a54bde56a247a1b951f8cd&wsTime=1778974043",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vodkgeyttp8.vod.126.net/cloudmusic/b028/core/d385/7949c1ba77cdfe6a51daf59fceb136cf.mp4?wsSecret=735d04d697a54bde56a247a1b951f8cd&wsTime=1778974043",
"reason": null
}
},
{
"spider": "耐视点播",
"file": "耐视点播.txt",
"success": false,
"failed_stage": "unexpected",
"error": "HTTPSConnectionPool(host='nsvod.me', port=443): Max retries exceeded with url: /index.php/vod/show/id/1.html?page=1 (Caused by ConnectTimeoutError(<HTTPSConnection(host='nsvod.me', port=443) at 0x74dd80644910>, 'Connection to nsvod.me timed out. (connect timeout=10)'))",
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 204, in _new_conn\n sock = connection.create_connection(\n (self._dns_host, self.port),\n ...<2 lines>...\n socket_options=self.socket_options,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/connection.py\", line 85, in create_connection\n raise err\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/connection.py\", line 73, in create_connection\n sock.connect(sa)\n ~~~~~~~~~~~~^^^^\nTimeoutError: timed out\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 488, in _make_request\n raise new_e\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 464, in _make_request\n self._validate_conn(conn)\n ~~~~~~~~~~~~~~~~~~~^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 1093, in _validate_conn\n conn.connect()\n ~~~~~~~~~~~~^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 759, in connect\n self.sock = sock = self._new_conn()\n ~~~~~~~~~~~~~~^^\nurllib3.exceptions.ConnectTimeoutError: (<HTTPSConnection(host='nsvod.me', port=443) at 0x74dd80644910>, 'Connection to nsvod.me timed out. (connect timeout=10)')\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/requests/adapters.py\", line 645, in send\n resp = conn.urlopen(\n method=request.method,\n ...<9 lines>...\n chunked=chunked,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 841, in urlopen\n retries = retries.increment(\n method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/retry.py\", line 535, in increment\n raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nurllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='nsvod.me', port=443): Max retries exceeded with url: /index.php/vod/show/id/1.html?page=1 (Caused by ConnectTimeoutError(<HTTPSConnection(host='nsvod.me', port=443) at 0x74dd80644910>, 'Connection to nsvod.me timed out. (connect timeout=10)'))\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 716, in validate_spider_file\n _validate_from_tid(\n ~~~~~~~~~~~~~~~~~~^\n spider=spider,\n ^^^^^^^^^^^^^^\n ...<6 lines>...\n logger=logger,\n ^^^^^^^^^^^^^^\n )\n ^\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 412, in _validate_from_tid\n category_result = _run_timed(result[\"timings_ms\"], \"category\", spider.categoryContent, clock, tid, \"1\", False, {})\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 291, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/耐视点播.txt\", line 174, in categoryContent\n File \"/home/harold/workspace/tvbox-resources/py/耐视点播.txt\", line 76, in _request_html\nrequests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='nsvod.me', port=443): Max retries exceeded with url: /index.php/vod/show/id/1.html?page=1 (Caused by ConnectTimeoutError(<HTTPSConnection(host='nsvod.me', port=443) at 0x74dd80644910>, 'Connection to nsvod.me timed out. (connect timeout=10)'))\n",
"timings_ms": {
"module_load": 14.638,
"init": 0.001,
"home": 0.001,
"category": 10013.04,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 10029.367
},
"counts": {
"classes": 6,
"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": 5.818,
"init": 0.001,
"home": 141.207,
"category": 277.945,
"detail": 934.898,
"player": 0.006,
"url_check": 222.833,
"total": 1583.332
},
"counts": {
"classes": 7,
"category_videos": 12,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "choice",
"vod_id": "choice$mzc002009g0nh88",
"flag": "腾讯视频",
"play_id": "https://v.qq.com/x/cover/mzc002009g0nh88/w4102d4f4ur.html"
},
"player": {
"parse": 1,
"url": "https://v.qq.com/x/cover/mzc002009g0nh88/w4102d4f4ur.html",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://v.qq.com/x/cover/mzc002009g0nh88/w4102d4f4ur.html",
"reason": null
}
},
{
"spider": "至臻",
"file": "至臻.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.35,
"init": 0.001,
"home": 0.001,
"category": 272.689,
"detail": 270.746,
"player": 0.011,
"url_check": 143.697,
"total": 691.891
},
"counts": {
"classes": 7,
"category_videos": 72,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "20436",
"flag": "夸克#至臻",
"play_id": "https://pan.quark.cn/s/76aa8cdbc04e"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/76aa8cdbc04e",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/76aa8cdbc04e",
"reason": null
}
},
{
"spider": "茶杯狐",
"file": "茶杯狐.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 10.52,
"init": 0.001,
"home": 809.509,
"category": 883.127,
"detail": 688.323,
"player": 1332.059,
"url_check": 778.923,
"total": 10797.632
},
"counts": {
"classes": 4,
"category_videos": 35,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "detail/video/113726",
"flag": "BF有广",
"play_id": "play/113726-2-1"
},
"player": {
"parse": 0,
"url": "https://8.bf8bf.com/video/zhimingzhilv2025/HD/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://8.bf8bf.com/video/zhimingzhilv2025/HD/index.m3u8",
"reason": null
}
},
{
"spider": "虎斑",
"file": "虎斑.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.979,
"init": 0.001,
"home": 0.0,
"category": 1252.494,
"detail": 5784.35,
"player": 0.012,
"url_check": 1150.746,
"total": 8195.116
},
"counts": {
"classes": 6,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "/index.php/vod/detail/id/457553.html",
"flag": "百度#虎斑",
"play_id": "https://pan.baidu.com/s/1ix_xUKoNzXygByZVQWQ7yQ?pwd=7495"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1ix_xUKoNzXygByZVQWQ7yQ?pwd=7495",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=ix_xUKoNzXygByZVQWQ7yQ&pwd=7495",
"reason": null
}
},
{
"spider": "蜡笔",
"file": "蜡笔.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 13.461,
"init": 0.001,
"home": 0.0,
"category": 694.293,
"detail": 460.065,
"player": 0.008,
"url_check": 950.346,
"total": 2118.652
},
"counts": {
"classes": 7,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "29",
"vod_id": "9231",
"flag": "百度#蜡笔",
"play_id": "https://pan.baidu.com/s/1LZC9v0B6ETfpQWooAqqxJA?pwd=jcx5"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1LZC9v0B6ETfpQWooAqqxJA?pwd=jcx5",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=LZC9v0B6ETfpQWooAqqxJA&pwd=jcx5",
"reason": null
}
},
{
"spider": "袋鼠影视",
"file": "袋鼠影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 10.002,
"init": 0.001,
"home": 0.001,
"category": 756.471,
"detail": 175.754,
"player": 169.982,
"url_check": 909.535,
"total": 2022.478
},
"counts": {
"classes": 4,
"category_videos": 36,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "414893",
"flag": "蓝光专线4",
"play_id": "play/414893-1-0"
},
"player": {
"parse": 0,
"url": "https://play.phimgood.com/20260516/26886_f6f20ada/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://play.phimgood.com/20260516/26886_f6f20ada/index.m3u8",
"reason": null
}
},
{
"spider": "视界",
"file": "视界.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.908,
"init": 0.001,
"home": 301.044,
"category": 204.81,
"detail": 245.395,
"player": 411.415,
"url_check": 308.899,
"total": 1480.258
},
"counts": {
"classes": 6,
"category_videos": 30,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "20",
"vod_id": "134162",
"flag": "4K源",
"play_id": "parse_api=d9f9042eda382ed2f70e1768a99bb4dd&url=VTwg7uZlpTmKIVX/FbQWKRMf8g5ZwPKGrutlbvnFvO9z1EB4qn2YfEe0rTCuumHq&token=a542089c501379d5828dcc86d48563f9|努力克服自卑的我们|1"
},
"player": {
"parse": 0,
"url": "https://media-bjcy-fy-person01.bjoss.ctyunxs.cn/PERSONCLOUD/e4c3ddb3-e567-4dd5-a8ae-bba59a76de13.m3u8?x-amz-CLIENTTYPEIN=UNKNOWN&AWSAccessKeyId=0Lg7dAq3ZfHvePP8DKEU&x-amz-userLevel=0&x-amz-limitrate=51200&x-amz-UID=269636103&x-amz-APPID=828221&response-content-disposition=attachment%3Bfilename%3D%2201.m3u8%22%3Bfilename*%3DUTF-8%27%2701.m3u8&x-amz-CLIENTNETWORK=UNKNOWN&x-amz-CLOUDTYPEIN=PERSON&Signature=Ei1IYNPyjOslRsz063M%2B5Iu0hBg%3D&Expires=1778974049&x-amz-FSIZE=89859&x-amz-UFID=823271248265142587",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://media-bjcy-fy-person01.bjoss.ctyunxs.cn/PERSONCLOUD/e4c3ddb3-e567-4dd5-a8ae-bba59a76de13.m3u8?x-amz-CLIENTTYPEIN=UNKNOWN&AWSAccessKeyId=0Lg7dAq3ZfHvePP8DKEU&x-amz-userLevel=0&x-amz-limitrate=51200&x-amz-UID=269636103&x-amz-APPID=828221&response-content-disposition=attachment%3Bfilename%3D%2201.m3u8%22%3Bfilename*%3DUTF-8%27%2701.m3u8&x-amz-CLIENTNETWORK=UNKNOWN&x-amz-CLOUDTYPEIN=PERSON&Signature=Ei1IYNPyjOslRsz063M%2B5Iu0hBg%3D&Expires=1778974049&x-amz-FSIZE=89859&x-amz-UFID=823271248265142587",
"reason": null
}
},
{
"spider": "路漫漫",
"file": "路漫漫.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.631,
"init": 0.001,
"home": 0.001,
"category": 906.614,
"detail": 647.867,
"player": 1600.538,
"url_check": 93.997,
"total": 3254.107
},
"counts": {
"classes": 6,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "6",
"vod_id": "detail/8036.html",
"flag": "播放节点列表X 聚合线路 box聚合",
"play_id": "play/8036_1_1.html"
},
"player": {
"parse": 0,
"url": "https://video-sh.cloudvideocdn.taobao.com/pc_video_daren_publish/1775328690971/3f48edfdc3979ed7.mp4?auth_key=1779033497-0-0-f393307fc675a96792780080f0c57cf5&biz=guangguang-22e0ed3e0d4bd43d&t=213e031217789734973475468e0fcc",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://video-sh.cloudvideocdn.taobao.com/pc_video_daren_publish/1775328690971/3f48edfdc3979ed7.mp4?auth_key=1779033497-0-0-f393307fc675a96792780080f0c57cf5&biz=guangguang-22e0ed3e0d4bd43d&t=213e031217789734973475468e0fcc",
"reason": null
}
},
{
"spider": "酷我听书",
"file": "酷我听书.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 13.392,
"init": 0.001,
"home": 389.096,
"category": 89.493,
"detail": 3168.787,
"player": 158.938,
"url_check": 39.994,
"total": 3860.708
},
"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://lv.sycdn.kuwo.cn/82e5ff96b140f52453f49b7ec0d65410/6a08fd5e/resource/30106/trackmedia/long/M500002ZiI9a1sctnS.mp3?bitrate$128&format$mp3&source$kwplayerhd_ar_4.3.0.8_tianbao_T1A_qirui.apk&type$convert_url_with_sign&user$&loginUid$",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://lv.sycdn.kuwo.cn/82e5ff96b140f52453f49b7ec0d65410/6a08fd5e/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": 23.365,
"init": 460.668,
"home": 256.125,
"category": 221.991,
"detail": 252.577,
"player": 315.841,
"url_check": 25.402,
"total": 1559.996
},
"counts": {
"classes": 12,
"category_videos": 15,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "recommend",
"vod_id": "676594792",
"flag": "酷狗音乐",
"play_id": "676594792"
},
"player": {
"parse": 0,
"url": "http://fsdg360.tx.kugou.com/202605170727/0d74e833183de79733b469ecac3c3e25/v3/1bf98ac2dc230c816bcbfa122ee4e729/yp/p_0_960127/ap1013_us0_mic85f71c379c462618de1399950957c33_pi6101_mx676594792_qu128_s1038393002.mp3?ft=car_203559_10049&fts=b05bb02d44717442054bac7624ed9a29&ext=.mp3",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://fsdg360.tx.kugou.com/202605170727/0d74e833183de79733b469ecac3c3e25/v3/1bf98ac2dc230c816bcbfa122ee4e729/yp/p_0_960127/ap1013_us0_mic85f71c379c462618de1399950957c33_pi6101_mx676594792_qu128_s1038393002.mp3?ft=car_203559_10049&fts=b05bb02d44717442054bac7624ed9a29&ext=.mp3",
"reason": null
}
},
{
"spider": "金牌",
"file": "金牌.txt",
"success": false,
"failed_stage": "url_check",
"error": "HTTP 403",
"traceback": null,
"timings_ms": {
"module_load": 15.575,
"init": 0.001,
"home": 1607.582,
"category": 180.064,
"detail": 192.929,
"player": 184.983,
"url_check": 136.15,
"total": 2957.519
},
"counts": {
"classes": 4,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "2",
"vod_id": "141585",
"flag": "金牌线路",
"play_id": "141585@1258194"
},
"player": {
"parse": 0,
"url": "https://ppvod01.kqgfbs.com/splitOut/20260103/1226906/V20260103184854978121226906/index.m3u8?t=6a09278e&whip=212.107.29.200&sign=5a72522827e99fbe82ce1827bdbbc63c734a4e0e",
"valid": false,
"reachable": false,
"status_code": 403,
"final_url": "https://ppvod01.kqgfbs.com/splitOut/20260103/1226906/V20260103184854978121226906/index.m3u8?t=6a09278e&whip=212.107.29.200&sign=5a72522827e99fbe82ce1827bdbbc63c734a4e0e",
"reason": "HTTP 403"
}
},
{
"spider": "闪电",
"file": "闪电.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 3.776,
"init": 0.001,
"home": 0.001,
"category": 1137.577,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 2179.288
},
"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": "飞快TV",
"file": "飞快TV.txt",
"success": false,
"failed_stage": "unexpected",
"error": "HTTPSConnectionPool(host='feikuai.in', port=443): Max retries exceeded with url: /voddetail/239943.html (Caused by ConnectTimeoutError(<HTTPSConnection(host='feikuai.in', port=443) at 0x74dd80646350>, 'Connection to feikuai.in timed out. (connect timeout=10)'))",
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 204, in _new_conn\n sock = connection.create_connection(\n (self._dns_host, self.port),\n ...<2 lines>...\n socket_options=self.socket_options,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/connection.py\", line 85, in create_connection\n raise err\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/connection.py\", line 73, in create_connection\n sock.connect(sa)\n ~~~~~~~~~~~~^^^^\nTimeoutError: timed out\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 488, in _make_request\n raise new_e\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 464, in _make_request\n self._validate_conn(conn)\n ~~~~~~~~~~~~~~~~~~~^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 1093, in _validate_conn\n conn.connect()\n ~~~~~~~~~~~~^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 759, in connect\n self.sock = sock = self._new_conn()\n ~~~~~~~~~~~~~~^^\nurllib3.exceptions.ConnectTimeoutError: (<HTTPSConnection(host='feikuai.in', port=443) at 0x74dd80646350>, 'Connection to feikuai.in timed out. (connect timeout=10)')\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/requests/adapters.py\", line 645, in send\n resp = conn.urlopen(\n method=request.method,\n ...<9 lines>...\n chunked=chunked,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 841, in urlopen\n retries = retries.increment(\n method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/retry.py\", line 535, in increment\n raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nurllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='feikuai.in', port=443): Max retries exceeded with url: /voddetail/239943.html (Caused by ConnectTimeoutError(<HTTPSConnection(host='feikuai.in', port=443) at 0x74dd80646350>, 'Connection to feikuai.in timed out. (connect timeout=10)'))\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 716, in validate_spider_file\n _validate_from_tid(\n ~~~~~~~~~~~~~~~~~~^\n spider=spider,\n ^^^^^^^^^^^^^^\n ...<6 lines>...\n logger=logger,\n ^^^^^^^^^^^^^^\n )\n ^\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 428, in _validate_from_tid\n detail_result = _run_timed(result[\"timings_ms\"], \"detail\", spider.detailContent, clock, [vod_id])\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 291, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/飞快TV.txt\", line 222, in detailContent\n File \"/home/harold/workspace/tvbox-resources/py/飞快TV.txt\", line 71, in _request_html\nrequests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='feikuai.in', port=443): Max retries exceeded with url: /voddetail/239943.html (Caused by ConnectTimeoutError(<HTTPSConnection(host='feikuai.in', port=443) at 0x74dd80646350>, 'Connection to feikuai.in timed out. (connect timeout=10)'))\n",
"timings_ms": {
"module_load": 4.011,
"init": 0.001,
"home": 0.001,
"category": 1673.215,
"detail": 10701.385,
"player": 0.0,
"url_check": 0.0,
"total": 12380.2
},
"counts": {
"classes": 4,
"category_videos": 40,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "1",
"vod_id": "239943",
"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": "home",
"error": "分类列表为空",
"traceback": null,
"timings_ms": {
"module_load": 9.56,
"init": 0.001,
"home": 134.324,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 144.146
},
"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": 11.27,
"init": 0.002,
"home": 0.001,
"category": 436.829,
"detail": 186.691,
"player": 0.02,
"url_check": 484.451,
"total": 1120.444
},
"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": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.294,
"init": 0.001,
"home": 2161.27,
"category": 636.542,
"detail": 1586.033,
"player": 0.008,
"url_check": 1097.639,
"total": 5488.316
},
"counts": {
"classes": 5,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "93764",
"flag": "🐈‍⬛标清线路2",
"play_id": "标清线路3@@direct@@,https://vip.ffzy-play9.com/20260517/41455_299d8968/index.m3u8,token+,1,0"
},
"player": {
"parse": 0,
"url": "https://vip.ffzy-play9.com/20260517/41455_299d8968/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vip.ffzy-play9.com/20260517/41455_299d8968/index.m3u8",
"reason": null
}
}
]
}