Files
tvboxzt/spider_validation.json
T
2026-05-21 15:32:37 +08:00

3026 lines
95 KiB
JSON

{
"generated_at": "2026-05-21T15:32:13+08:00",
"max_workers": 16,
"total_duration_ms": 22645.801,
"summary": {
"total": 77,
"success": 66,
"failed": 11,
"success_rate": 0.8571,
"stage_failures": {
"module_load": 0,
"init": 0,
"home": 1,
"category": 5,
"detail": 0,
"player": 1,
"url_check": 0,
"unexpected": 4
}
},
"results": [
{
"spider": "4K指南",
"file": "4K指南.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 206.585,
"init": 0.001,
"home": 0.003,
"category": 946.112,
"detail": 645.904,
"player": 0.004,
"url_check": 182.283,
"total": 1983.279
},
"counts": {
"classes": 5,
"category_videos": 50,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "zuixin",
"vod_id": "20166",
"flag": "夸克网盘",
"play_id": "push://https://pan.quark.cn/s/444bfa8d1e50"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/444bfa8d1e50",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/444bfa8d1e50",
"reason": null
}
},
{
"spider": "6V磁力",
"file": "6V磁力.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 214.312,
"init": 0.003,
"home": 0.001,
"category": 975.987,
"detail": 715.392,
"player": 0.002,
"url_check": 0.04,
"total": 1914.837
},
"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": 210.051,
"init": 0.001,
"home": 677.492,
"category": 304.084,
"detail": 341.93,
"player": 234.651,
"url_check": 367.811,
"total": 2150.154
},
"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://car-lv.kuwo.cn/17efc5b454e87b9da22f1e4206969a23/6a0eb500/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": 252.038,
"init": 0.001,
"home": 0.001,
"category": 645.607,
"detail": 428.423,
"player": 0.014,
"url_check": 508.696,
"total": 1836.072
},
"counts": {
"classes": 2,
"category_videos": 24,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "movie/8190.html",
"flag": "PPnix",
"play_id": "8190|1080P"
},
"player": {
"parse": 0,
"url": "https://www.ppnix.com/info/m3u8/8190/1080P.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://www.ppnix.com/info/m3u8/8190/1080P.m3u8",
"reason": null
}
},
{
"spider": "QQ音乐",
"file": "QQ音乐.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 208.756,
"init": 0.012,
"home": 0.005,
"category": 233.117,
"detail": 275.451,
"player": 543.837,
"url_check": 106.792,
"total": 4102.033
},
"counts": {
"classes": 6,
"category_videos": 44,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "top",
"vod_id": "top:135",
"flag": "QQ音乐",
"play_id": "qqmusic:001SZuO01zTv4Y:666401051|凌绝顶 - 梓渝"
},
"player": {
"parse": 0,
"url": "https://isure.stream.qqmusic.qq.com/M500001SZuO01zTv4Y.mp3?guid=5137ebdd93b98ce7deb599a2741a2a76&vkey=E3EC2F27BED07922FA8609CC12C6D5D0B85DD677A590A28CB200BE96C84E95B2615BE5788719AFA6781C2D8319286FBBBCFCEF8FD34CC150__v2b9ab5fe&uin=&fromtag=119042&src=M500003j9rwW2ZuKVh.mp3&redirect=1",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://isure.stream.qqmusic.qq.com/M500001SZuO01zTv4Y.mp3?guid=5137ebdd93b98ce7deb599a2741a2a76&vkey=E3EC2F27BED07922FA8609CC12C6D5D0B85DD677A590A28CB200BE96C84E95B2615BE5788719AFA6781C2D8319286FBBBCFCEF8FD34CC150__v2b9ab5fe&uin=&fromtag=119042&src=M500003j9rwW2ZuKVh.mp3&redirect=1",
"reason": null
}
},
{
"spider": "YouTube",
"file": "YouTube.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 209.184,
"init": 0.007,
"home": 0.078,
"category": 877.024,
"detail": 1836.55,
"player": 0.004,
"url_check": 1138.236,
"total": 4089.869
},
"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": 208.475,
"init": 0.001,
"home": 0.001,
"category": 418.049,
"detail": 239.524,
"player": 0.004,
"url_check": 264.736,
"total": 1144.731
},
"counts": {
"classes": 6,
"category_videos": 48,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "index",
"vod_id": "714893462",
"flag": "夸克",
"play_id": "https://pan.quark.cn/s/5c7dea9b2ce2"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/5c7dea9b2ce2",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/5c7dea9b2ce2",
"reason": null
}
},
{
"spider": "youknow",
"file": "youknow.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 208.377,
"init": 0.001,
"home": 0.001,
"category": 2080.96,
"detail": 1399.529,
"player": 1858.686,
"url_check": 1396.226,
"total": 6970.696
},
"counts": {
"classes": 7,
"category_videos": 224,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "index",
"vod_id": "165455",
"flag": "YouKnowTV",
"play_id": "eyJ2b2RfaWQiOiIxNjU0NTUiLCJlcGlzb2RlX2luZGV4IjoxLCJ0aXRsZSI6IjIwMjUwMTAxIiwiY2FuZGlkYXRlcyI6W3sic291cmNlIjoi57q_6LevMSIsInNvdXJjZV9pZCI6IjEiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8xNjU0NTUtMS0xLyJ9LHsic291cmNlIjoi57q_6LevMiIsInNvdXJjZV9pZCI6IjEiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8xNjU0NTUtMS0xLyJ9LHsic291cmNlIjoi57q_6LevMjc5Iiwic291cmNlX2lkIjoiMyIsImVwaXNvZGVfdXJsIjoiaHR0cHM6Ly93d3cueW91a25vdy50di9wLzE2NTQ1NS0zLTEvIn0seyJzb3VyY2UiOiLnur_ot68yODAiLCJzb3VyY2VfaWQiOiIzIiwiZXBpc29kZV91cmwiOiJodHRwczovL3d3dy55b3Vrbm93LnR2L3AvMTY1NDU1LTMtMS8ifSx7InNvdXJjZSI6Iue6v-i3rzQ2MyIsInNvdXJjZV9pZCI6IjIiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8xNjU0NTUtMi0xLyJ9LHsic291cmNlIjoi57q_6LevNDY0Iiwic291cmNlX2lkIjoiMiIsImVwaXNvZGVfdXJsIjoiaHR0cHM6Ly93d3cueW91a25vdy50di9wLzE2NTQ1NS0yLTEvIn1dfQ"
},
"player": {
"parse": 0,
"url": "https://vip.dytt-cinema.com/20250224/11088_f2b6806d/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vip.dytt-cinema.com/20250224/11088_f2b6806d/index.m3u8",
"reason": null
}
},
{
"spider": "七味",
"file": "七味.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 204.99,
"init": 0.005,
"home": 0.002,
"category": 653.624,
"detail": 1223.847,
"player": 0.003,
"url_check": 1586.124,
"total": 3678.054
},
"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": 202.826,
"init": 0.001,
"home": 850.529,
"category": 919.994,
"detail": 904.965,
"player": 0.009,
"url_check": 2267.91,
"total": 6943.319
},
"counts": {
"classes": 5,
"category_videos": 25,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "2",
"vod_id": "35922594",
"flag": "百度",
"play_id": "https://pan.baidu.com/s/10whw1YgLLP7mU7tvi4iD3A?pwd=Yu66"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/10whw1YgLLP7mU7tvi4iD3A?pwd=Yu66",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=0whw1YgLLP7mU7tvi4iD3A&pwd=Yu66",
"reason": null
}
},
{
"spider": "世纪音乐",
"file": "世纪音乐.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 206.954,
"init": 0.001,
"home": 328.868,
"category": 171.441,
"detail": 153.574,
"player": 0.005,
"url_check": 783.789,
"total": 1658.422
},
"counts": {
"classes": 5,
"category_videos": 28,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "home",
"vod_id": "song:hwkckmtycy",
"flag": "世纪音乐",
"play_id": "music:hwkckmtycy"
},
"player": {
"parse": 0,
"url": "https://www.4c44.com/data/down.php?ac=music&id=hwkckmtycy",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://m801.music.126.net/20260521155715/88a062226d72c9cb9facb3c697620f77/jdymusic/obj/wo3DlMOGwrbDjj7DisKw/30051364677/32b5/d5f5/c991/eba1a749c690264a116eb8511556c12a.mp3?vuutv=DLbfQBJdFY+iMgnm5QiQ+R43zih/o9MfsNQu77R4to7tkjPQtkjyCBV8zBYRRKnLp1F8WtA0S9ITezv+/UgBH2AA9LGaY1fNy9ItxyAQVgY=",
"reason": null
}
},
{
"spider": "两个BT",
"file": "两个BT.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 211.995,
"init": 0.001,
"home": 0.003,
"category": 532.063,
"detail": 387.139,
"player": 752.729,
"url_check": 482.711,
"total": 2390.695
},
"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/2791943db4d15dd261638cfbf5af485c.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://zijieapi.douyinbyte.com/m3u8/2791943db4d15dd261638cfbf5af485c.m3u8",
"reason": null
}
},
{
"spider": "乌云影视",
"file": "乌云影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 205.744,
"init": 0.001,
"home": 493.512,
"category": 297.797,
"detail": 1069.739,
"player": 0.022,
"url_check": 3896.61,
"total": 5976.76
},
"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/9ab06de6cc26f57b02be3f3e677fcc2ab0d84e6e.m3u8",
"reason": null
}
},
{
"spider": "乐兔",
"file": "乐兔.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 204.228,
"init": 0.001,
"home": 0.002,
"category": 402.039,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 1150.153
},
"counts": {
"classes": 5,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "2",
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "二小",
"file": "二小.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 206.85,
"init": 0.001,
"home": 0.002,
"category": 729.231,
"detail": 479.752,
"player": 0.004,
"url_check": 1065.678,
"total": 2507.325
},
"counts": {
"classes": 4,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "12430",
"flag": "百度#二小",
"play_id": "https://pan.baidu.com/s/1FGG9y2FLgMlWylYevE0DDA?pwd=n5ug"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1FGG9y2FLgMlWylYevE0DDA?pwd=n5ug",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=FGG9y2FLgMlWylYevE0DDA&pwd=n5ug",
"reason": null
}
},
{
"spider": "人人电影",
"file": "人人电影.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 202.647,
"init": 0.0,
"home": 0.001,
"category": 668.324,
"detail": 435.547,
"player": 0.009,
"url_check": 1045.992,
"total": 2381.18
},
"counts": {
"classes": 4,
"category_videos": 10,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "movie/list_2",
"vod_id": "/movie/2026/0520/59282.html",
"flag": "baidu",
"play_id": "https://pan.baidu.com/s/1GtsZLVGCINsBCKpQAEIiug?pwd=vq4f"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1GtsZLVGCINsBCKpQAEIiug?pwd=vq4f",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=GtsZLVGCINsBCKpQAEIiug&pwd=vq4f",
"reason": null
}
},
{
"spider": "人人视频",
"file": "人人视频.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.213,
"init": 0.0,
"home": 190.696,
"category": 310.645,
"detail": 302.963,
"player": 435.94,
"url_check": 376.716,
"total": 3153.485
},
"counts": {
"classes": 4,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "MOVIE",
"vod_id": "57571",
"flag": "人人专线",
"play_id": "57571@384815"
},
"player": {
"parse": 0,
"url": "https://qn-302-m-play.bwcgee.cn/206fd8da542071f180914531858c0402/31c411606dd04572b375f184ed0e7c2c-9436db47d2fb72ac09f3f4785c7cd734-ld.mp4?sign=577d6b00038115b97d15e650f59b0695&t=6a0eed42&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=f9f7cf69583840b7a50d899e47d5e4c6&hevc=false&seasonId=57571",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://982546248.ahdohpiechei.com:22443/OzwfcER4VzlnIl4iDWQYIyk1VyZaKRQLOz9bOw/206fd8da542071f180914531858c0402/31c411606dd04572b375f184ed0e7c2c-9436db47d2fb72ac09f3f4785c7cd734-ld.mp4?sign=577d6b00038115b97d15e650f59b0695&t=6a0eed42&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=f9f7cf69583840b7a50d899e47d5e4c6&hevc=false&seasonId=57571&x-sid=0X11AhVc6b5BOY&x-redirect=0X11AOzwfcER4VzlnIl4iDWcYIyk1VyZZKRR5IzZEMxI-FnolJ1AiASQfMTg3WydaKRU5&x-lid=0X11Ab5874771ed4e&x-st=0X11Ahash",
"reason": null
}
},
{
"spider": "优酷",
"file": "优酷.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 11.446,
"init": 0.001,
"home": 0.001,
"category": 356.398,
"detail": 620.065,
"player": 0.003,
"url_check": 242.397,
"total": 1230.855
},
"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": 13.525,
"init": 0.001,
"home": 0.001,
"category": 740.349,
"detail": 1355.919,
"player": 0.006,
"url_check": 981.919,
"total": 5761.2
},
"counts": {
"classes": 4,
"category_videos": 24,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "movie",
"vod_id": "movie/the-finest-hours",
"flag": "备胎1号 (1080P)",
"play_id": "https://vip1.lz-cdn1.com/20220602/7231_4203012e/index.m3u8"
},
"player": {
"parse": 0,
"url": "https://vip1.lz-cdn1.com/20220602/7231_4203012e/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vip1.lz-cdn1.com/20220602/7231_4203012e/index.m3u8",
"reason": null
}
},
{
"spider": "修罗",
"file": "修罗.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.709,
"init": 0.001,
"home": 0.001,
"category": 689.327,
"detail": 243.126,
"player": 0.007,
"url_check": 0.067,
"total": 7095.213
},
"counts": {
"classes": 4,
"category_videos": 24,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "movie",
"vod_id": "dongzuo/26903",
"flag": "磁力合集",
"play_id": "magnet:?xt=urn:btih:a208b50bcde3551d0ccc1dbb94515f503ff60336"
},
"player": {
"parse": 0,
"url": "magnet:?xt=urn:btih:a208b50bcde3551d0ccc1dbb94515f503ff60336",
"valid": true,
"reachable": null,
"status_code": null,
"final_url": "magnet:?xt=urn:btih:a208b50bcde3551d0ccc1dbb94515f503ff60336",
"reason": "非 HTTP 地址,按协议格式通过"
}
},
{
"spider": "凡客TV",
"file": "凡客TV.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.134,
"init": 0.001,
"home": 0.001,
"category": 1076.074,
"detail": 1356.725,
"player": 1945.54,
"url_check": 3081.142,
"total": 7465.488
},
"counts": {
"classes": 8,
"category_videos": 32,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "b73235e1204f3b3d",
"flag": "高速线路",
"play_id": "{\"movie_id\":\"b73235e1204f3b3d\",\"link_id\":\"e7ae360751ec415ecd607276a8a473a7\",\"line_id\":\"line1\",\"line_name\":\"高速线路\",\"episode_name\":\"1080p\",\"type\":\"switch\",\"page\":\"https://fktv.me/movie/detail/b73235e1204f3b3d\"}"
},
"player": {
"parse": 0,
"url": "https://fktv.me/ysapi/m3u8/p/8cd0268c8fa25f18ee862cd97193450c.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://fktv.me/ysapi/m3u8/p/8cd0268c8fa25f18ee862cd97193450c.m3u8",
"reason": null
}
},
{
"spider": "剧圈圈",
"file": "剧圈圈.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.113,
"init": 0.0,
"home": 0.0,
"category": 988.358,
"detail": 779.599,
"player": 2168.013,
"url_check": 870.923,
"total": 4813.527
},
"counts": {
"classes": 5,
"category_videos": 16,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "dianying",
"vod_id": "63086",
"flag": "BF备用",
"play_id": "play/63086-2-1"
},
"player": {
"parse": 1,
"url": "https://www.jqqzx.cc/play/63086-2-1.html",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://www.jqqzx.one/play/63086-2-1.html",
"reason": null
}
},
{
"spider": "剧迷",
"file": "剧迷.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.521,
"init": 0.0,
"home": 0.001,
"category": 244.969,
"detail": 450.897,
"player": 431.735,
"url_check": 1215.054,
"total": 2347.778
},
"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": 32.791,
"init": 0.001,
"home": 3225.111,
"category": 282.523,
"detail": 837.88,
"player": 0.002,
"url_check": 198.756,
"total": 4577.548
},
"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": 26.341,
"init": 373.82,
"home": 0.005,
"category": 203.282,
"detail": 237.701,
"player": 0.002,
"url_check": 203.834,
"total": 1046.109
},
"counts": {
"classes": 7,
"category_videos": 15,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "ju",
"vod_id": "/ju/10489.html",
"flag": "夸克",
"play_id": "https://pan.quark.cn/s/e19b9da31554"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/e19b9da31554",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/e19b9da31554",
"reason": null
}
},
{
"spider": "听书",
"file": "听书.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 26.985,
"init": 79.205,
"home": 0.001,
"category": 211.481,
"detail": 2887.77,
"player": 407.915,
"url_check": 113.126,
"total": 3727.16
},
"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=ac678087544dc01cc97692aba0544fca&buy_key=FM&token=8175&timestamp=1779348740&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=ac678087544dc01cc97692aba0544fca&buy_key=FM&token=8175&timestamp=1779348740&duration=453",
"reason": null
}
},
{
"spider": "听友FM",
"file": "听友FM.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 7.81,
"init": 0.001,
"home": 419.375,
"category": 337.542,
"detail": 588.268,
"player": 700.54,
"url_check": 270.6,
"total": 2325.252
},
"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=1779347397&sign=c23457191ca9954f811ae74f29faab61",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://file.hgeuz.cn/stream/eJwANwDI_wJVZgVKIIrU0ECux-GJ1PSt38ahythCqsH-r9TAQ4rj5F94rOjbQKjk063xyIX2z3hfeGcIHF4BAAD__5DtISY.?ts=1779347397&sign=c23457191ca9954f811ae74f29faab61",
"reason": null
}
},
{
"spider": "咕咕动漫",
"file": "咕咕动漫.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 16.252,
"init": 0.005,
"home": 492.95,
"category": 765.195,
"detail": 420.296,
"player": 1376.351,
"url_check": 193.75,
"total": 3265.538
},
"counts": {
"classes": 3,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "6",
"vod_id": "4993",
"flag": "咕咕新线(国内高速)",
"play_id": "parse_api=a2796a09189261bcaf3cc4542d7c5ac2&url=vC3JvwfizISFocml/iaZMgd1trHAYekCw+0xsYBueVGqQACTAukjD3I2F/niiuEK&token=|木头风纪委员和迷你裙JK的故事|1"
},
"player": {
"parse": 0,
"url": "https://p26-bot-workflow-sign.byteimg.com/tos-cn-i-mdko3gqilj/dba4cb7929b54de1a195e5b3cc139e3c~tplv-mdko3gqilj-image.image?rk3s=81d4c505&x-expires=1810452740&x-signature=3QijysO8wri06JJ3n%2FFjztxE1Ug%3D",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://p26-bot-workflow-sign.byteimg.com/tos-cn-i-mdko3gqilj/dba4cb7929b54de1a195e5b3cc139e3c~tplv-mdko3gqilj-image.image?rk3s=81d4c505&x-expires=1810452740&x-signature=3QijysO8wri06JJ3n%2FFjztxE1Ug%3D",
"reason": null
}
},
{
"spider": "四万影视",
"file": "四万影视.txt",
"success": false,
"failed_stage": "unexpected",
"error": "HTTPSConnectionPool(host='40000.me', port=443): Read timed out. (read timeout=10)",
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 464, in _make_request\n self._validate_conn(conn)\n ~~~~~~~~~~~~~~~~~~~^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 1093, in _validate_conn\n conn.connect()\n ~~~~~~~~~~~~^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 796, in connect\n sock_and_verified = _ssl_wrap_socket_and_match_hostname(\n sock=sock,\n ...<14 lines>...\n assert_fingerprint=self.assert_fingerprint,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 975, in _ssl_wrap_socket_and_match_hostname\n ssl_sock = ssl_wrap_socket(\n sock=sock,\n ...<8 lines>...\n tls_in_tls=tls_in_tls,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/ssl_.py\", line 483, in ssl_wrap_socket\n ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls, server_hostname)\nTimeoutError: _ssl.c:1063: The handshake operation timed out\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/requests/adapters.py\", line 645, in send\n resp = conn.urlopen(\n method=request.method,\n ...<9 lines>...\n chunked=chunked,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 841, in urlopen\n retries = retries.increment(\n method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/retry.py\", line 490, in increment\n raise reraise(type(error), error, _stacktrace)\n ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/util.py\", line 39, in reraise\n raise value\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\nurllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='40000.me', port=443): Read timed out. (read timeout=10)\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 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.ReadTimeout: HTTPSConnectionPool(host='40000.me', port=443): Read timed out. (read timeout=10)\n",
"timings_ms": {
"module_load": 3.803,
"init": 0.001,
"home": 0.001,
"category": 10032.859,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 10057.501
},
"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": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 5.734,
"init": 0.001,
"home": 0.0,
"category": 768.783,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 1909.568
},
"counts": {
"classes": 6,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "2",
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "多多",
"file": "多多.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.877,
"init": 0.001,
"home": 0.001,
"category": 517.771,
"detail": 402.233,
"player": 0.004,
"url_check": 1049.905,
"total": 1977.328
},
"counts": {
"classes": 6,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "9470",
"flag": "百度#多多",
"play_id": "https://pan.baidu.com/s/1xqKiIv1nSRhHrG2x-v3x8Q?pwd=yyds"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1xqKiIv1nSRhHrG2x-v3x8Q?pwd=yyds",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=xqKiIv1nSRhHrG2x-v3x8Q&pwd=yyds",
"reason": null
}
},
{
"spider": "如意资源",
"file": "如意资源.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.938,
"init": 0.001,
"home": 0.005,
"category": 949.713,
"detail": 386.732,
"player": 0.01,
"url_check": 1953.359,
"total": 3296.026
},
"counts": {
"classes": 6,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "77675",
"flag": "rym3u8",
"play_id": "https://svip.ryiplay18.com/20260520/6588_b9baf3b3/index.m3u8"
},
"player": {
"parse": 0,
"url": "https://svip.ryiplay18.com/20260520/6588_b9baf3b3/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://svip.ryiplay18.com/20260520/6588_b9baf3b3/index.m3u8",
"reason": null
}
},
{
"spider": "寻川4K",
"file": "寻川4K.txt",
"success": false,
"failed_stage": "unexpected",
"error": "'NoneType' object is not iterable",
"traceback": "Traceback (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/寻川4K.txt\", line 810, in detailContent\nTypeError: 'NoneType' object is not iterable\n",
"timings_ms": {
"module_load": 11.23,
"init": 454.996,
"home": 973.088,
"category": 478.989,
"detail": 546.065,
"player": 0.0,
"url_check": 0.0,
"total": 2465.491
},
"counts": {
"classes": 9,
"category_videos": 20,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "1",
"vod_id": "581873",
"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.026,
"init": 0.001,
"home": 0.001,
"category": 848.516,
"detail": 706.055,
"player": 1729.76,
"url_check": 420.592,
"total": 3713.1
},
"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=Ron/VgZQqJY/N0t8n9C3CUOw3T4%3D&Expires=1779349042&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=Ron/VgZQqJY/N0t8n9C3CUOw3T4%3D&Expires=1779349042&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": 3.451,
"init": 0.015,
"home": 227.917,
"category": 289.087,
"detail": 904.65,
"player": 0.002,
"url_check": 1945.628,
"total": 3371.282
},
"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=1779348741&sign=2973ae898d73b874e2b3e5d8eb8cfc5d"
},
"player": {
"parse": 0,
"url": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1779348741&sign=2973ae898d73b874e2b3e5d8eb8cfc5d",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1779348741&sign=2973ae898d73b874e2b3e5d8eb8cfc5d",
"reason": null
}
},
{
"spider": "新韩剧网",
"file": "新韩剧网.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.605,
"init": 0.001,
"home": 0.001,
"category": 541.401,
"detail": 473.774,
"player": 441.246,
"url_check": 1921.041,
"total": 3382.965
},
"counts": {
"classes": 5,
"category_videos": 16,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "3591",
"flag": "在线云播",
"play_id": "3591_1_1"
},
"player": {
"parse": 0,
"url": "https://cdn.vvvip-plays33.cc/20260224/8726_d6f84c02/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://cdn.vvvip-plays33.cc/20260224/8726_d6f84c02/index.m3u8",
"reason": null
}
},
{
"spider": "星星短剧",
"file": "星星短剧.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.643,
"init": 0.0,
"home": 0.001,
"category": 486.579,
"detail": 643.367,
"player": 0.002,
"url_check": 152.22,
"total": 1286.285
},
"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": 7.326,
"init": 0.001,
"home": 0.001,
"category": 321.2,
"detail": 326.954,
"player": 0.008,
"url_check": 261.688,
"total": 917.548
},
"counts": {
"classes": 7,
"category_videos": 72,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "25",
"vod_id": "7959",
"flag": "115#木偶",
"play_id": "https://115cdn.com/s/swfu7lp36dh?password=f4d6"
},
"player": {
"parse": 0,
"url": "https://115cdn.com/s/swfu7lp36dh?password=f4d6",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://115cdn.com/s/swfu7lp36dh?password=f4d6",
"reason": null
}
},
{
"spider": "樱花动漫",
"file": "樱花动漫.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.024,
"init": 0.0,
"home": 0.0,
"category": 2353.656,
"detail": 1418.27,
"player": 1444.767,
"url_check": 2006.845,
"total": 7228.649
},
"counts": {
"classes": 4,
"category_videos": 36,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "guoman",
"vod_id": "19277",
"flag": "高清",
"play_id": "/play/19277-1-1/"
},
"player": {
"parse": 0,
"url": "https://vip.ffzy-plays.com/20260507/53271_f76cd606/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vip.ffzy-plays.com/20260507/53271_f76cd606/index.m3u8",
"reason": null
}
},
{
"spider": "橘子TV",
"file": "橘子TV.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.905,
"init": 535.796,
"home": 371.624,
"category": 395.855,
"detail": 558.255,
"player": 1337.626,
"url_check": 1081.584,
"total": 4285.42
},
"counts": {
"classes": 8,
"category_videos": 18,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "50",
"vod_id": "399092",
"flag": "一起看APP",
"play_id": "25430680"
},
"player": {
"parse": 0,
"url": "https://usaydd.0rvgx279.com/m3u87/share/7434749/7628489/20260514/154832/1080/index.m3u8?sign=772204667624033ea6f62e6e7172006f&t=1779348743",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://usaydd.0rvgx279.com/m3u87/share/7434749/7628489/20260514/154832/1080/index.m3u8?sign=772204667624033ea6f62e6e7172006f&t=1779348743",
"reason": null
}
},
{
"spider": "欧歌",
"file": "欧歌.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 9.558,
"init": 0.001,
"home": 0.001,
"category": 509.392,
"detail": 539.372,
"player": 0.008,
"url_check": 1136.556,
"total": 2195.504
},
"counts": {
"classes": 6,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "30078",
"flag": "百度",
"play_id": "https://pan.baidu.com/s/1kbV2djHyOxiEBAL7Chv0ng?pwd=8888"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1kbV2djHyOxiEBAL7Chv0ng?pwd=8888",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=kbV2djHyOxiEBAL7Chv0ng&pwd=8888",
"reason": null
}
},
{
"spider": "沐辞4K",
"file": "沐辞4K.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 15.216,
"init": 173.996,
"home": 185.972,
"category": 151.396,
"detail": 102.848,
"player": 743.01,
"url_check": 458.589,
"total": 1831.723
},
"counts": {
"classes": 7,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "401554",
"flag": "🌷58蓝光🌷",
"play_id": "58ys-z48QEA20v12Mz-y0z4jZ0WgiIO49Y9Ye8B7mflFPpxj5eYYBA2tujCov6mFLmGvrX-R5KeDIPB65BOTLG2j-Kw@@@58ys"
},
"player": {
"parse": 0,
"url": "https://cdn12.58ysapp.cn/20260521/2FV5Pmz0/hls/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://cdn12.58ysapp.cn/20260521/2FV5Pmz0/hls/index.m3u8",
"reason": null
}
},
{
"spider": "河马短剧",
"file": "河马短剧.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 7.941,
"init": 0.0,
"home": 658.906,
"category": 413.796,
"detail": 951.031,
"player": 0.022,
"url_check": 154.214,
"total": 2186.763
},
"counts": {
"classes": 10,
"category_videos": 10,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "462",
"vod_id": "41000194161",
"flag": "河马剧场",
"play_id": "https://dzzt-video.cbread.cn/ff4525d42db2ee13725cc07b2c5b8dc7/6a0ffef0/90/1x6/16x1/161x4/16149100014/612735109_1/612735109.720p.narrowv3.mp4"
},
"player": {
"parse": 0,
"url": "https://dzzt-video.cbread.cn/ff4525d42db2ee13725cc07b2c5b8dc7/6a0ffef0/90/1x6/16x1/161x4/16149100014/612735109_1/612735109.720p.narrowv3.mp4",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://dzzt-video.cbread.cn/ff4525d42db2ee13725cc07b2c5b8dc7/6a0ffef0/90/1x6/16x1/161x4/16149100014/612735109_1/612735109.720p.narrowv3.mp4",
"reason": null
}
},
{
"spider": "清沅4K",
"file": "清沅4K.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 12.556,
"init": 269.097,
"home": 649.215,
"category": 284.088,
"detail": 370.38,
"player": 1052.84,
"url_check": 67.868,
"total": 2706.79
},
"counts": {
"classes": 7,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "54508",
"flag": "qq",
"play_id": "https://v.qq.com/x/cover/ji5c0mbrafu7011/h0032goqc0j.html@@@qq"
},
"player": {
"parse": 0,
"url": "https://apd-vlive.apdcdn.tc.qq.com/defaultts.tc.qq.com/B_3k--xdVBUHYl1q0K2jODe2jj8AB_RsP4ZRdhE1Hvktx2sItpqJPHphPP8Ax8sOmc-v7DZAkOOOXcNpIiFr4g2WtuU0swTcK0OOtFFjyaIOO5GQ1aFCdmJutUC-LOfqJ7QWhMlwWkFLEsqXwgdTXrXg/svp_50112/RmoHJtd7nOBbT2WNr15tWia3N6FGYE3sZklXrjDDW1MXMWtrNKNNwZNk6APjh-4uOyPsWpFSQHTGngCG6yzCY9zlGtAkHIZFocLkw0cfpu89BzfoWMaDNKedkMkyzlQLAC4gbmMQtvqRbQpS6-FMUrZ6LQ5Xf4oxJv2zV5OqnQpW2AYwMQoEPznVzXYH5AcGUMEtk8UezMM/gzc_1000102_0b53giacaaaaumaffubthzrmamwdea7aajca.f323002.ts.m3u8?ver=4",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://apd-vlive.apdcdn.tc.qq.com/defaultts.tc.qq.com/B_3k--xdVBUHYl1q0K2jODe2jj8AB_RsP4ZRdhE1Hvktx2sItpqJPHphPP8Ax8sOmc-v7DZAkOOOXcNpIiFr4g2WtuU0swTcK0OOtFFjyaIOO5GQ1aFCdmJutUC-LOfqJ7QWhMlwWkFLEsqXwgdTXrXg/svp_50112/RmoHJtd7nOBbT2WNr15tWia3N6FGYE3sZklXrjDDW1MXMWtrNKNNwZNk6APjh-4uOyPsWpFSQHTGngCG6yzCY9zlGtAkHIZFocLkw0cfpu89BzfoWMaDNKedkMkyzlQLAC4gbmMQtvqRbQpS6-FMUrZ6LQ5Xf4oxJv2zV5OqnQpW2AYwMQoEPznVzXYH5AcGUMEtk8UezMM/gzc_1000102_0b53giacaaaaumaffubthzrmamwdea7aajca.f323002.ts.m3u8?ver=4",
"reason": null
}
},
{
"spider": "滴答影视",
"file": "滴答影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.023,
"init": 0.001,
"home": 0.001,
"category": 465.739,
"detail": 233.69,
"player": 0.01,
"url_check": 6436.383,
"total": 7141.722
},
"counts": {
"classes": 5,
"category_videos": 48,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "3052",
"flag": "百度",
"play_id": "https://pan.baidu.com/s/1IpynPB3crD7Q1CfCvSkQIw?pwd=jx4t"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1IpynPB3crD7Q1CfCvSkQIw?pwd=jx4t",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=IpynPB3crD7Q1CfCvSkQIw&pwd=jx4t",
"reason": null
}
},
{
"spider": "潮流APP",
"file": "潮流APP.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.295,
"init": 0.003,
"home": 117.852,
"category": 118.045,
"detail": 227.875,
"player": 295.262,
"url_check": 76.902,
"total": 841.178
},
"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://210.16.164.53:9090/nby/m3u8/getM3u8?name=jx.91by.top&time=1779348742419&url=NBY-e84585334a25c5b49078dfac81549a0b.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://210.16.164.53:9090/nby/m3u8/getM3u8?name=jx.91by.top&time=1779348742419&url=NBY-e84585334a25c5b49078dfac81549a0b.m3u8",
"reason": null
}
},
{
"spider": "爱奇艺",
"file": "爱奇艺.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 12.884,
"init": 0.02,
"home": 3401.883,
"category": 798.488,
"detail": 130.574,
"player": 0.001,
"url_check": 227.59,
"total": 4572.189
},
"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": 7.357,
"init": 0.001,
"home": 0.0,
"category": 484.454,
"detail": 420.507,
"player": 367.61,
"url_check": 296.656,
"total": 1577.362
},
"counts": {
"classes": 6,
"category_videos": 48,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "index",
"vod_id": "144662",
"flag": "独播库",
"play_id": "144662-1-1"
},
"player": {
"parse": 0,
"url": "https://vid.dbokutv.com/20260503/ppotb62-S71lT2yliZApDBSvkYzBsrmD3fpCJ4nBsfsRsGlR7XgBMnZRMejC34jC311HaCqCZX2BcrmD0/chunklist.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vid.dbokutv.com/20260503/ppotb62-S71lT2yliZApDBSvkYzBsrmD3fpCJ4nBsfsRsGlR7XgBMnZRMejC34jC311HaCqCZX2BcrmD0/chunklist.m3u8",
"reason": null
}
},
{
"spider": "猫猫4K",
"file": "猫猫4K.txt",
"success": false,
"failed_stage": "player",
"error": "playerContent 未返回播放地址",
"traceback": null,
"timings_ms": {
"module_load": 8.848,
"init": 343.255,
"home": 300.268,
"category": 418.156,
"detail": 1155.673,
"player": 502.168,
"url_check": 0.0,
"total": 5081.579
},
"counts": {
"classes": 5,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "2",
"vod_id": "60025",
"flag": "火猫⚡蓝光",
"play_id": "NBY-XMYAES3fd7ee01261fc93071c23c0ab783e5a193b97d99b71b981f93be1e25dc099f7b2140c41dbb5e317c0f13bf466a7c4904|ed68be5df66bdc4022e7f18715e8a934@@@NBY"
},
"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": 5.938,
"init": 0.001,
"home": 0.001,
"category": 156.13,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 339.509
},
"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": "unexpected",
"error": "all domains failed",
"traceback": "Traceback (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 5136, in categoryContent\n File \"/home/harold/workspace/tvbox-resources/py/玩偶聚合.txt\", line 5068, in _request_with_failover\nRuntimeError: all domains failed\n",
"timings_ms": {
"module_load": 35.268,
"init": 0.001,
"home": 2.484,
"category": 543.227,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 586.269
},
"counts": {
"classes": 10,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "site_wanou",
"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.898,
"init": 0.001,
"home": 0.019,
"category": 726.326,
"detail": 824.206,
"player": 526.356,
"url_check": 990.421,
"total": 3074.956
},
"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/461cfaa1f330dd162142084657ab8746/20260521153225/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/461cfaa1f330dd162142084657ab8746/20260521153225/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": 4.263,
"init": 0.001,
"home": 441.633,
"category": 277.664,
"detail": 579.545,
"player": 245.531,
"url_check": 91.011,
"total": 1640.859
},
"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": 4.548,
"init": 0.001,
"home": 365.994,
"category": 297.572,
"detail": 283.568,
"player": 0.02,
"url_check": 145.057,
"total": 1097.397
},
"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": 5.287,
"init": 0.0,
"home": 0.0,
"category": 333.633,
"detail": 226.579,
"player": 221.815,
"url_check": 962.035,
"total": 1749.934
},
"counts": {
"classes": 4,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "/",
"vod_id": "118943",
"flag": "百度1",
"play_id": "push://https://www.seedhub.cc/link_start/?redirect_to=pan_id_582338&movie_title=❤️❤️❤️【低智商犯罪】【4K 1080P】更新于 ✅ 今天"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1peTZUHSqI7G9IV8sDes97g?pwd=ojmk",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=peTZUHSqI7G9IV8sDes97g&pwd=ojmk",
"reason": null
}
},
{
"spider": "盘链",
"file": "盘链.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.801,
"init": 0.021,
"home": 0.001,
"category": 1538.93,
"detail": 376.321,
"player": 0.002,
"url_check": 1258.976,
"total": 3183.594
},
"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": 21.115,
"init": 615.238,
"home": 0.1,
"category": 444.631,
"detail": 354.359,
"player": 0.002,
"url_check": 131.38,
"total": 1567.926
},
"counts": {
"classes": 11,
"category_videos": 75,
"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": 24.824,
"init": 0.001,
"home": 0.0,
"category": 714.368,
"detail": 293.716,
"player": 0.005,
"url_check": 178.386,
"total": 1211.941
},
"counts": {
"classes": 2,
"category_videos": 20,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "https://sm3.cc/?id=51599",
"flag": "夸克",
"play_id": "https://pan.quark.cn/s/e26a804eb32c"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/e26a804eb32c",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/e26a804eb32c",
"reason": null
}
},
{
"spider": "糯米",
"file": "糯米.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 20.704,
"init": 0.001,
"home": 475.326,
"category": 718.414,
"detail": 171.801,
"player": 320.324,
"url_check": 488.485,
"total": 2196.016
},
"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": 22.492,
"init": 0.0,
"home": 408.756,
"category": 437.615,
"detail": 0.006,
"player": 1123.239,
"url_check": 53.107,
"total": 2046.176
},
"counts": {
"classes": 62,
"category_videos": 100,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "/discover/toplist?id=19723756",
"vod_id": "3382908505@玻璃@Gareth.T👉MV",
"flag": "网易云音乐",
"play_id": "3382908505"
},
"player": {
"parse": 0,
"url": "https://vodkgeyttp8.vod.126.net/cloudmusic/97b8/core/049a/1cfe51550208f56600ac733af86ae87c.mp4?wsSecret=5c2c5c8d91fbde0519c0caa3c4e87918&wsTime=1779348745",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vodkgeyttp8.vod.126.net/cloudmusic/97b8/core/049a/1cfe51550208f56600ac733af86ae87c.mp4?wsSecret=5c2c5c8d91fbde0519c0caa3c4e87918&wsTime=1779348745",
"reason": null
}
},
{
"spider": "耐视点播",
"file": "耐视点播.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 4.57,
"init": 0.001,
"home": 0.0,
"category": 1412.049,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 3323.921
},
"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": 20.062,
"init": 0.001,
"home": 121.001,
"category": 268.817,
"detail": 949.405,
"player": 0.003,
"url_check": 217.064,
"total": 1577.137
},
"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": 7.495,
"init": 0.001,
"home": 0.001,
"category": 355.887,
"detail": 262.582,
"player": 0.008,
"url_check": 1046.419,
"total": 1672.978
},
"counts": {
"classes": 7,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "20476",
"flag": "百度#至臻",
"play_id": "https://pan.baidu.com/s/1Hka6wTyrKsJV09Fg4S6g0A?pwd=ydpm"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1Hka6wTyrKsJV09Fg4S6g0A?pwd=ydpm",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=Hka6wTyrKsJV09Fg4S6g0A&pwd=ydpm",
"reason": null
}
},
{
"spider": "茶杯狐",
"file": "茶杯狐.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.137,
"init": 0.001,
"home": 1177.393,
"category": 1054.525,
"detail": 752.186,
"player": 1408.138,
"url_check": 1214.552,
"total": 5622.655
},
"counts": {
"classes": 4,
"category_videos": 36,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "detail/video/121138",
"flag": "FF有广",
"play_id": "play/121138-1-1"
},
"player": {
"parse": 0,
"url": "https://vip.ffzy-play9.com/20260521/41547_b4d612b7/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vip.ffzy-play9.com/20260521/41547_b4d612b7/index.m3u8",
"reason": null
}
},
{
"spider": "虎斑",
"file": "虎斑.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 7.489,
"init": 0.001,
"home": 0.001,
"category": 3451.356,
"detail": 3548.228,
"player": 0.014,
"url_check": 4735.205,
"total": 11742.812
},
"counts": {
"classes": 7,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "457915",
"flag": "百度#虎斑",
"play_id": "https://pan.baidu.com/s/12eLedCSBjbN4lgbt5vbBqQ?pwd=xhe3"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/12eLedCSBjbN4lgbt5vbBqQ?pwd=xhe3",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=2eLedCSBjbN4lgbt5vbBqQ&pwd=xhe3",
"reason": null
}
},
{
"spider": "蜡笔",
"file": "蜡笔.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 7.034,
"init": 0.001,
"home": 0.001,
"category": 946.505,
"detail": 545.057,
"player": 0.006,
"url_check": 1191.311,
"total": 2691.461
},
"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": 5.646,
"init": 0.001,
"home": 0.001,
"category": 824.246,
"detail": 406.844,
"player": 398.471,
"url_check": 1129.308,
"total": 2765.168
},
"counts": {
"classes": 4,
"category_videos": 36,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "414946",
"flag": "蓝光专线4",
"play_id": "play/414946-1-0"
},
"player": {
"parse": 0,
"url": "https://play.phimgood.com/20260520/27061_3dc91c93/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://play.phimgood.com/20260520/27061_3dc91c93/index.m3u8",
"reason": null
}
},
{
"spider": "视界",
"file": "视界.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.487,
"init": 0.0,
"home": 393.459,
"category": 271.383,
"detail": 317.38,
"player": 864.083,
"url_check": 163.499,
"total": 2022.713
},
"counts": {
"classes": 6,
"category_videos": 30,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "20",
"vod_id": "135018",
"flag": "2K原⑤",
"play_id": "parse_api=4fd521eae0c48923af390209e31299c2&url=3LHkCX7wk11bV0n8SjZyIARpN2AiAZk7sNw/ulxaonLxJE/13482Vb9qy+f61DIHcscqv9Z5JPq8VrUrx75YzQ==&token=28f97ac5242b2502d033337ad0a48ea1|雨霖铃|1"
},
"player": {
"parse": 0,
"url": "https://fffan.wki8.com/hls/3b626cf03da39770007897dc070d3b73.m3u8?token=7742be67b878ef7e68bfd67da940f9cd&time=1779348747&YYNB.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://fffan.wki8.com/hls/3b626cf03da39770007897dc070d3b73.m3u8?token=7742be67b878ef7e68bfd67da940f9cd&time=1779348747&YYNB.m3u8",
"reason": null
}
},
{
"spider": "路漫漫",
"file": "路漫漫.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 10.011,
"init": 0.002,
"home": 0.002,
"category": 989.809,
"detail": 771.494,
"player": 1725.427,
"url_check": 317.118,
"total": 6680.141
},
"counts": {
"classes": 6,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "6",
"vod_id": "detail/8000.html",
"flag": "dev云播",
"play_id": "play/8000_2_1.html"
},
"player": {
"parse": 0,
"url": "https://v16.toutiao50.com/5ea1d83a170f78fb4e8eaadaefb0d774/6a100b8e/video/tos/alisg/tos-alisg-ve-0051c001-sg/oIAUgiSYCeLIBhnLmP1ACQB4woioAn2Et0BvIj/",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://v16.toutiao50.com/5ea1d83a170f78fb4e8eaadaefb0d774/6a100b8e/video/tos/alisg/tos-alisg-ve-0051c001-sg/oIAUgiSYCeLIBhnLmP1ACQB4woioAn2Et0BvIj/",
"reason": null
}
},
{
"spider": "酷我听书",
"file": "酷我听书.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.761,
"init": 0.0,
"home": 402.239,
"category": 110.813,
"detail": 3594.654,
"player": 138.901,
"url_check": 69.576,
"total": 4324.307
},
"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/0dcb8b6b9715cb6dcfe61283fc20fbdc/6a0eb50e/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/0dcb8b6b9715cb6dcfe61283fc20fbdc/6a0eb50e/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": 9.774,
"init": 547.602,
"home": 296.334,
"category": 289.434,
"detail": 399.915,
"player": 396.512,
"url_check": 96.586,
"total": 2039.734
},
"counts": {
"classes": 12,
"category_videos": 15,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "recommend",
"vod_id": "780216978",
"flag": "酷狗音乐",
"play_id": "780216978"
},
"player": {
"parse": 0,
"url": "http://fsdg360.hw.kugou.com/202605211532/fb1c49d5b9ca937c0af16233aeb7dfc6/v3/b9f3fb26a9a2ef242300c3386047f7ea/yp/p_0_960135/ap1013_us0_mic85f71c379c462618de1399950957c33_pi6101_mx780216978_qu128_s2216648984.mp3?ft=car_203559_10049&fts=b05bb02d44717442054bac7624ed9a29&ext=.mp3",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://fsdg360.hw.kugou.com/202605211532/fb1c49d5b9ca937c0af16233aeb7dfc6/v3/b9f3fb26a9a2ef242300c3386047f7ea/yp/p_0_960135/ap1013_us0_mic85f71c379c462618de1399950957c33_pi6101_mx780216978_qu128_s2216648984.mp3?ft=car_203559_10049&fts=b05bb02d44717442054bac7624ed9a29&ext=.mp3",
"reason": null
}
},
{
"spider": "金牌",
"file": "金牌.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.927,
"init": 0.001,
"home": 1064.926,
"category": 396.952,
"detail": 394.039,
"player": 350.749,
"url_check": 1118.894,
"total": 3332.025
},
"counts": {
"classes": 4,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "143230",
"flag": "金牌线路",
"play_id": "143230@1271963"
},
"player": {
"parse": 0,
"url": "https://ppvod011.blbtgg.com/splitOut/20260318/1267932/V20260318194542050871267932/index.m3u8?auth_key=1779348748-d0048fd7badf46e493eff22db98c7061-0-0e7f96fbcbaeb43baef14b66e37556b7",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://ppvod011.blbtgg.com/splitOut/20260318/1267932/V20260318194542050871267932/index.m3u8?auth_key=1779348748-d0048fd7badf46e493eff22db98c7061-0-0e7f96fbcbaeb43baef14b66e37556b7",
"reason": null
}
},
{
"spider": "闪电",
"file": "闪电.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 10.932,
"init": 0.001,
"home": 0.002,
"category": 2194.109,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 3204.176
},
"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": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.16,
"init": 0.001,
"home": 0.001,
"category": 1189.474,
"detail": 1134.96,
"player": 1003.801,
"url_check": 1050.451,
"total": 4385.808
},
"counts": {
"classes": 4,
"category_videos": 40,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "238016",
"flag": "高清31",
"play_id": "/vodplay/238016-2-1.html"
},
"player": {
"parse": 0,
"url": "https://cdn.yzzy28-play.com/20260518/30356_2c573a07/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://cdn.yzzy28-play.com/20260518/30356_2c573a07/index.m3u8",
"reason": null
}
},
{
"spider": "魔方APP",
"file": "魔方APP.txt",
"success": false,
"failed_stage": "home",
"error": "分类列表为空",
"traceback": null,
"timings_ms": {
"module_load": 5.029,
"init": 0.001,
"home": 179.011,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 184.369
},
"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.593,
"init": 0.001,
"home": 0.001,
"category": 249.354,
"detail": 284.402,
"player": 0.066,
"url_check": 371.213,
"total": 921.427
},
"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": "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 700, 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 291, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/黑猫APP.txt\", line 155, in homeContent\n File \"/home/harold/workspace/tvbox-resources/py/黑猫APP.txt\", line 67, in _api_post\n File \"/home/harold/workspace/atv-spiders/py/base/spider.py\", line 152, in post\n rsp = requests.post(url, params=params, data=data, json=json, cookies=cookies, headers=headers, timeout=timeout,\n verify=verify, stream=stream, allow_redirects=allow_redirects)\nrequests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))\n",
"timings_ms": {
"module_load": 16.47,
"init": 0.005,
"home": 272.002,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 305.6
},
"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
}
}
]
}