2870 lines
101 KiB
JSON
2870 lines
101 KiB
JSON
{
|
|
"generated_at": "2026-05-16T13:14:33+08:00",
|
|
"max_workers": 16,
|
|
"total_duration_ms": 22128.789,
|
|
"summary": {
|
|
"total": 73,
|
|
"success": 58,
|
|
"failed": 15,
|
|
"success_rate": 0.7945,
|
|
"stage_failures": {
|
|
"module_load": 0,
|
|
"init": 0,
|
|
"home": 1,
|
|
"category": 4,
|
|
"detail": 2,
|
|
"player": 1,
|
|
"url_check": 1,
|
|
"unexpected": 6
|
|
}
|
|
},
|
|
"results": [
|
|
{
|
|
"spider": "4K指南",
|
|
"file": "4K指南.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 130.267,
|
|
"init": 0.001,
|
|
"home": 0.002,
|
|
"category": 543.211,
|
|
"detail": 427.897,
|
|
"player": 0.004,
|
|
"url_check": 133.296,
|
|
"total": 1240.582
|
|
},
|
|
"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": 130.323,
|
|
"init": 0.003,
|
|
"home": 0.001,
|
|
"category": 672.291,
|
|
"detail": 660.673,
|
|
"player": 0.002,
|
|
"url_check": 0.047,
|
|
"total": 1468.005
|
|
},
|
|
"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": 129.543,
|
|
"init": 0.001,
|
|
"home": 185.247,
|
|
"category": 174.557,
|
|
"detail": 185.408,
|
|
"player": 166.109,
|
|
"url_check": 306.429,
|
|
"total": 1148.868
|
|
},
|
|
"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/2128cc0a5f94544b0cf096e1ef54f66a/6a07fd3a/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": 251.603,
|
|
"init": 0.001,
|
|
"home": 0.0,
|
|
"category": 422.186,
|
|
"detail": 594.769,
|
|
"player": 0.009,
|
|
"url_check": 180.935,
|
|
"total": 1450.244
|
|
},
|
|
"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": 192.374,
|
|
"init": 0.008,
|
|
"home": 0.003,
|
|
"category": 945.864,
|
|
"detail": 232.638,
|
|
"player": 455.839,
|
|
"url_check": 95.089,
|
|
"total": 2962.146
|
|
},
|
|
"counts": {
|
|
"classes": 6,
|
|
"category_videos": 44,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "top",
|
|
"vod_id": "top:135",
|
|
"flag": "QQ音乐",
|
|
"play_id": "qqmusic:00032bOd4TmOyq:664386439|最初的记忆 (Live) - 刘雨昕"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://isure.stream.qqmusic.qq.com/M50000032bOd4TmOyq.mp3?guid=6e5ec08298a877ab1600168b813551e2&vkey=5B6BB899D43E8A2ABFE4F321BA0649417087FA67EB26FD33A90ACAE746E031B7D45E67B39619F626D989173B1078F40465EFC5A0A7ADFAFC__v2b94c720&uin=&fromtag=119042&src=M500003huyNt4KNIZd.mp3&redirect=1",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://isure.stream.qqmusic.qq.com/M50000032bOd4TmOyq.mp3?guid=6e5ec08298a877ab1600168b813551e2&vkey=5B6BB899D43E8A2ABFE4F321BA0649417087FA67EB26FD33A90ACAE746E031B7D45E67B39619F626D989173B1078F40465EFC5A0A7ADFAFC__v2b94c720&uin=&fromtag=119042&src=M500003huyNt4KNIZd.mp3&redirect=1",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "YouTube",
|
|
"file": "YouTube.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 197.229,
|
|
"init": 0.003,
|
|
"home": 0.042,
|
|
"category": 724.787,
|
|
"detail": 1454.229,
|
|
"player": 0.003,
|
|
"url_check": 1001.497,
|
|
"total": 3378.931
|
|
},
|
|
"counts": {
|
|
"classes": 28,
|
|
"category_videos": 19,
|
|
"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": 131.146,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 235.844,
|
|
"detail": 179.702,
|
|
"player": 0.005,
|
|
"url_check": 178.518,
|
|
"total": 727.404
|
|
},
|
|
"counts": {
|
|
"classes": 6,
|
|
"category_videos": 48,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "index",
|
|
"vod_id": "714893349",
|
|
"flag": "夸克",
|
|
"play_id": "https://pan.quark.cn/s/156f70b066a1||7"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://pan.quark.cn/s/156f70b066a1||7",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://pan.quark.cn/s/156f70b066a1%7C%7C7",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "youknow",
|
|
"file": "youknow.txt",
|
|
"success": false,
|
|
"failed_stage": "unexpected",
|
|
"error": "'NoneType' object has no attribute 'xpath'",
|
|
"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/youknow.txt\", line 296, in detailContent\n File \"/home/harold/workspace/tvbox-resources/py/youknow.txt\", line 209, in _parse_detail_page\nAttributeError: 'NoneType' object has no attribute 'xpath'\n",
|
|
"timings_ms": {
|
|
"module_load": 137.889,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 1407.898,
|
|
"detail": 1414.44,
|
|
"player": 0.0,
|
|
"url_check": 0.0,
|
|
"total": 2962.275
|
|
},
|
|
"counts": {
|
|
"classes": 7,
|
|
"category_videos": 212,
|
|
"detail_videos": 0,
|
|
"episodes": 0
|
|
},
|
|
"samples": {
|
|
"tid": "index",
|
|
"vod_id": "203211",
|
|
"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": 205.713,
|
|
"init": 0.004,
|
|
"home": 0.001,
|
|
"category": 737.424,
|
|
"detail": 758.091,
|
|
"player": 0.003,
|
|
"url_check": 1231.879,
|
|
"total": 2936.998
|
|
},
|
|
"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": false,
|
|
"failed_stage": "player",
|
|
"error": "playerContent 未返回播放地址",
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 126.331,
|
|
"init": 0.001,
|
|
"home": 478.218,
|
|
"category": 789.737,
|
|
"detail": 561.644,
|
|
"player": 0.006,
|
|
"url_check": 0.0,
|
|
"total": 3322.853
|
|
},
|
|
"counts": {
|
|
"classes": 5,
|
|
"category_videos": 25,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "2",
|
|
"vod_id": "26671380",
|
|
"flag": "aliyun#1",
|
|
"play_id": "aliyun"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "",
|
|
"valid": false,
|
|
"reachable": null,
|
|
"status_code": null,
|
|
"final_url": "",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "世纪音乐",
|
|
"file": "世纪音乐.txt",
|
|
"success": false,
|
|
"failed_stage": "detail",
|
|
"error": "详情缺少播放源或播放列表",
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 151.384,
|
|
"init": 0.002,
|
|
"home": 147.385,
|
|
"category": 0.016,
|
|
"detail": 102.577,
|
|
"player": 0.0,
|
|
"url_check": 0.0,
|
|
"total": 511.028
|
|
},
|
|
"counts": {
|
|
"classes": 5,
|
|
"category_videos": 3,
|
|
"detail_videos": 1,
|
|
"episodes": 0
|
|
},
|
|
"samples": {
|
|
"tid": "rank_list",
|
|
"vod_id": "rank:rise",
|
|
"flag": null,
|
|
"play_id": null
|
|
},
|
|
"player": {
|
|
"parse": null,
|
|
"url": "",
|
|
"valid": false,
|
|
"reachable": null,
|
|
"status_code": null,
|
|
"final_url": "",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "两个BT",
|
|
"file": "两个BT.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 211.748,
|
|
"init": 0.0,
|
|
"home": 0.001,
|
|
"category": 361.653,
|
|
"detail": 350.654,
|
|
"player": 622.993,
|
|
"url_check": 392.273,
|
|
"total": 1940.039
|
|
},
|
|
"counts": {
|
|
"classes": 14,
|
|
"category_videos": 24,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "zgjun",
|
|
"vod_id": "ch45x6dqu",
|
|
"flag": "两个BT",
|
|
"play_id": "eyJwaWQiOiIvcGxheS9jaDQ1eDZkcXUiLCJzaWQiOiJjaDQ1eDZkcXUiLCJuYW1lIjoiMSJ9"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://zijieapi.douyinbyte.com/m3u8/dfff0a1ca15771c26928fffcf085471c.m3u8",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://zijieapi.douyinbyte.com/m3u8/dfff0a1ca15771c26928fffcf085471c.m3u8",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "乌云影视",
|
|
"file": "乌云影视.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 196.374,
|
|
"init": 0.001,
|
|
"home": 242.526,
|
|
"category": 483.239,
|
|
"detail": 1122.113,
|
|
"player": 0.128,
|
|
"url_check": 3797.127,
|
|
"total": 5843.639
|
|
},
|
|
"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/1bb3c4fede039f704b0f85f737d74c66a8222b9a.m3u8",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "乐兔",
|
|
"file": "乐兔.txt",
|
|
"success": false,
|
|
"failed_stage": "category",
|
|
"error": "分类视频列表为空",
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 205.981,
|
|
"init": 0.001,
|
|
"home": 0.0,
|
|
"category": 202.026,
|
|
"detail": 0.0,
|
|
"player": 0.0,
|
|
"url_check": 0.0,
|
|
"total": 647.479
|
|
},
|
|
"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": 218.405,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 235.544,
|
|
"detail": 183.816,
|
|
"player": 0.003,
|
|
"url_check": 1158.804,
|
|
"total": 1797.361
|
|
},
|
|
"counts": {
|
|
"classes": 4,
|
|
"category_videos": 72,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "12390",
|
|
"flag": "百度#二小",
|
|
"play_id": "https://pan.baidu.com/s/1Ni2WmLFmGqJdlbxaZrTAOQ?pwd=b35h"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://pan.baidu.com/s/1Ni2WmLFmGqJdlbxaZrTAOQ?pwd=b35h",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://pan.baidu.com/share/init?surl=Ni2WmLFmGqJdlbxaZrTAOQ&pwd=b35h",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "人人电影",
|
|
"file": "人人电影.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 211.369,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 507.108,
|
|
"detail": 367.188,
|
|
"player": 0.008,
|
|
"url_check": 1426.129,
|
|
"total": 2513.12
|
|
},
|
|
"counts": {
|
|
"classes": 4,
|
|
"category_videos": 10,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "movie/list_2",
|
|
"vod_id": "/movie/2026/0515/59195.html",
|
|
"flag": "baidu",
|
|
"play_id": "https://pan.baidu.com/s/1EYkX9qPq7BgcTSulWemE8Q?pwd=zbtf"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://pan.baidu.com/s/1EYkX9qPq7BgcTSulWemE8Q?pwd=zbtf",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://pan.baidu.com/share/init?surl=EYkX9qPq7BgcTSulWemE8Q&pwd=zbtf",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "人人视频",
|
|
"file": "人人视频.txt",
|
|
"success": false,
|
|
"failed_stage": "url_check",
|
|
"error": "HTTP 403",
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 3.939,
|
|
"init": 0.0,
|
|
"home": 163.315,
|
|
"category": 218.869,
|
|
"detail": 286.438,
|
|
"player": 417.925,
|
|
"url_check": 534.373,
|
|
"total": 4023.161
|
|
},
|
|
"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://a1o2t5st00viq2k.302.fledgecloud.com:56782/zj-302-cdn.bwcgee.cn/c074943c4e6d71f18ed75017f0e90402/df3c0578d329457b9265317e359bce4a-0839441ca402de22c840b03b4e64e0d2-ld.mp4?auth_key=1778922877-fca757cf964f122ecd771a72066c9d96-0-42c3ab344756e00ccf1e997140c834c5&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=2f92f2be9ef84606b397a6c25be12450&hevc=false&seasonId=57046",
|
|
"valid": false,
|
|
"reachable": false,
|
|
"status_code": 403,
|
|
"final_url": "https://a1o2t5st00viq2k.302.fledgecloud.com:56782/zj-302-cdn.bwcgee.cn/c074943c4e6d71f18ed75017f0e90402/df3c0578d329457b9265317e359bce4a-0839441ca402de22c840b03b4e64e0d2-ld.mp4?auth_key=1778922877-fca757cf964f122ecd771a72066c9d96-0-42c3ab344756e00ccf1e997140c834c5&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=2f92f2be9ef84606b397a6c25be12450&hevc=false&seasonId=57046",
|
|
"reason": "HTTP 403"
|
|
}
|
|
},
|
|
{
|
|
"spider": "优酷",
|
|
"file": "优酷.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 10.251,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 295.269,
|
|
"detail": 521.707,
|
|
"player": 0.002,
|
|
"url_check": 243.95,
|
|
"total": 1072.102
|
|
},
|
|
"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": 6.59,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 1093.892,
|
|
"detail": 1612.619,
|
|
"player": 0.004,
|
|
"url_check": 141.905,
|
|
"total": 2855.503
|
|
},
|
|
"counts": {
|
|
"classes": 4,
|
|
"category_videos": 24,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "series",
|
|
"vod_id": "movie/berlin-season-2",
|
|
"flag": "quark",
|
|
"play_id": "https://pan.quark.cn/s/e40d5674c4c7"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://pan.quark.cn/s/e40d5674c4c7",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://pan.quark.cn/s/e40d5674c4c7",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "修罗",
|
|
"file": "修罗.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 6.727,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 634.633,
|
|
"detail": 176.778,
|
|
"player": 999.972,
|
|
"url_check": 532.994,
|
|
"total": 2352.314
|
|
},
|
|
"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/8086EC57C61A3A5AF2C45DAD5588952CE9EB542101479501AA91DC66E9C960B5",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://lf26-imcloud-file-sign.bytetos.com/ad-penny-bucket/o0EEIAAAt4uBCWDq8FAdfNTiQIzRVEAgCeOhCd?x-expires=1778911784&x-signature=Cb84kM%2FR%2FoO4wrYFSNdq%2Ftp9Mu8%3D",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "凡客TV",
|
|
"file": "凡客TV.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 4.361,
|
|
"init": 0.0,
|
|
"home": 0.0,
|
|
"category": 2072.936,
|
|
"detail": 1194.776,
|
|
"player": 2097.466,
|
|
"url_check": 2740.638,
|
|
"total": 8110.557
|
|
},
|
|
"counts": {
|
|
"classes": 8,
|
|
"category_videos": 32,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "349f1d20b76a19ec",
|
|
"flag": "高速线路",
|
|
"play_id": "{\"movie_id\":\"349f1d20b76a19ec\",\"link_id\":\"905e744d9532250930828b84573fc278\",\"line_id\":\"line1\",\"line_name\":\"高速线路\",\"episode_name\":\"1080p\",\"type\":\"switch\",\"page\":\"https://fktv.me/movie/detail/349f1d20b76a19ec\"}"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://fktv.me/ysapi/m3u8/p/c2ba6605d8bb9b11fcaf44b11b4c8f49.m3u8",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://fktv.me/ysapi/m3u8/p/c2ba6605d8bb9b11fcaf44b11b4c8f49.m3u8",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "剧圈圈",
|
|
"file": "剧圈圈.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 4.962,
|
|
"init": 0.001,
|
|
"home": 0.0,
|
|
"category": 637.158,
|
|
"detail": 642.679,
|
|
"player": 1843.41,
|
|
"url_check": 610.976,
|
|
"total": 3739.665
|
|
},
|
|
"counts": {
|
|
"classes": 5,
|
|
"category_videos": 16,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "dianying",
|
|
"vod_id": "62669",
|
|
"flag": "BF备用",
|
|
"play_id": "play/62669-3-1"
|
|
},
|
|
"player": {
|
|
"parse": 1,
|
|
"url": "https://www.jqqzx.cc/play/62669-3-1.html",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://www.jqqzx.one/play/62669-3-1.html",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "剧迷",
|
|
"file": "剧迷.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 4.655,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 242.149,
|
|
"detail": 422.581,
|
|
"player": 396.013,
|
|
"url_check": 915.601,
|
|
"total": 1981.771
|
|
},
|
|
"counts": {
|
|
"classes": 6,
|
|
"category_videos": 151,
|
|
"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": 3.799,
|
|
"init": 0.001,
|
|
"home": 2806.803,
|
|
"category": 259.636,
|
|
"detail": 691.452,
|
|
"player": 0.002,
|
|
"url_check": 95.001,
|
|
"total": 3857.012
|
|
},
|
|
"counts": {
|
|
"classes": 11,
|
|
"category_videos": 24,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "1319",
|
|
"vod_id": "902849",
|
|
"flag": "博看听书",
|
|
"play_id": "http://audio.bookan.com.cn/video1/audio/20200706001/aache64_133068a2.m4a"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "http://audio.bookan.com.cn/video1/audio/20200706001/aache64_133068a2.m4a",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "http://audio.bookan.com.cn/video1/audio/20200706001/aache64_133068a2.m4a",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "双星",
|
|
"file": "双星.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 4.784,
|
|
"init": 447.934,
|
|
"home": 0.005,
|
|
"category": 176.861,
|
|
"detail": 160.042,
|
|
"player": 0.002,
|
|
"url_check": 163.124,
|
|
"total": 953.356
|
|
},
|
|
"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": 7.059,
|
|
"init": 79.637,
|
|
"home": 0.009,
|
|
"category": 183.307,
|
|
"detail": 1941.168,
|
|
"player": 278.553,
|
|
"url_check": 98.945,
|
|
"total": 2590.361
|
|
},
|
|
"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=b62fff842fef1e5305789feeefc4eddc&buy_key=FM&token=8539×tamp=1778908478&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=b62fff842fef1e5305789feeefc4eddc&buy_key=FM&token=8539×tamp=1778908478&duration=453",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "听友FM",
|
|
"file": "听友FM.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 6.454,
|
|
"init": 0.0,
|
|
"home": 369.823,
|
|
"category": 260.942,
|
|
"detail": 587.755,
|
|
"player": 433.315,
|
|
"url_check": 150.56,
|
|
"total": 1809.766
|
|
},
|
|
"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=1778907926&sign=9fbb335ccca0f2c9e068ca22af3f06e9",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://file.hgeuz.cn/stream/eJwANwDI_wJVZgVKIIrU0ECux-GJ1PSt38ahythCqsH-r9TAQ4rj5F94rOjbQKjk063xyIX2z3hfeGcIHF4BAAD__5DtISY.?ts=1778907926&sign=9fbb335ccca0f2c9e068ca22af3f06e9",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "咕咕动漫",
|
|
"file": "咕咕动漫.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 7.172,
|
|
"init": 0.004,
|
|
"home": 705.378,
|
|
"category": 456.318,
|
|
"detail": 420.935,
|
|
"player": 1391.203,
|
|
"url_check": 61.743,
|
|
"total": 3043.608
|
|
},
|
|
"counts": {
|
|
"classes": 3,
|
|
"category_videos": 30,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "6",
|
|
"vod_id": "5006",
|
|
"flag": "咕咕新线(国内高速)",
|
|
"play_id": "parse_api=a2796a09189261bcaf3cc4542d7c5ac2&url=3LubxqZsk6qbM3DCPWWx/cOuPcSr2xK2yOFGYC7FReM/Pgh9Xb/qg0/YIVmGivgx&token=|左撇子艾伦|1"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://p9-bot-workflow-sign.byteimg.com/tos-cn-i-mdko3gqilj/c87332e45fc54a998855db93afefd79b~tplv-mdko3gqilj-image.image?rk3s=81d4c505&x-expires=1810012479&x-signature=u5s4y%2BuEnvSdqseqhCfn4SHJMbU%3D",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://p9-bot-workflow-sign.byteimg.com/tos-cn-i-mdko3gqilj/c87332e45fc54a998855db93afefd79b~tplv-mdko3gqilj-image.image?rk3s=81d4c505&x-expires=1810012479&x-signature=u5s4y%2BuEnvSdqseqhCfn4SHJMbU%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": 3.817,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 116.863,
|
|
"detail": 0.0,
|
|
"player": 0.0,
|
|
"url_check": 0.0,
|
|
"total": 123.259
|
|
},
|
|
"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": "unexpected",
|
|
"error": "HTTPSConnectionPool(host='www.zxzjhd.com', port=443): Max retries exceeded with url: /vodshow/1--------1---.html (Caused by ConnectTimeoutError(<HTTPSConnection(host='www.zxzjhd.com', port=443) at 0x76bfb1cab390>, 'Connection to www.zxzjhd.com 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='www.zxzjhd.com', port=443) at 0x76bfb1cab390>, 'Connection to www.zxzjhd.com 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='www.zxzjhd.com', port=443): Max retries exceeded with url: /vodshow/1--------1---.html (Caused by ConnectTimeoutError(<HTTPSConnection(host='www.zxzjhd.com', port=443) at 0x76bfb1cab390>, 'Connection to www.zxzjhd.com 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 301, in categoryContent\n File \"/home/harold/workspace/tvbox-resources/py/在线之家.txt\", line 245, in _request_html\nrequests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='www.zxzjhd.com', port=443): Max retries exceeded with url: /vodshow/1--------1---.html (Caused by ConnectTimeoutError(<HTTPSConnection(host='www.zxzjhd.com', port=443) at 0x76bfb1cab390>, 'Connection to www.zxzjhd.com timed out. (connect timeout=10)'))\n",
|
|
"timings_ms": {
|
|
"module_load": 16.923,
|
|
"init": 0.001,
|
|
"home": 0.0,
|
|
"category": 10012.732,
|
|
"detail": 0.0,
|
|
"player": 0.0,
|
|
"url_check": 0.0,
|
|
"total": 10032.053
|
|
},
|
|
"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": 10.776,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 416.289,
|
|
"detail": 374.321,
|
|
"player": 0.003,
|
|
"url_check": 962.529,
|
|
"total": 1764.403
|
|
},
|
|
"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": 4.749,
|
|
"init": 0.0,
|
|
"home": 0.005,
|
|
"category": 679.218,
|
|
"detail": 348.466,
|
|
"player": 0.004,
|
|
"url_check": 818.718,
|
|
"total": 1852.249
|
|
},
|
|
"counts": {
|
|
"classes": 6,
|
|
"category_videos": 20,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "77198",
|
|
"flag": "rym3u8",
|
|
"play_id": "https://svip.ryiplay18.com/20260514/6398_d2dc5cf6/index.m3u8"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://svip.ryiplay18.com/20260514/6398_d2dc5cf6/index.m3u8",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://svip.ryiplay18.com/20260514/6398_d2dc5cf6/index.m3u8",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "布布影视",
|
|
"file": "布布影视.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 6.512,
|
|
"init": 0.004,
|
|
"home": 0.003,
|
|
"category": 623.399,
|
|
"detail": 654.451,
|
|
"player": 969.382,
|
|
"url_check": 338.276,
|
|
"total": 2593.079
|
|
},
|
|
"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=20260516T051116Z&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=ed64cece48eb006c0776af80f2a12c74d8c3cf500bc69deff7f837bc69761514",
|
|
"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=20260516T051116Z&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=ed64cece48eb006c0776af80f2a12c74d8c3cf500bc69deff7f837bc69761514",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "微观短剧",
|
|
"file": "微观短剧.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 4.488,
|
|
"init": 0.019,
|
|
"home": 190.212,
|
|
"category": 282.758,
|
|
"detail": 315.527,
|
|
"player": 0.002,
|
|
"url_check": 572.96,
|
|
"total": 1366.416
|
|
},
|
|
"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=1778908477&sign=87973142006b9b712958c4ac7ca96b35"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1778908477&sign=87973142006b9b712958c4ac7ca96b35",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1778908477&sign=87973142006b9b712958c4ac7ca96b35",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "新韩剧网",
|
|
"file": "新韩剧网.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 4.209,
|
|
"init": 0.001,
|
|
"home": 0.0,
|
|
"category": 467.857,
|
|
"detail": 466.091,
|
|
"player": 399.566,
|
|
"url_check": 818.796,
|
|
"total": 2157.225
|
|
},
|
|
"counts": {
|
|
"classes": 5,
|
|
"category_videos": 16,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "3613",
|
|
"flag": "在线云播",
|
|
"play_id": "3613_1_1"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://player.yzzyvip-35.com/20260331/3348_333cb763/index.m3u8",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://player.yzzyvip-35.com/20260331/3348_333cb763/index.m3u8",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "星星短剧",
|
|
"file": "星星短剧.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 3.041,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 476.843,
|
|
"detail": 463.687,
|
|
"player": 0.002,
|
|
"url_check": 105.289,
|
|
"total": 1049.249
|
|
},
|
|
"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": 4.841,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 254.604,
|
|
"detail": 200.842,
|
|
"player": 0.007,
|
|
"url_check": 221.11,
|
|
"total": 681.884
|
|
},
|
|
"counts": {
|
|
"classes": 7,
|
|
"category_videos": 72,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "25",
|
|
"vod_id": "7908",
|
|
"flag": "115#木偶",
|
|
"play_id": "https://115cdn.com/s/swf27dt36dh?password=y804"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://115cdn.com/s/swf27dt36dh?password=y804",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://115cdn.com/s/swf27dt36dh?password=y804",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "樱花动漫",
|
|
"file": "樱花动漫.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 4.916,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 1307.842,
|
|
"detail": 1306.527,
|
|
"player": 1311.303,
|
|
"url_check": 820.434,
|
|
"total": 4751.571
|
|
},
|
|
"counts": {
|
|
"classes": 4,
|
|
"category_videos": 36,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "guoman",
|
|
"vod_id": "12",
|
|
"flag": "高清",
|
|
"play_id": "/play/12-1-1/"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://yzzy.play-cdn2.com/20220408/8953_8c6f0de5/index.m3u8",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://yzzy.play-cdn2.com/20220408/8953_8c6f0de5/index.m3u8",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "橘子TV",
|
|
"file": "橘子TV.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 3.702,
|
|
"init": 296.973,
|
|
"home": 335.722,
|
|
"category": 333.005,
|
|
"detail": 378.264,
|
|
"player": 696.001,
|
|
"url_check": 969.805,
|
|
"total": 3014.611
|
|
},
|
|
"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=aa40e94eaceb6a50d15fe1c2f69af2ce&t=1778908480",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://usaydd.5gwcft9h.com/m3u87/share/7404387/7599927/20260511/161239/720/index.m3u8?sign=aa40e94eaceb6a50d15fe1c2f69af2ce&t=1778908480",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "欧歌",
|
|
"file": "欧歌.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 7.527,
|
|
"init": 0.0,
|
|
"home": 0.0,
|
|
"category": 246.308,
|
|
"detail": 173.568,
|
|
"player": 0.009,
|
|
"url_check": 940.47,
|
|
"total": 1368.286
|
|
},
|
|
"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": 10.677,
|
|
"init": 0.001,
|
|
"home": 374.489,
|
|
"category": 618.296,
|
|
"detail": 1381.715,
|
|
"player": 0.025,
|
|
"url_check": 137.683,
|
|
"total": 2528.071
|
|
},
|
|
"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/c649434d780cfa3ddb7757fb5cfc9612/6a093d40/81/8x5/85x0/850x8/85088100014/612504118_1/612504118.720p.narrowv3.mp4"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://dzzt-video.cbread.cn/c649434d780cfa3ddb7757fb5cfc9612/6a093d40/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/c649434d780cfa3ddb7757fb5cfc9612/6a093d40/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": 5.576,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 208.962,
|
|
"detail": 188.552,
|
|
"player": 0.005,
|
|
"url_check": 915.653,
|
|
"total": 1319.316
|
|
},
|
|
"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": 5.78,
|
|
"init": 0.002,
|
|
"home": 101.098,
|
|
"category": 100.435,
|
|
"detail": 149.746,
|
|
"player": 315.676,
|
|
"url_check": 75.585,
|
|
"total": 748.846
|
|
},
|
|
"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=1778908479297&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=1778908479297&url=NBY-e84585334a25c5b49078dfac81549a0b.m3u8",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "爱奇艺",
|
|
"file": "爱奇艺.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 13.265,
|
|
"init": 0.019,
|
|
"home": 3290.943,
|
|
"category": 895.215,
|
|
"detail": 174.866,
|
|
"player": 0.002,
|
|
"url_check": 107.058,
|
|
"total": 4482.076
|
|
},
|
|
"counts": {
|
|
"classes": 11,
|
|
"category_videos": 48,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "pcw:1",
|
|
"vod_id": "pcw:1$3493933623185100",
|
|
"flag": "爱奇艺",
|
|
"play_id": "http://www.iqiyi.com/v_xkicyw128w.html"
|
|
},
|
|
"player": {
|
|
"parse": 1,
|
|
"url": "http://www.iqiyi.com/v_xkicyw128w.html",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://www.iqiyi.com/v_xkicyw128w.html",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "独播库",
|
|
"file": "独播库.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 11.754,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 412.287,
|
|
"detail": 322.367,
|
|
"player": 362.115,
|
|
"url_check": 206.427,
|
|
"total": 1316.052
|
|
},
|
|
"counts": {
|
|
"classes": 6,
|
|
"category_videos": 48,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "index",
|
|
"vod_id": "144592",
|
|
"flag": "独播库",
|
|
"play_id": "144592-1-1"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://vid.dbokutv.com/20260502/ppotb62-S71lT2yliZApDBSvkYzBsrmD3fpCJ4nBsnsRsGlR7XgBMnuOdajC34jC34rD4L5CaCvBcrmD0/chunklist.m3u8",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://vid.dbokutv.com/20260502/ppotb62-S71lT2yliZApDBSvkYzBsrmD3fpCJ4nBsnsRsGlR7XgBMnuOdajC34jC34rD4L5CaCvBcrmD0/chunklist.m3u8",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "玩偶哥哥",
|
|
"file": "玩偶哥哥.txt",
|
|
"success": false,
|
|
"failed_stage": "category",
|
|
"error": "分类视频列表为空",
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 3.696,
|
|
"init": 0.0,
|
|
"home": 0.0,
|
|
"category": 134.28,
|
|
"detail": 0.0,
|
|
"player": 0.0,
|
|
"url_check": 0.0,
|
|
"total": 277.36
|
|
},
|
|
"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": 7.026,
|
|
"init": 0.001,
|
|
"home": 0.056,
|
|
"category": 267.535,
|
|
"detail": 232.965,
|
|
"player": 0.004,
|
|
"url_check": 238.282,
|
|
"total": 746.32
|
|
},
|
|
"counts": {
|
|
"classes": 10,
|
|
"category_videos": 72,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "site_muou",
|
|
"vod_id": "site:muou:/index.php/vod/detail/id/7908.html",
|
|
"flag": "115#木偶",
|
|
"play_id": "https://115cdn.com/s/swf27dt36dh?password=y804"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://115cdn.com/s/swf27dt36dh?password=y804",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://115cdn.com/s/swf27dt36dh?password=y804",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "瓜子",
|
|
"file": "瓜子.txt",
|
|
"success": false,
|
|
"failed_stage": "detail",
|
|
"error": "详情缺少播放源或播放列表",
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 5.884,
|
|
"init": 0.001,
|
|
"home": 0.016,
|
|
"category": 518.163,
|
|
"detail": 733.527,
|
|
"player": 0.0,
|
|
"url_check": 0.0,
|
|
"total": 12171.998
|
|
},
|
|
"counts": {
|
|
"classes": 5,
|
|
"category_videos": 30,
|
|
"detail_videos": 1,
|
|
"episodes": 0
|
|
},
|
|
"samples": {
|
|
"tid": "2",
|
|
"vod_id": "137094",
|
|
"flag": null,
|
|
"play_id": null
|
|
},
|
|
"player": {
|
|
"parse": null,
|
|
"url": "",
|
|
"valid": false,
|
|
"reachable": null,
|
|
"status_code": null,
|
|
"final_url": "",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "百度短剧",
|
|
"file": "百度短剧.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 4.164,
|
|
"init": 0.0,
|
|
"home": 459.302,
|
|
"category": 269.952,
|
|
"detail": 1406.312,
|
|
"player": 271.836,
|
|
"url_check": 55.29,
|
|
"total": 2467.243
|
|
},
|
|
"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.787,
|
|
"init": 0.001,
|
|
"home": 353.255,
|
|
"category": 269.642,
|
|
"detail": 458.034,
|
|
"player": 0.022,
|
|
"url_check": 129.209,
|
|
"total": 1215.402
|
|
},
|
|
"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": 7.508,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 192.273,
|
|
"detail": 205.938,
|
|
"player": 170.392,
|
|
"url_check": 954.276,
|
|
"total": 1531.05
|
|
},
|
|
"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": 8.196,
|
|
"init": 0.019,
|
|
"home": 0.001,
|
|
"category": 887.611,
|
|
"detail": 177.219,
|
|
"player": 0.002,
|
|
"url_check": 1319.641,
|
|
"total": 2393.267
|
|
},
|
|
"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": 19.507,
|
|
"init": 566.816,
|
|
"home": 0.103,
|
|
"category": 453.015,
|
|
"detail": 311.377,
|
|
"player": 0.001,
|
|
"url_check": 46.724,
|
|
"total": 1398.21
|
|
},
|
|
"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": 5.795,
|
|
"init": 0.0,
|
|
"home": 0.0,
|
|
"category": 241.045,
|
|
"detail": 225.043,
|
|
"player": 0.004,
|
|
"url_check": 144.45,
|
|
"total": 616.981
|
|
},
|
|
"counts": {
|
|
"classes": 2,
|
|
"category_videos": 20,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "https://sm3.cc/?id=50711",
|
|
"flag": "夸克",
|
|
"play_id": "https://pan.quark.cn/s/9bad9384f9b6"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://pan.quark.cn/s/9bad9384f9b6",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://pan.quark.cn/s/9bad9384f9b6",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "糯米",
|
|
"file": "糯米.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 5.711,
|
|
"init": 0.001,
|
|
"home": 548.542,
|
|
"category": 829.499,
|
|
"detail": 146.482,
|
|
"player": 294.244,
|
|
"url_check": 438.807,
|
|
"total": 2263.897
|
|
},
|
|
"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": 3.695,
|
|
"init": 0.001,
|
|
"home": 358.841,
|
|
"category": 380.299,
|
|
"detail": 0.005,
|
|
"player": 1338.962,
|
|
"url_check": 43.587,
|
|
"total": 2126.283
|
|
},
|
|
"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=43fb1ba26cfcc697b1237fe1e6f9e201&wsTime=1778908482",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://vodkgeyttp8.vod.126.net/cloudmusic/b028/core/d385/7949c1ba77cdfe6a51daf59fceb136cf.mp4?wsSecret=43fb1ba26cfcc697b1237fe1e6f9e201&wsTime=1778908482",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "耐视点播",
|
|
"file": "耐视点播.txt",
|
|
"success": false,
|
|
"failed_stage": "category",
|
|
"error": "分类视频列表为空",
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 6.523,
|
|
"init": 0.001,
|
|
"home": 0.0,
|
|
"category": 1103.404,
|
|
"detail": 0.0,
|
|
"player": 0.0,
|
|
"url_check": 0.0,
|
|
"total": 2377.428
|
|
},
|
|
"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": 7.089,
|
|
"init": 0.001,
|
|
"home": 105.227,
|
|
"category": 263.755,
|
|
"detail": 670.518,
|
|
"player": 0.002,
|
|
"url_check": 211.745,
|
|
"total": 1259.351
|
|
},
|
|
"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.113,
|
|
"init": 0.001,
|
|
"home": 0.0,
|
|
"category": 257.001,
|
|
"detail": 222.914,
|
|
"player": 0.004,
|
|
"url_check": 1078.011,
|
|
"total": 1562.36
|
|
},
|
|
"counts": {
|
|
"classes": 7,
|
|
"category_videos": 72,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "20428",
|
|
"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": 5.378,
|
|
"init": 0.001,
|
|
"home": 803.563,
|
|
"category": 819.545,
|
|
"detail": 672.267,
|
|
"player": 1338.597,
|
|
"url_check": 1804.945,
|
|
"total": 9436.719
|
|
},
|
|
"counts": {
|
|
"classes": 4,
|
|
"category_videos": 36,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "2",
|
|
"vod_id": "detail/video/121011",
|
|
"flag": "FF有广24",
|
|
"play_id": "play/121011-1-1"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://vod.feifei-video.com/20260513/43283_fe8ab690/index.m3u8",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://vod.feifei-video.com/20260513/43283_fe8ab690/index.m3u8",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "虎斑",
|
|
"file": "虎斑.txt",
|
|
"success": false,
|
|
"failed_stage": "unexpected",
|
|
"error": "HTTPConnectionPool(host='109.244.63.150', port=16969): 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 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 ~~~~~~~~~~~~~~~~~^^\n File \"/home/harold/.local/share/uv/python/cpython-3.14.3-linux-x86_64-gnu/lib/python3.14/http/client.py\", line 297, in _read_status\n line = str(self.fp.readline(_MAXLINE + 1), \"iso-8859-1\")\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/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: HTTPConnectionPool(host='109.244.63.150', port=16969): 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 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/虎斑.txt\", line 580, in detailContent\n File \"/home/harold/workspace/tvbox-resources/py/虎斑.txt\", line 364, in _request_html\nrequests.exceptions.ReadTimeout: HTTPConnectionPool(host='109.244.63.150', port=16969): Read timed out. (read timeout=10)\n",
|
|
"timings_ms": {
|
|
"module_load": 6.558,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 4705.197,
|
|
"detail": 10144.826,
|
|
"player": 0.0,
|
|
"url_check": 0.0,
|
|
"total": 14859.131
|
|
},
|
|
"counts": {
|
|
"classes": 6,
|
|
"category_videos": 72,
|
|
"detail_videos": 0,
|
|
"episodes": 0
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "/index.php/vod/detail/id/458530.html",
|
|
"flag": null,
|
|
"play_id": null
|
|
},
|
|
"player": {
|
|
"parse": null,
|
|
"url": "",
|
|
"valid": false,
|
|
"reachable": null,
|
|
"status_code": null,
|
|
"final_url": "",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "蜡笔",
|
|
"file": "蜡笔.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 4.647,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 353.897,
|
|
"detail": 314.938,
|
|
"player": 0.006,
|
|
"url_check": 1019.433,
|
|
"total": 1693.34
|
|
},
|
|
"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": 8.11,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 745.5,
|
|
"detail": 191.533,
|
|
"player": 186.308,
|
|
"url_check": 1012.205,
|
|
"total": 2144.196
|
|
},
|
|
"counts": {
|
|
"classes": 4,
|
|
"category_videos": 36,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "414878",
|
|
"flag": "蓝光专线4",
|
|
"play_id": "play/414878-0-0"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://play.phimgood.com/20260515/26831_01659324/index.m3u8",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://play.phimgood.com/20260515/26831_01659324/index.m3u8",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "视界",
|
|
"file": "视界.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 10.003,
|
|
"init": 0.001,
|
|
"home": 312.865,
|
|
"category": 187.965,
|
|
"detail": 213.825,
|
|
"player": 908.755,
|
|
"url_check": 129.247,
|
|
"total": 1763.467
|
|
},
|
|
"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/4a746d0674838fc7ee98deb0b15f6092.m3u8?token=cdee6a7d22fd8d4a137002b6e75fa5b8&time=1778908483&YYNB.m3u8",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://fffan.wki8.com/hls/4a746d0674838fc7ee98deb0b15f6092.m3u8?token=cdee6a7d22fd8d4a137002b6e75fa5b8&time=1778908483&YYNB.m3u8",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "路漫漫",
|
|
"file": "路漫漫.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 4.898,
|
|
"init": 0.0,
|
|
"home": 0.0,
|
|
"category": 1267.712,
|
|
"detail": 687.166,
|
|
"player": 1550.823,
|
|
"url_check": 202.581,
|
|
"total": 5544.758
|
|
},
|
|
"counts": {
|
|
"classes": 6,
|
|
"category_videos": 20,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "6",
|
|
"vod_id": "detail/8027.html",
|
|
"flag": "dev云播",
|
|
"play_id": "play/8027_2_1.html"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://v16.toutiao50.com/e6e6d5669db961b429f7c4bc54724e1f/6a095389/video/tos/alisg/tos-alisg-ve-0051c001-sg/oEZRdq8DNERA1QvfezITjQDpByYFEB1dBgdF02/",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://v16.toutiao50.com/e6e6d5669db961b429f7c4bc54724e1f/6a095389/video/tos/alisg/tos-alisg-ve-0051c001-sg/oEZRdq8DNERA1QvfezITjQDpByYFEB1dBgdF02/",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "酷我听书",
|
|
"file": "酷我听书.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 10.463,
|
|
"init": 0.001,
|
|
"home": 364.99,
|
|
"category": 102.335,
|
|
"detail": 3292.097,
|
|
"player": 178.186,
|
|
"url_check": 59.279,
|
|
"total": 4008.257
|
|
},
|
|
"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/f9af9ca2ecf88c887b67b1c2cf49a3c0/6a07fd46/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/f9af9ca2ecf88c887b67b1c2cf49a3c0/6a07fd46/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": false,
|
|
"failed_stage": "unexpected",
|
|
"error": "HTTPSConnectionPool(host='thirdsso.kugou.com', port=443): Max retries exceeded with url: /v2/playlist/category (Caused by ConnectTimeoutError(<HTTPSConnection(host='thirdsso.kugou.com', port=443) at 0x76bfb1d23110>, 'Connection to thirdsso.kugou.com 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='thirdsso.kugou.com', port=443) at 0x76bfb1d23110>, 'Connection to thirdsso.kugou.com 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='thirdsso.kugou.com', port=443): Max retries exceeded with url: /v2/playlist/category (Caused by ConnectTimeoutError(<HTTPSConnection(host='thirdsso.kugou.com', port=443) at 0x76bfb1d23110>, 'Connection to thirdsso.kugou.com 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 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/酷狗音乐.txt\", line 325, in homeContent\n File \"/home/harold/workspace/tvbox-resources/py/酷狗音乐.txt\", line 233, in kg_post\n File \"/home/harold/workspace/tvbox-resources/py/酷狗音乐.txt\", line 219, in post_json\nrequests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='thirdsso.kugou.com', port=443): Max retries exceeded with url: /v2/playlist/category (Caused by ConnectTimeoutError(<HTTPSConnection(host='thirdsso.kugou.com', port=443) at 0x76bfb1d23110>, 'Connection to thirdsso.kugou.com timed out. (connect timeout=10)'))\n",
|
|
"timings_ms": {
|
|
"module_load": 9.558,
|
|
"init": 441.5,
|
|
"home": 10147.073,
|
|
"category": 0.0,
|
|
"detail": 0.0,
|
|
"player": 0.0,
|
|
"url_check": 0.0,
|
|
"total": 10602.047
|
|
},
|
|
"counts": {
|
|
"classes": 0,
|
|
"category_videos": 0,
|
|
"detail_videos": 0,
|
|
"episodes": 0
|
|
},
|
|
"samples": {
|
|
"tid": null,
|
|
"vod_id": null,
|
|
"flag": null,
|
|
"play_id": null
|
|
},
|
|
"player": {
|
|
"parse": null,
|
|
"url": "",
|
|
"valid": false,
|
|
"reachable": null,
|
|
"status_code": null,
|
|
"final_url": "",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "金牌",
|
|
"file": "金牌.txt",
|
|
"success": false,
|
|
"failed_stage": "unexpected",
|
|
"error": "HTTPSConnectionPool(host='m.jiabaide.cn', port=443): Max retries exceeded with url: /api/mw-movie/anonymous/home/hotSearch (Caused by ConnectTimeoutError(<HTTPSConnection(host='m.jiabaide.cn', port=443) at 0x76bfb1d23b10>, 'Connection to m.jiabaide.cn 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='m.jiabaide.cn', port=443) at 0x76bfb1d23b10>, 'Connection to m.jiabaide.cn 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='m.jiabaide.cn', port=443): Max retries exceeded with url: /api/mw-movie/anonymous/home/hotSearch (Caused by ConnectTimeoutError(<HTTPSConnection(host='m.jiabaide.cn', port=443) at 0x76bfb1d23b10>, 'Connection to m.jiabaide.cn 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 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/金牌.txt\", line 143, in homeContent\n File \"/home/harold/workspace/tvbox-resources/py/金牌.txt\", line 79, in _fetch_json\n File \"/home/harold/workspace/atv-spiders/py/base/spider.py\", line 145, in fetch\n rsp = requests.get(url, params=params, cookies=cookies, headers=headers, timeout=timeout, verify=verify,\n stream=stream, allow_redirects=allow_redirects)\nrequests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='m.jiabaide.cn', port=443): Max retries exceeded with url: /api/mw-movie/anonymous/home/hotSearch (Caused by ConnectTimeoutError(<HTTPSConnection(host='m.jiabaide.cn', port=443) at 0x76bfb1d23b10>, 'Connection to m.jiabaide.cn timed out. (connect timeout=10)'))\n",
|
|
"timings_ms": {
|
|
"module_load": 5.076,
|
|
"init": 0.001,
|
|
"home": 10443.626,
|
|
"category": 0.0,
|
|
"detail": 0.0,
|
|
"player": 0.0,
|
|
"url_check": 0.0,
|
|
"total": 10450.201
|
|
},
|
|
"counts": {
|
|
"classes": 0,
|
|
"category_videos": 0,
|
|
"detail_videos": 0,
|
|
"episodes": 0
|
|
},
|
|
"samples": {
|
|
"tid": null,
|
|
"vod_id": null,
|
|
"flag": null,
|
|
"play_id": null
|
|
},
|
|
"player": {
|
|
"parse": null,
|
|
"url": "",
|
|
"valid": false,
|
|
"reachable": null,
|
|
"status_code": null,
|
|
"final_url": "",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "闪电",
|
|
"file": "闪电.txt",
|
|
"success": false,
|
|
"failed_stage": "category",
|
|
"error": "分类视频列表为空",
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 4.858,
|
|
"init": 0.001,
|
|
"home": 0.0,
|
|
"category": 2522.411,
|
|
"detail": 0.0,
|
|
"player": 0.0,
|
|
"url_check": 0.0,
|
|
"total": 3685.252
|
|
},
|
|
"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": 4.224,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 1619.008,
|
|
"detail": 1623.374,
|
|
"player": 1613.246,
|
|
"url_check": 808.129,
|
|
"total": 5668.484
|
|
},
|
|
"counts": {
|
|
"classes": 4,
|
|
"category_videos": 40,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "239894",
|
|
"flag": "高清31",
|
|
"play_id": "/vodplay/239894-1-1.html"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://cdn.yzzy27-play.com/20260515/24479_589ea909/index.m3u8",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://cdn.yzzy27-play.com/20260515/24479_589ea909/index.m3u8",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "魔方APP",
|
|
"file": "魔方APP.txt",
|
|
"success": false,
|
|
"failed_stage": "home",
|
|
"error": "分类列表为空",
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 5.473,
|
|
"init": 0.001,
|
|
"home": 132.126,
|
|
"category": 0.0,
|
|
"detail": 0.0,
|
|
"player": 0.0,
|
|
"url_check": 0.0,
|
|
"total": 138.223
|
|
},
|
|
"counts": {
|
|
"classes": 0,
|
|
"category_videos": 0,
|
|
"detail_videos": 0,
|
|
"episodes": 0
|
|
},
|
|
"samples": {
|
|
"tid": null,
|
|
"vod_id": null,
|
|
"flag": null,
|
|
"play_id": null
|
|
},
|
|
"player": {
|
|
"parse": null,
|
|
"url": "",
|
|
"valid": false,
|
|
"reachable": null,
|
|
"status_code": null,
|
|
"final_url": "",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "麦田影院",
|
|
"file": "麦田影院.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 3.894,
|
|
"init": 0.0,
|
|
"home": 0.0,
|
|
"category": 156.169,
|
|
"detail": 135.634,
|
|
"player": 0.016,
|
|
"url_check": 318.06,
|
|
"total": 614.284
|
|
},
|
|
"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": 5.286,
|
|
"init": 0.001,
|
|
"home": 1761.529,
|
|
"category": 1651.441,
|
|
"detail": 1628.667,
|
|
"player": 0.009,
|
|
"url_check": 819.753,
|
|
"total": 5867.487
|
|
},
|
|
"counts": {
|
|
"classes": 5,
|
|
"category_videos": 30,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "93744",
|
|
"flag": "🐈⬛标清线路2",
|
|
"play_id": "标清线路3@@direct@@,https://vip.ffzy-plays.com/20260516/53631_aa119b85/index.m3u8,token+,1,0"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://vip.ffzy-plays.com/20260516/53631_aa119b85/index.m3u8",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://vip.ffzy-plays.com/20260516/53631_aa119b85/index.m3u8",
|
|
"reason": null
|
|
}
|
|
}
|
|
]
|
|
} |