Files
tvboxzt/spider_validation.json
T
2026-07-19 14:28:05 +08:00

4430 lines
136 KiB
JSON

{
"generated_at": "2026-07-19T14:26:45+08:00",
"max_workers": 16,
"total_duration_ms": 65995.635,
"summary": {
"total": 113,
"success": 87,
"failed": 26,
"success_rate": 0.7699,
"stage_failures": {
"module_load": 0,
"init": 0,
"home": 6,
"category": 13,
"detail": 1,
"player": 1,
"url_check": 2,
"unexpected": 3
}
},
"results": [
{
"spider": "4KVM",
"file": "4KVM.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 201.303,
"init": 0.002,
"home": 11909.783,
"category": 0.025,
"detail": 477.212,
"player": 7312.676,
"url_check": 557.436,
"total": 20491.823
},
"counts": {
"classes": 6,
"category_videos": 24,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "-1",
"vod_id": "cgzq7f3tf",
"flag": "alists",
"play_id": "1551|cgzq7f3tf"
},
"player": {
"parse": 0,
"url": "https://oss.douyinbit.com/m3u8/e99a493fad588e618465263d5d62a22e.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://oss.douyinbit.com/m3u8/e99a493fad588e618465263d5d62a22e.m3u8",
"reason": null
}
},
{
"spider": "4K指南",
"file": "4K指南.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 201.58,
"init": 0.001,
"home": 0.001,
"category": 9891.408,
"detail": 676.03,
"player": 0.007,
"url_check": 146.479,
"total": 10916.304
},
"counts": {
"classes": 5,
"category_videos": 50,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "zuixin",
"vod_id": "20505",
"flag": "夸克网盘",
"play_id": "push://https://pan.quark.cn/s/36102771ee20"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/36102771ee20",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/36102771ee20",
"reason": null
}
},
{
"spider": "6V磁力",
"file": "6V磁力.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 247.185,
"init": 0.006,
"home": 0.002,
"category": 843.916,
"detail": 676.171,
"player": 0.002,
"url_check": 0.052,
"total": 1788.792
},
"counts": {
"classes": 12,
"category_videos": 18,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "dianshiju/guoju",
"vod_id": "/dianshiju/guoju/29163.html",
"flag": "01-06.2160p.HD国语中字无水印.mkv",
"play_id": "magnet:?xt=urn:btih:79fdc9b79c6da84ee34df091a9070227bfb8acfb&dn=%E5%B0%8F%E8%8A%B301-06.2160p&tr=udp%3A%2F%2Ftracker.ducks.party%3A1984%2Fannounce"
},
"player": {
"parse": 0,
"url": "magnet:?xt=urn:btih:79fdc9b79c6da84ee34df091a9070227bfb8acfb&dn=%E5%B0%8F%E8%8A%B301-06.2160p&tr=udp%3A%2F%2Ftracker.ducks.party%3A1984%2Fannounce",
"valid": true,
"reachable": null,
"status_code": null,
"final_url": "magnet:?xt=urn:btih:79fdc9b79c6da84ee34df091a9070227bfb8acfb&dn=%E5%B0%8F%E8%8A%B301-06.2160p&tr=udp%3A%2F%2Ftracker.ducks.party%3A1984%2Fannounce",
"reason": "非 HTTP 地址,按协议格式通过"
}
},
{
"spider": "AAZ音乐",
"file": "AAZ音乐.txt",
"success": false,
"failed_stage": "unexpected",
"error": "('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))",
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 534, in _make_request\n response = conn.getresponse()\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 571, in getresponse\n httplib_response = super().getresponse()\n File \"/home/harold/.local/share/uv/python/cpython-3.14.3-linux-x86_64-gnu/lib/python3.14/http/client.py\", line 1450, in getresponse\n response.begin()\n ~~~~~~~~~~~~~~^^\n File \"/home/harold/.local/share/uv/python/cpython-3.14.3-linux-x86_64-gnu/lib/python3.14/http/client.py\", line 336, in begin\n version, status, reason = self._read_status()\n ~~~~~~~~~~~~~~~~~^^\nhttp.client.RemoteDisconnected: Remote end closed connection without response\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/requests/adapters.py\", line 645, in send\n resp = conn.urlopen(\n method=request.method,\n ...<9 lines>...\n chunked=chunked,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 841, in urlopen\n retries = retries.increment(\n method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/retry.py\", line 490, in increment\n raise reraise(type(error), error, _stacktrace)\n ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/util.py\", line 38, in reraise\n raise value.with_traceback(tb)\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\nurllib3.exceptions.ProtocolError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 756, in validate_spider_file\n home_result = _run_timed(result[\"timings_ms\"], \"home\", spider.homeContent, clock, False)\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 318, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/AAZ音乐.txt\", line 220, in homeContent\n File \"/home/harold/workspace/tvbox-resources/py/AAZ音乐.txt\", line 57, in _fetch_html\n File \"/home/harold/workspace/atv-spiders/py/base/spider.py\", line 145, in fetch\n rsp = requests.get(url, params=params, cookies=cookies, headers=headers, timeout=timeout, verify=verify,\n stream=stream, allow_redirects=allow_redirects)\nrequests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))\n",
"timings_ms": {
"module_load": 200.274,
"init": 0.001,
"home": 640.53,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 843.471
},
"counts": {
"classes": 0,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": null,
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "PPnix",
"file": "PPnix.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 200.376,
"init": 0.001,
"home": 0.004,
"category": 622.848,
"detail": 5857.434,
"player": 0.009,
"url_check": 5736.334,
"total": 12450.573
},
"counts": {
"classes": 2,
"category_videos": 24,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "movie/8321.html",
"flag": "PPnix",
"play_id": "8321|1080P"
},
"player": {
"parse": 0,
"url": "https://www.ppnix.com/info/m3u8/8321/1080P.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://www.ppnix.com/info/m3u8/8321/1080P.m3u8",
"reason": null
}
},
{
"spider": "Pomo",
"file": "Pomo.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 256.643,
"init": 0.001,
"home": 0.002,
"category": 358.26,
"detail": 304.339,
"player": 0.004,
"url_check": 0.076,
"total": 930.891
},
"counts": {
"classes": 7,
"category_videos": 16,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "zuixin",
"vod_id": "3309",
"flag": "Backrooms.2026.2160p.iT.WEB-DL.DV.HDR10+.DDP5.1.Atmos.H265.MP4-BTM · 4K · 20.25GB",
"play_id": "magnet:?xt=urn:btih:a8894150faa50678d9055e691bded4eb64a33b62"
},
"player": {
"parse": 0,
"url": "magnet:?xt=urn:btih:a8894150faa50678d9055e691bded4eb64a33b62",
"valid": true,
"reachable": null,
"status_code": null,
"final_url": "magnet:?xt=urn:btih:a8894150faa50678d9055e691bded4eb64a33b62",
"reason": "非 HTTP 地址,按协议格式通过"
}
},
{
"spider": "QQ音乐",
"file": "QQ音乐.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 203.851,
"init": 0.018,
"home": 0.01,
"category": 448.639,
"detail": 2975.081,
"player": 324.025,
"url_check": 186.063,
"total": 4198.722
},
"counts": {
"classes": 6,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "playlist",
"vod_id": "playlist:7709482046",
"flag": "QQ音乐",
"play_id": "qqmusic:001zMQr71F1Qo8:718477|夜曲 - 周杰伦"
},
"player": {
"parse": 0,
"url": "https://isure.stream.qqmusic.qq.com/F0000024jrso28p8VA.flac?guid=60f129733b207fd01bc8c92cf9976fdb&vkey=5C09181329946AA08E001215FCE601F612D7C4CA513E156038BEE0CC3032136CB7D9C4AE1BF1AFFCD8BF03E9F2FB06ABC4324B28DB986581__v21e2a16e4&uin=1152921504846230218&fromtag=119114&redirect=1",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://isure.stream.qqmusic.qq.com/F0000024jrso28p8VA.flac?guid=60f129733b207fd01bc8c92cf9976fdb&vkey=5C09181329946AA08E001215FCE601F612D7C4CA513E156038BEE0CC3032136CB7D9C4AE1BF1AFFCD8BF03E9F2FB06ABC4324B28DB986581__v21e2a16e4&uin=1152921504846230218&fromtag=119114&redirect=1",
"reason": null
}
},
{
"spider": "YouTube",
"file": "YouTube.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 245.45,
"init": 0.008,
"home": 0.087,
"category": 736.403,
"detail": 14929.297,
"player": 0.004,
"url_check": 6514.235,
"total": 28120.691
},
"counts": {
"classes": 29,
"category_videos": 20,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "cat_trending",
"vod_id": "yt:video:goH9vq8E3Vw",
"flag": "YouTube",
"play_id": "yt:video:goH9vq8E3Vw"
},
"player": {
"parse": 0,
"url": "https://www.youtube.com/watch?v=goH9vq8E3Vw",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://www.youtube.com/watch?v=goH9vq8E3Vw",
"reason": null
}
},
{
"spider": "libvio",
"file": "libvio.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 259.759,
"init": 0.001,
"home": 0.001,
"category": 7073.815,
"detail": 382.316,
"player": 0.006,
"url_check": 160.425,
"total": 7877.715
},
"counts": {
"classes": 6,
"category_videos": 48,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "index",
"vod_id": "714893558",
"flag": "夸克",
"play_id": "https://pan.quark.cn/s/b277ec97ba05"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/b277ec97ba05",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/b277ec97ba05",
"reason": null
}
},
{
"spider": "mifun",
"file": "mifun.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 227.985,
"init": 0.006,
"home": 9172.611,
"category": 521.713,
"detail": 720.644,
"player": 5857.075,
"url_check": 4544.21,
"total": 28891.845
},
"counts": {
"classes": 5,
"category_videos": 30,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "19479",
"flag": "特快云",
"play_id": "特快云@@direct@@ba11073ae57ba0eede130eeda148f635,v10033g50000d332n1nog65kkqskev1g,token+,1,1"
},
"player": {
"parse": 0,
"url": "http://v16.akamaized.net/0ce5fd92e29908e817da999a4a3a65a9/6a5cba97/video/tos/alisg/tos-alisg-v-0051c001-sg/oIsQGEfMILAmpjOARbQGgNUdF8rHcSRYfDueCh/?a=0&bti=NTk5Zi42Og%3D%3D&&bt=1361&ft=cApXJCz7ThWHoEN2LGZmo0P&mime_type=video_mp4&rc=anludG45cjQ1NjMzODYzNEBpanludG45cjQ1NjMzODYzNEAuYnBoMmRrazBhLS1kMC1zYSMuYnBoMmRrazBhLS1kMC1zcw%3D%3D&vvpl=1&l=20260719133017453C0F3A18DB5D28C730&btag=e00068000",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://v16.akamaized.net/0ce5fd92e29908e817da999a4a3a65a9/6a5cba97/video/tos/alisg/tos-alisg-v-0051c001-sg/oIsQGEfMILAmpjOARbQGgNUdF8rHcSRYfDueCh/?a=0&bti=NTk5Zi42Og%3D%3D&&bt=1361&ft=cApXJCz7ThWHoEN2LGZmo0P&mime_type=video_mp4&rc=anludG45cjQ1NjMzODYzNEBpanludG45cjQ1NjMzODYzNEAuYnBoMmRrazBhLS1kMC1zYSMuYnBoMmRrazBhLS1kMC1zcw%3D%3D&vvpl=1&l=20260719133017453C0F3A18DB5D28C730&btag=e00068000",
"reason": null
}
},
{
"spider": "youknow",
"file": "youknow.txt",
"success": false,
"failed_stage": "url_check",
"error": "HTTPSConnectionPool(host='play.phimgood.com', port=443): Read timed out. (read timeout=5)",
"traceback": null,
"timings_ms": {
"module_load": 211.449,
"init": 0.001,
"home": 0.002,
"category": 1267.244,
"detail": 1098.168,
"player": 8844.887,
"url_check": 5012.472,
"total": 32011.967
},
"counts": {
"classes": 7,
"category_videos": 72,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "drama",
"vod_id": "205220",
"flag": "YouKnowTV",
"play_id": "eyJ2b2RfaWQiOiIyMDUyMjAiLCJlcGlzb2RlX2luZGV4IjoxLCJ0aXRsZSI6IuesrDAx6ZuGIiwiY2FuZGlkYXRlcyI6W3sic291cmNlIjoi57q_6LevMSIsInNvdXJjZV9pZCI6IjEiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8yMDUyMjAtMS0xLyJ9LHsic291cmNlIjoi57q_6LevMiIsInNvdXJjZV9pZCI6IjEiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8yMDUyMjAtMS0xLyJ9LHsic291cmNlIjoi57q_6LevOSIsInNvdXJjZV9pZCI6IjIiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8yMDUyMjAtMi0xLyJ9LHsic291cmNlIjoi57q_6LevMTAiLCJzb3VyY2VfaWQiOiIyIiwiZXBpc29kZV91cmwiOiJodHRwczovL3d3dy55b3Vrbm93LnR2L3AvMjA1MjIwLTItMS8ifSx7InNvdXJjZSI6Iue6v-i3rzE1Iiwic291cmNlX2lkIjoiMyIsImVwaXNvZGVfdXJsIjoiaHR0cHM6Ly93d3cueW91a25vdy50di9wLzIwNTIyMC0zLTEvIn0seyJzb3VyY2UiOiLnur_ot68xNiIsInNvdXJjZV9pZCI6IjMiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8yMDUyMjAtMy0xLyJ9XX0"
},
"player": {
"parse": 0,
"url": "https://play.phimgood.com/20260704/28607_bb24c3e3/index.m3u8",
"valid": false,
"reachable": false,
"status_code": null,
"final_url": "https://play.phimgood.com/20260704/28607_bb24c3e3/index.m3u8",
"reason": "HTTPSConnectionPool(host='play.phimgood.com', port=443): Read timed out. (read timeout=5)"
}
},
{
"spider": "七味",
"file": "七味.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 247.116,
"init": 0.006,
"home": 0.002,
"category": 760.389,
"detail": 8102.837,
"player": 0.003,
"url_check": 132.859,
"total": 9258.466
},
"counts": {
"classes": 5,
"category_videos": 42,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "508123",
"flag": "夸克1",
"play_id": "https://pan.quark.cn/s/f9c778c9a47f"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/f9c778c9a47f",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/f9c778c9a47f",
"reason": null
}
},
{
"spider": "不太灵",
"file": "不太灵.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 224.991,
"init": 0.001,
"home": 10888.169,
"category": 6767.894,
"detail": 1470.212,
"player": 0.004,
"url_check": 1248.306,
"total": 30648.355
},
"counts": {
"classes": 5,
"category_videos": 25,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "2",
"vod_id": "37491182",
"flag": "百度",
"play_id": "https://pan.baidu.com/s/12a4rwaZ_zwsB_YVSMbSYLg?pwd=Yu66"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/12a4rwaZ_zwsB_YVSMbSYLg?pwd=Yu66",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=2a4rwaZ_zwsB_YVSMbSYLg&pwd=Yu66",
"reason": null
}
},
{
"spider": "世纪音乐",
"file": "世纪音乐.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 219.363,
"init": 0.001,
"home": 111.303,
"category": 109.122,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 580.669
},
"counts": {
"classes": 5,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "rank_list",
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "两个BT",
"file": "两个BT.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 252.212,
"init": 0.001,
"home": 0.001,
"category": 439.389,
"detail": 444.37,
"player": 716.259,
"url_check": 7034.627,
"total": 8895.428
},
"counts": {
"classes": 14,
"category_videos": 24,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "zgjun",
"vod_id": "ch4cnej9w",
"flag": "两个BT",
"play_id": "eyJwaWQiOiIvcGxheS9jaDRjbmVqOXciLCJzaWQiOiJjaDRjbmVqOXciLCJuYW1lIjoiMSJ9"
},
"player": {
"parse": 0,
"url": "https://zijieapi.douyinbyte.com/m3u8/81e481dd2b3ea89d7caca24197bb63ae.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://zijieapi.douyinbyte.com/m3u8/81e481dd2b3ea89d7caca24197bb63ae.m3u8",
"reason": null
}
},
{
"spider": "乌云影视",
"file": "乌云影视.txt",
"success": false,
"failed_stage": "url_check",
"error": "HTTPSConnectionPool(host='wooyun.tv', port=443): Read timed out. (read timeout=5)",
"traceback": null,
"timings_ms": {
"module_load": 242.704,
"init": 0.001,
"home": 5806.635,
"category": 10751.184,
"detail": 953.622,
"player": 0.02,
"url_check": 5011.96,
"total": 47689.607
},
"counts": {
"classes": 7,
"category_videos": 24,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "tv_series",
"vod_id": "1105380",
"flag": "乌云影视",
"play_id": "eyJtZWRpYUlkIjogIjExMDUzODAiLCAic2Vhc29uTm8iOiAxLCAiZXBObyI6IDEsICJ2aWRlb0lkIjogNTE4NzU0OTYsICJwbGF5VXJsIjogImh0dHBzOi8vd29veXVuLnR2L2dlbl9vdmVyc2Vhcy9odHRwczovL3YuZmVuZ2JhbzEwLmNvbS92aWRlby9haXphaWJvZXJ0YWxhL2U4MmRmMzliZWVjYy9pbmRleC5tM3U4IiwgIm5hbWUiOiAi56ysMembhiDnrKwx6ZuGIn0"
},
"player": {
"parse": 0,
"url": "https://wooyun.tv/gen_overseas/https://v.fengbao10.com/video/aizaiboertala/e82df39beecc/index.m3u8",
"valid": false,
"reachable": false,
"status_code": null,
"final_url": "https://wooyun.tv/gen_overseas/https://v.fengbao10.com/video/aizaiboertala/e82df39beecc/index.m3u8",
"reason": "HTTPSConnectionPool(host='wooyun.tv', port=443): Read timed out. (read timeout=5)"
}
},
{
"spider": "乐兔",
"file": "乐兔.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 4.662,
"init": 0.001,
"home": 0.0,
"category": 6132.026,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 13466.777
},
"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": 7.08,
"init": 0.001,
"home": 0.001,
"category": 6462.722,
"detail": 8340.368,
"player": 0.003,
"url_check": 1416.428,
"total": 16227.095
},
"counts": {
"classes": 4,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "12685",
"flag": "百度#二小",
"play_id": "https://pan.baidu.com/s/1X2-WHwElykunKxaGT3SmEQ?pwd=8tac"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1X2-WHwElykunKxaGT3SmEQ?pwd=8tac",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=X2-WHwElykunKxaGT3SmEQ&pwd=8tac",
"reason": null
}
},
{
"spider": "人人电影",
"file": "人人电影.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.768,
"init": 0.001,
"home": 0.001,
"category": 6136.314,
"detail": 5818.015,
"player": 0.01,
"url_check": 1072.802,
"total": 13032.592
},
"counts": {
"classes": 4,
"category_videos": 10,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "movie/list_2",
"vod_id": "/movie/2026/0718/60364.html",
"flag": "baidu",
"play_id": "https://pan.baidu.com/s/1j92nzucr-hXf5d7-AM-0Ew?pwd=fdxx"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1j92nzucr-hXf5d7-AM-0Ew?pwd=fdxx",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=j92nzucr-hXf5d7-AM-0Ew&pwd=fdxx",
"reason": null
}
},
{
"spider": "人人视频",
"file": "人人视频.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.007,
"init": 0.0,
"home": 218.375,
"category": 307.56,
"detail": 299.492,
"player": 867.985,
"url_check": 125.138,
"total": 3262.862
},
"counts": {
"classes": 4,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "MOVIE",
"vod_id": "58392",
"flag": "人人专线",
"play_id": "58392@389270"
},
"player": {
"parse": 0,
"url": "https://a0i8iluj31ju04t.302.fledgecloud.com:56782/zj-302-cdn.bwcgee.cn/008555ce81b971f180086723a78f0402/c7d7d97b0e7d4295bdd916d3b158a462-3d48c6e854b5a626644d68fe790900cf-ld.mp4?auth_key=1784456795-acb6e52942fc6ef663f1fff826c6b729-0-6f1b939fe4fe2e0aec58a233f40916e6&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=de3aac9913f147a3bd0065424809fc8a&hevc=false&seasonId=58392",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://a0i8iluj31ju04t.302.fledgecloud.com:56782/zj-302-cdn.bwcgee.cn/008555ce81b971f180086723a78f0402/c7d7d97b0e7d4295bdd916d3b158a462-3d48c6e854b5a626644d68fe790900cf-ld.mp4?auth_key=1784456795-acb6e52942fc6ef663f1fff826c6b729-0-6f1b939fe4fe2e0aec58a233f40916e6&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=de3aac9913f147a3bd0065424809fc8a&hevc=false&seasonId=58392",
"reason": null
}
},
{
"spider": "优酷",
"file": "优酷.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 7.075,
"init": 0.001,
"home": 0.001,
"category": 310.888,
"detail": 549.117,
"player": 0.002,
"url_check": 683.631,
"total": 1551.155
},
"counts": {
"classes": 6,
"category_videos": 23,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "电视剧",
"vod_id": "show:bbaf2557249a4f2a9447",
"flag": "优酷",
"play_id": "https://v.youku.com/v_show/id_XNjUyMTM3MTY0OA==.html"
},
"player": {
"parse": 1,
"url": "https://v.youku.com/v_show/id_XNjUyMTM3MTY0OA==.html",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://v.youku.com/v_show/id_XNjUyMTM3MTY0OA==.html",
"reason": null
}
},
{
"spider": "低端影视",
"file": "低端影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.657,
"init": 0.001,
"home": 0.001,
"category": 1181.018,
"detail": 1574.764,
"player": 0.009,
"url_check": 1068.946,
"total": 28153.399
},
"counts": {
"classes": 4,
"category_videos": 24,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "movie",
"vod_id": "movie/youre-next",
"flag": "播放源 1 (1080P)",
"play_id": "https://vip1.lz-cdn1.com/20220418/2534_5490981d/index.m3u8"
},
"player": {
"parse": 0,
"url": "https://vip1.lz-cdn1.com/20220418/2534_5490981d/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vip1.lz-cdn1.com/20220418/2534_5490981d/index.m3u8",
"reason": null
}
},
{
"spider": "修罗",
"file": "修罗.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.067,
"init": 0.001,
"home": 0.001,
"category": 742.061,
"detail": 8428.265,
"player": 1988.991,
"url_check": 858.597,
"total": 12027.023
},
"counts": {
"classes": 4,
"category_videos": 24,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "movie",
"vod_id": "jingsong/27009",
"flag": "修罗直连",
"play_id": "play/27009-0"
},
"player": {
"parse": 0,
"url": "https://v.xl01.eu.cc/obj/74A32590AEF7DE2B95010FC8D07EE1DD4E4738D125128EAD3CB8D9C95DAF321A",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://lf26-imcloud-file-sign.bytetos.com/tos-cn-o-0000c2428/ocynEGinAJBUYk5XAABBAmKx4Y1QkBBLA8iCfG?x-expires=1784442834&x-signature=9Et0Fk2TlReVyQDvVYQompgs3h0%3D",
"reason": null
}
},
{
"spider": "免费短剧",
"file": "免费短剧.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.749,
"init": 0.011,
"home": 0.001,
"category": 302.828,
"detail": 216.773,
"player": 0.002,
"url_check": 1042.604,
"total": 1566.416
},
"counts": {
"classes": 4,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "2",
"vod_id": "https://20.90kan.cc/?id=64803",
"flag": "百度",
"play_id": "https://pan.baidu.com/s/1li3z5l2nldh-MHGW2ZkP-Q?pwd=6666"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1li3z5l2nldh-MHGW2ZkP-Q?pwd=6666",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=li3z5l2nldh-MHGW2ZkP-Q&pwd=6666",
"reason": null
}
},
{
"spider": "农民",
"file": "农民.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 6.78,
"init": 0.001,
"home": 367.984,
"category": 250.587,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 811.844
},
"counts": {
"classes": 5,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "juji",
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "凡客TV",
"file": "凡客TV.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 4.456,
"init": 0.001,
"home": 0.001,
"category": 6989.27,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 7454.587
},
"counts": {
"classes": 8,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "2",
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "剧圈圈",
"file": "剧圈圈.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 5.558,
"init": 0.001,
"home": 0.001,
"category": 9956.548,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 18263.96
},
"counts": {
"classes": 5,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "juji",
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "剧看",
"file": "剧看.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.683,
"init": 148.224,
"home": 0.084,
"category": 122.018,
"detail": 605.005,
"player": 143.284,
"url_check": 156.094,
"total": 1180.033
},
"counts": {
"classes": 5,
"category_videos": 21,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "2",
"vod_id": "194685",
"flag": "蓝光B线-在线看",
"play_id": "BBA@FYNB-35386463666164393565326333353735ceb363759caaf51875b9072d34a28fd674818856d507defae14d58b687e859a98c09d953bd986db76dacfbf7589eb30ed6dca73cd46e4d3a7be4b3d8460eddba72e0fdad3ebdf0ef2a2b78eb78c39a6d61dcca5f1d79cf69080fdb84f37e2b18cdda3f4f61d64e48ffce79fc472e3af0b6ad511aff6ff30f56c0db67ad3b8111ab5681c86c8e3f2e0686588c81e08b2b57d4addd43100c277278630c29c623ba6a46834a0852b6eee265e4a40338abb1aef416acda9694947e59896583ed0400"
},
"player": {
"parse": 0,
"url": "https://findermp.video.qq.com/251/20302/stodownload?encfilekey=nLWUlAoVvyy6ZHA93I4XPGjUwUwm7lSMx93ASbNcBsh59tpAcHZicFR2KxuVt5Tv1PeVbqIkQMxEjQibmNGJ8R2A&token=cztXnd9GyrGGRyLsP6MppReVFBN4tUjzYsLpia36icpQvEWYSrmibLDicVzpZTMU3NEh48SWvAzXKEmN6ZpykLiaA6qmesCklJoKPNVmianePKFZD9syxVHNQMq3qW4NA6RDeyMCI7F62eSGJ0zcnRpwcgc97I3lsybblJzO8oAiaTtrQ2llhdCJnhB9G2esFYVhiamV2Sy6uNjvqtx1HicicAO5DGphwLibMHWmttZicicdru10iapcc&bizid=1023&dotrans=0&hy=SH&idx=1&m=&uzid=7a166&basedata=CAMSA3hWMCIJCgcKA3hWMBAASLXW8dIG&sign=yoLyP8iALq5V1Q8kEBJPzd0F9ajQ84S_HXM8Kf5owsEdkGewC5UhcRANf0rXoVSxvaELi8URA4tRm1ea6jblYg&filename=BBA.mp4",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://findermp.video.qq.com/251/20302/stodownload?encfilekey=nLWUlAoVvyy6ZHA93I4XPGjUwUwm7lSMx93ASbNcBsh59tpAcHZicFR2KxuVt5Tv1PeVbqIkQMxEjQibmNGJ8R2A&token=cztXnd9GyrGGRyLsP6MppReVFBN4tUjzYsLpia36icpQvEWYSrmibLDicVzpZTMU3NEh48SWvAzXKEmN6ZpykLiaA6qmesCklJoKPNVmianePKFZD9syxVHNQMq3qW4NA6RDeyMCI7F62eSGJ0zcnRpwcgc97I3lsybblJzO8oAiaTtrQ2llhdCJnhB9G2esFYVhiamV2Sy6uNjvqtx1HicicAO5DGphwLibMHWmttZicicdru10iapcc&bizid=1023&dotrans=0&hy=SH&idx=1&m=&uzid=7a166&basedata=CAMSA3hWMCIJCgcKA3hWMBAASLXW8dIG&sign=yoLyP8iALq5V1Q8kEBJPzd0F9ajQ84S_HXM8Kf5owsEdkGewC5UhcRANf0rXoVSxvaELi8URA4tRm1ea6jblYg&filename=BBA.mp4",
"reason": null
}
},
{
"spider": "剧迷",
"file": "剧迷.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.357,
"init": 0.001,
"home": 0.001,
"category": 213.811,
"detail": 11955.26,
"player": 467.092,
"url_check": 952.454,
"total": 37871.496
},
"counts": {
"classes": 6,
"category_videos": 241,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "2",
"vod_id": "463703",
"flag": "gimy",
"play_id": "463703-8-1"
},
"player": {
"parse": 0,
"url": "https://play.phimgood.com/20260627/28315_3c0cddf4/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://play.phimgood.com/20260627/28315_3c0cddf4/index.m3u8",
"reason": null
}
},
{
"spider": "华数影视",
"file": "华数影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.654,
"init": 0.001,
"home": 0.001,
"category": 1092.7,
"detail": 593.602,
"player": 215.955,
"url_check": 372.259,
"total": 2280.084
},
"counts": {
"classes": 5,
"category_videos": 40,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "961",
"vod_id": "961@176980",
"flag": "华数专线",
"play_id": "aHR0cHM6Ly92aWRlby41Zy53YXN1LnR2L3Bjc2FuMjQvcGMvbW92aWUvMjAyNi0wNy8xNS8yMDI2MDcxNTE0MTQ0NDc3MVhrWE91TXNULm1wNA"
},
"player": {
"parse": 0,
"url": "https://pcvideo.5g.wasu.tv/pcsan24/pc/movie/2026-07/15/20260715141444771XkXOuMsT/playlist.m3u8?auth_key=1784442403-0-0-39f632cade18f3d2c0370f05a03d1316",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pcvideo.5g.wasu.tv/pcsan24/pc/movie/2026-07/15/20260715141444771XkXOuMsT/playlist.m3u8?auth_key=1784442403-0-0-39f632cade18f3d2c0370f05a03d1316",
"reason": null
}
},
{
"spider": "博看听书",
"file": "博看听书.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.357,
"init": 0.001,
"home": 2785.251,
"category": 272.319,
"detail": 708.818,
"player": 0.003,
"url_check": 51.922,
"total": 3823.289
},
"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": 6.122,
"init": 0.005,
"home": 415.926,
"category": 86.11,
"detail": 73.073,
"player": 0.003,
"url_check": 168.459,
"total": 750.417
},
"counts": {
"classes": 6,
"category_videos": 21,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "11427",
"flag": "主线路①",
"play_id": "https://v.qq.com/x/cover/mzc00200pntcqa9/n4101d5vavo.html"
},
"player": {
"parse": 0,
"url": "https://v.qq.com/x/cover/mzc00200pntcqa9/n4101d5vavo.html",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://v.qq.com/x/cover/mzc00200pntcqa9/n4101d5vavo.html",
"reason": null
}
},
{
"spider": "双星",
"file": "双星.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.186,
"init": 786.541,
"home": 0.004,
"category": 178.741,
"detail": 171.904,
"player": 0.004,
"url_check": 152.742,
"total": 1293.895
},
"counts": {
"classes": 7,
"category_videos": 15,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "ju",
"vod_id": "/ju/10952.html",
"flag": "夸克",
"play_id": "https://pan.quark.cn/s/a9da867d7c28"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/a9da867d7c28",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/a9da867d7c28",
"reason": null
}
},
{
"spider": "听书",
"file": "听书.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.704,
"init": 79.1,
"home": 0.001,
"category": 162.527,
"detail": 1808.134,
"player": 290.978,
"url_check": 67.91,
"total": 2413.326
},
"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=1ae4b5dfbff059dedda3870247b99476&buy_key=FM&token=5400&timestamp=1784442407&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=1ae4b5dfbff059dedda3870247b99476&buy_key=FM&token=5400&timestamp=1784442407&duration=453",
"reason": null
}
},
{
"spider": "听友FM",
"file": "听友FM.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.96,
"init": 0.001,
"home": 407.87,
"category": 283.985,
"detail": 523.751,
"player": 331.081,
"url_check": 133.863,
"total": 1688.673
},
"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=1784441913&sign=c0c099432c4abc6dc724f621108deb91",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://file.hgeuz.cn/stream/eJwANwDI_wJVZgVKIIrU0ECux-GJ1PSt38ahythCqsH-r9TAQ4rj5F94rOjbQKjk063xyIX2z3hfeGcIHF4BAAD__5DtISY.?ts=1784441913&sign=c0c099432c4abc6dc724f621108deb91",
"reason": null
}
},
{
"spider": "咕咕动漫",
"file": "咕咕动漫.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 9.899,
"init": 0.006,
"home": 5890.331,
"category": 615.241,
"detail": 469.699,
"player": 1767.864,
"url_check": 333.669,
"total": 9087.38
},
"counts": {
"classes": 3,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "6",
"vod_id": "5030",
"flag": "咕咕新线(国内高速)",
"play_id": "parse_api=a2796a09189261bcaf3cc4542d7c5ac2&url=RWo96m6GXJ77to0GUn9Ac2rpTQrBNIOfkkMX1+hwxXyVWJjBlQ1w/Dh2uW1rJqXl&token=|遭到流放的转生重骑士凭借游戏知识大开无双|1"
},
"player": {
"parse": 0,
"url": "https://p26-bot-workflow-sign.byteimg.com/tos-cn-i-mdko3gqilj/32045346ddfe49e583c390b926c26ee0~tplv-mdko3gqilj-image.image?rk3s=81d4c505&x-expires=1815546414&x-signature=j%2BIHj5DlvO3gsejnoIi8mIXL1KQ%3D",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://p26-bot-workflow-sign.byteimg.com/tos-cn-i-mdko3gqilj/32045346ddfe49e583c390b926c26ee0~tplv-mdko3gqilj-image.image?rk3s=81d4c505&x-expires=1815546414&x-signature=j%2BIHj5DlvO3gsejnoIi8mIXL1KQ%3D",
"reason": null
}
},
{
"spider": "四万影视",
"file": "四万影视.txt",
"success": false,
"failed_stage": "category",
"error": "HTTPSConnectionPool(host='40000.me', port=443): Read timed out. (read timeout=10)",
"traceback": null,
"timings_ms": {
"module_load": 3.744,
"init": 0.0,
"home": 0.001,
"category": 10017.07,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 20039.018
},
"counts": {
"classes": 5,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "30",
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "在线之家",
"file": "在线之家.txt",
"success": false,
"failed_stage": "detail",
"error": "详情缺少播放源或播放列表",
"traceback": null,
"timings_ms": {
"module_load": 6.233,
"init": 0.001,
"home": 0.001,
"category": 9476.422,
"detail": 797.198,
"player": 0.0,
"url_check": 0.0,
"total": 30991.266
},
"counts": {
"classes": 6,
"category_videos": 12,
"detail_videos": 1,
"episodes": 0
},
"samples": {
"tid": "2",
"vod_id": "4623",
"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.566,
"init": 0.001,
"home": 0.001,
"category": 15828.573,
"detail": 579.931,
"player": 0.003,
"url_check": 1006.949,
"total": 17423.52
},
"counts": {
"classes": 6,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "9607",
"flag": "百度#多多",
"play_id": "https://pan.baidu.com/s/1LoCfRG5N64SdmgPwCew9UA?pwd=yyds"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1LoCfRG5N64SdmgPwCew9UA?pwd=yyds",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=LoCfRG5N64SdmgPwCew9UA&pwd=yyds",
"reason": null
}
},
{
"spider": "如意资源",
"file": "如意资源.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.923,
"init": 0.001,
"home": 0.006,
"category": 5625.885,
"detail": 364.628,
"player": 0.003,
"url_check": 1977.481,
"total": 39702.314
},
"counts": {
"classes": 6,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "2",
"vod_id": "81055",
"flag": "rym3u8",
"play_id": "https://cdn.ryplay11.com/20260705/202871_09f1ac80/index.m3u8"
},
"player": {
"parse": 0,
"url": "https://cdn.ryplay11.com/20260705/202871_09f1ac80/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://cdn.ryplay11.com/20260705/202871_09f1ac80/index.m3u8",
"reason": null
}
},
{
"spider": "寻川4K",
"file": "寻川4K.txt",
"success": false,
"failed_stage": "home",
"error": "分类列表为空",
"traceback": null,
"timings_ms": {
"module_load": 7.608,
"init": 549.563,
"home": 451.355,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 1008.708
},
"counts": {
"classes": 0,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": null,
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "山楂影视",
"file": "山楂影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.032,
"init": 238.158,
"home": 87.752,
"category": 857.448,
"detail": 614.461,
"player": 740.204,
"url_check": 387.963,
"total": 8495.453
},
"counts": {
"classes": 8,
"category_videos": 40,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "M16",
"vod_id": "825829",
"flag": "超清",
"play_id": "1@77@825829@virtual"
},
"player": {
"parse": "0",
"url": "https://cibn-edge-5g.1ljx.com/cloud/flv/1b56a0afabfac0afb482bbcb2ed0ab50/c9d2fd437311af2353855dd0cb0329ce/6a5c6e30ca8ea.mp4?auth_key=1784442416.8297-1-822782327.info-internet-2-llq-e6eac110e74ad6c17e170f442062124c",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://upos-sz-mirrorhw.bilivideo.com/upgcxcode/60/01/39989740160/39989740160-1-192.mp4?e=ig8euxZM2rNcNbRVhwdVhwdlhWdVhwdVhoNvNC8BqJIzNbfq9rVEuxTEnE8L5F6VnEsSTx0vkX8fqJeYTj_lta53NCM=&trid=00001ac00ec02f704eaeb1998d72cf76f98v&mid=3377833036953&nbs=1&oi=2672511824&gen=playurlv3&os=bcache&deadline=1784448498&uipk=5&platform=html5&og=hw&upsig=dceabe5c79013f72d869a2ec9ef3fc9e&uparams=e,trid,mid,nbs,oi,gen,os,deadline,uipk,platform,og&cdnid=61312&bvc=vod&nettype=0&bw=455097&lrs=0&buvid=1784441298&build=105700&dl=0&f=v_2_aea&qn_dyeid=&allo_id=&agrr=1&orderid=0,4&www.bilibili.com",
"reason": null
}
},
{
"spider": "布布影视",
"file": "布布影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.276,
"init": 0.001,
"home": 0.001,
"category": 684.005,
"detail": 682.719,
"player": 1548.005,
"url_check": 249.595,
"total": 3170.241
},
"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=JOQlfUZXTQPr6xgLcKD6vPZBLYE%3D&Expires=1784442711&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=JOQlfUZXTQPr6xgLcKD6vPZBLYE%3D&Expires=1784442711&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": 4.274,
"init": 0.03,
"home": 166.353,
"category": 266.003,
"detail": 237.776,
"player": 386.54,
"url_check": 130.028,
"total": 1191.51
},
"counts": {
"classes": 30,
"category_videos": 30,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "逆袭",
"vod_id": "110000046951321516",
"flag": "超清",
"play_id": "110000046951321516:1"
},
"player": {
"parse": 0,
"url": "https://tv-video.cdn.drama.9ddm.com/C1/F6/C1F63C79CBF09E493F99B1E0824CEAB2.mp4?timestamp=1784442412&sign=67130f9cb3bb72b0b5ef75bea6473ffa",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://tv-video.cdn.drama.9ddm.com/C1/F6/C1F63C79CBF09E493F99B1E0824CEAB2.mp4?timestamp=1784442412&sign=67130f9cb3bb72b0b5ef75bea6473ffa",
"reason": null
}
},
{
"spider": "怀桑",
"file": "怀桑.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.731,
"init": 0.006,
"home": 493.717,
"category": 191.667,
"detail": 179.686,
"player": 186.906,
"url_check": 121.321,
"total": 1182.625
},
"counts": {
"classes": 8,
"category_videos": 30,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "17816",
"flag": "线·贰",
"play_id": "parse_api=4a720977ebfe3f13296b548e51cc3355&url=11JMk4JSbYeEahoOeECIbtxzjPJhYTujseGsHTjrF6X0Etg3ahsFBJJp6/TAIj7J&token=|我爱你|1"
},
"player": {
"parse": 0,
"url": "https://fffan.wki8.com/hls/ebba4b4c17ed8476b1a3de0c7a38b356.m3u8?token=916a2cf599c5e2db142efeb0cef90d94&time=1784442413&YYNB.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://fffan.wki8.com/hls/ebba4b4c17ed8476b1a3de0c7a38b356.m3u8?token=916a2cf599c5e2db142efeb0cef90d94&time=1784442413&YYNB.m3u8",
"reason": null
}
},
{
"spider": "悯善",
"file": "悯善.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.08,
"init": 0.01,
"home": 197.57,
"category": 175.634,
"detail": 98.562,
"player": 0.019,
"url_check": 1849.699,
"total": 2328.211
},
"counts": {
"classes": 5,
"category_videos": 21,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "35067",
"flag": "高清①",
"play_id": "app88:WyJodHRwczovL3l6enkucGxheS1jZG40LmNvbS8yMDIyMDYxNi8yMDk5MF85YTI0ZWIxMi9pbmRleC5tM3U4IiwiMTA4MHp5ayIsIueZveiJsuS4peWGrCIsIjEiXQ"
},
"player": {
"parse": 0,
"url": "https://yzzy.play-cdn4.com/20220616/20990_9a24eb12/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://yzzy.play-cdn4.com/20220616/20990_9a24eb12/index.m3u8",
"reason": null
}
},
{
"spider": "新片预告",
"file": "新片预告.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.44,
"init": 0.001,
"home": 290.011,
"category": 5670.667,
"detail": 7852.249,
"player": 288.175,
"url_check": 74.744,
"total": 14180.945
},
"counts": {
"classes": 1,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "movlist/",
"vod_id": "/movie/85472",
"flag": "预告片",
"play_id": "/show/195667"
},
"player": {
"parse": 0,
"url": "https://vfx.mtime.cn/Video/2026/07/18/mp4/260718144334515115.mp4",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vfx.mtime.cn/Video/2026/07/18/mp4/260718144334515115.mp4",
"reason": null
}
},
{
"spider": "新韩剧网",
"file": "新韩剧网.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.882,
"init": 0.001,
"home": 0.001,
"category": 6440.771,
"detail": 18442.513,
"player": 4028.176,
"url_check": 1101.646,
"total": 30020.664
},
"counts": {
"classes": 5,
"category_videos": 16,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "3559",
"flag": "在线云播",
"play_id": "3559_1_1"
},
"player": {
"parse": 0,
"url": "https://cdn.yzzyvip-29.com/20260201/16425_49d7d186/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://cdn.yzzyvip-29.com/20260201/16425_49d7d186/index.m3u8",
"reason": null
}
},
{
"spider": "星星短剧",
"file": "星星短剧.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.78,
"init": 0.0,
"home": 0.001,
"category": 505.676,
"detail": 448.799,
"player": 0.003,
"url_check": 68.883,
"total": 1027.718
},
"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": 8.343,
"init": 0.001,
"home": 0.001,
"category": 1453.374,
"detail": 300.868,
"player": 0.008,
"url_check": 237.954,
"total": 2000.993
},
"counts": {
"classes": 7,
"category_videos": 72,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "25",
"vod_id": "8296",
"flag": "115#木偶",
"play_id": "https://115cdn.com/s/swsbjmf36dh?password=sb82"
},
"player": {
"parse": 0,
"url": "https://115cdn.com/s/swsbjmf36dh?password=sb82",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://115cdn.com/s/swsbjmf36dh?password=sb82",
"reason": null
}
},
{
"spider": "樱花动漫",
"file": "樱花动漫.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.495,
"init": 0.001,
"home": 0.001,
"category": 17370.956,
"detail": 9552.065,
"player": 1516.432,
"url_check": 367.289,
"total": 28812.75
},
"counts": {
"classes": 4,
"category_videos": 36,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "guoman",
"vod_id": "19866",
"flag": "高清",
"play_id": "/play/19866-1-1/"
},
"player": {
"parse": 0,
"url": "https://v.lzcdn31.com/20260704/7966_021345e0/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://v.lzcdn31.com/20260704/7966_021345e0/index.m3u8",
"reason": null
}
},
{
"spider": "橘子TV",
"file": "橘子TV.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.602,
"init": 334.186,
"home": 482.997,
"category": 475.799,
"detail": 7177.96,
"player": 1372.078,
"url_check": 379.092,
"total": 26795.888
},
"counts": {
"classes": 8,
"category_videos": 18,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "65",
"vod_id": "418112",
"flag": "一起看APP",
"play_id": "26023185"
},
"player": {
"parse": 0,
"url": "https://tt0923.abc7722.com/m3u87/share/8014729/8209503/20260627/101630/1080/index.m3u8?sign=c9849a4d88dd950e724e22cc52493875&t=1784442444",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://tt0923.abc7722.com/m3u87/share/8014729/8209503/20260627/101630/1080/index.m3u8?sign=c9849a4d88dd950e724e22cc52493875&t=1784442444",
"reason": null
}
},
{
"spider": "橘汁",
"file": "橘汁.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.622,
"init": 266.912,
"home": 322.846,
"category": 147.615,
"detail": 112.692,
"player": 307.123,
"url_check": 1096.265,
"total": 2259.778
},
"counts": {
"classes": 7,
"category_videos": 21,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "20",
"vod_id": "157511",
"flag": "神话蓝光",
"play_id": "eyJ2b2RQbGF5RnJvbSI6ICJxc3ZpcCIsICJwbGF5VXJsIjogInFzdmlwLUdVNU5hV0dNdnF1cDZsOEtZNGM0ZXRrRjZkcGVxWVRmQk82MzdWS2pzR0ViOWlaNXQ3ZWFTUUNjak5qTXd0SUdIN25xV1lucWF4SU1tdzRlSy1IdmloNGtyZjNTckxOS0tHVkhrUEdJOXJyWXRlUEdQSXZ4dFRRR3MxRFRRMktLTUdTZ1FHai1kM3VOb0IyQ1JzQzF2dyJ9"
},
"player": {
"parse": 0,
"url": "https://hxx2026.bbroot.com/data/telegram/2026-07-18/200378509_1c219d81.m3u8?verify=1784442419-WvNpeG2n0nXUhDOeSmS587IQIF15kA6PDaeT3GJyhG0%3D",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://hxx2026.bbroot.com/data/telegram/2026-07-18/200378509_1c219d81.m3u8?verify=1784442419-WvNpeG2n0nXUhDOeSmS587IQIF15kA6PDaeT3GJyhG0%3D",
"reason": null
}
},
{
"spider": "次元城",
"file": "次元城.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 5.286,
"init": 0.001,
"home": 181.268,
"category": 185.326,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 9792.057
},
"counts": {
"classes": 2,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "21",
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "欧歌",
"file": "欧歌.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 11.525,
"init": 0.001,
"home": 0.0,
"category": 5940.562,
"detail": 214.372,
"player": 0.006,
"url_check": 1116.589,
"total": 7283.573
},
"counts": {
"classes": 6,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "28688",
"flag": "百度",
"play_id": "https://pan.baidu.com/s/1LHabgrGhbQ_AKaW2SYQbSA?pwd=8888"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1LHabgrGhbQ_AKaW2SYQbSA?pwd=8888",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=LHabgrGhbQ_AKaW2SYQbSA&pwd=8888",
"reason": null
}
},
{
"spider": "沐辞4K",
"file": "沐辞4K.txt",
"success": false,
"failed_stage": "home",
"error": "分类列表为空",
"traceback": null,
"timings_ms": {
"module_load": 7.166,
"init": 105.27,
"home": 94.6,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 207.237
},
"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": "home",
"error": "分类列表为空",
"traceback": null,
"timings_ms": {
"module_load": 3.799,
"init": 0.0,
"home": 428.25,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 432.199
},
"counts": {
"classes": 0,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": null,
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "泥视频",
"file": "泥视频.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.699,
"init": 0.001,
"home": 0.001,
"category": 7268.06,
"detail": 5937.34,
"player": 5884.382,
"url_check": 2751.778,
"total": 21846.858
},
"counts": {
"classes": 6,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "125260",
"flag": "自营1线",
"play_id": "125260-1-1"
},
"player": {
"parse": 0,
"url": "https://y6fb.vhmzy.com/videos/202607/19/6a5bc43ae1798af8ca591bf3/de09d8/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://y6fb.vhmzy.com/videos/202607/19/6a5bc43ae1798af8ca591bf3/de09d8/index.m3u8",
"reason": null
}
},
{
"spider": "海纳TV",
"file": "海纳TV.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.018,
"init": 0.001,
"home": 9850.305,
"category": 288.282,
"detail": 324.399,
"player": 8048.18,
"url_check": 3616.693,
"total": 22134.834
},
"counts": {
"classes": 4,
"category_videos": 36,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "2",
"vod_id": "45320",
"flag": "海纳云端",
"play_id": "45320-1-1"
},
"player": {
"parse": 0,
"url": "https://jx.hainatv.net/hn/stray/52bd24de3efdd0171a597b11cefff881.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://jx.hainatv.net/hn/stray/52bd24de3efdd0171a597b11cefff881.m3u8",
"reason": null
}
},
{
"spider": "清沅4K",
"file": "清沅4K.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 7.562,
"init": 231.721,
"home": 631.865,
"category": 2706.461,
"detail": 336.64,
"player": 775.729,
"url_check": 207.372,
"total": 20806.036
},
"counts": {
"classes": 7,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "2",
"vod_id": "394702",
"flag": "NBY",
"play_id": "NBY-XMYAES5cc086de456097383d7a2f16712c0a65a8691eabfeca0d8bd23da82723c41ef50c2f1d2e42716a23196e0f162e4641ae|d1e39e9e5c3ed0be2de965658ea2505f@@@NBY"
},
"player": {
"parse": 0,
"url": "http://45.207.210.22:2028/play/f28bbec0a954a25823cd85616bcdde15.m3u8?t=1784442443&sign=f77f3f5f07fd0864520baea602ef008e",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://45.207.210.22:2028/play/f28bbec0a954a25823cd85616bcdde15.m3u8?t=1784442443&sign=f77f3f5f07fd0864520baea602ef008e",
"reason": null
}
},
{
"spider": "滴答影视",
"file": "滴答影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.971,
"init": 0.001,
"home": 0.001,
"category": 6128.598,
"detail": 630.74,
"player": 0.005,
"url_check": 933.361,
"total": 7700.287
},
"counts": {
"classes": 5,
"category_videos": 48,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "3571",
"flag": "百度",
"play_id": "https://pan.baidu.com/s/1u-au6-HNVu6KLxjlW4m4nA?pwd=hy64"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1u-au6-HNVu6KLxjlW4m4nA?pwd=hy64",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=u-au6-HNVu6KLxjlW4m4nA&pwd=hy64",
"reason": null
}
},
{
"spider": "潮流APP",
"file": "潮流APP.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.32,
"init": 0.003,
"home": 84.767,
"category": 98.596,
"detail": 121.821,
"player": 288.022,
"url_check": 78.796,
"total": 676.74
},
"counts": {
"classes": 10,
"category_videos": 12,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "10",
"vod_id": "75852",
"flag": "线路二 (点击换线)",
"play_id": "75852@@0@@0"
},
"player": {
"parse": 0,
"url": "http://210.16.164.82:9090/nby/m3u8/getM3u8?name=jx.91by.top&time=1784442425346&url=NBY-c6d046002ed1d767bee10e93ee7f1ff8.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://210.16.164.82:9090/nby/m3u8/getM3u8?name=jx.91by.top&time=1784442425346&url=NBY-c6d046002ed1d767bee10e93ee7f1ff8.m3u8",
"reason": null
}
},
{
"spider": "灯泡影视",
"file": "灯泡影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.617,
"init": 0.001,
"home": 0.001,
"category": 1421.161,
"detail": 1378.252,
"player": 0.006,
"url_check": 628.783,
"total": 3433.491
},
"counts": {
"classes": 4,
"category_videos": 98,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "",
"vod_id": "7932",
"flag": "百度",
"play_id": "push://https://pan.baidu.com/s/1Lc37qEn__n4rPbFlttjBtg?pwd=a85n"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1Lc37qEn__n4rPbFlttjBtg?pwd=a85n",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/s/1Lc37qEn__n4rPbFlttjBtg?pwd=a85n",
"reason": null
}
},
{
"spider": "热播之家",
"file": "热播之家.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.399,
"init": 0.001,
"home": 8153.83,
"category": 276.547,
"detail": 296.702,
"player": 8426.635,
"url_check": 368.871,
"total": 17529.601
},
"counts": {
"classes": 5,
"category_videos": 12,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "3571",
"flag": "蓝光C",
"play_id": "/play/3571-4-1.html"
},
"player": {
"parse": 0,
"url": "https://cloudcube.wuxi.cn/cloudcube-jswx-person/PERSONCLOUD/92eb2ccd-7213-4d59-afbf-d523312f163d.mp4?x-obs-traffic-limit=819200&X-Amz-Date=20260719T051236Z&X-Amz-Algorithm=AWS4-HMAC-SHA256&x-amz-CLIENTTYPEIN=UNKNOWN&X-Amz-Credential=SZshenghuo/20260719/us-east-1/s3/aws4_request&x-amz-UID=852078578886571&response-content-disposition=attachment%3Bfilename%3DHeartstopper.Forever.2026.1080p.NF.mp4&x-amz-CLIENTNETWORK=UNKNOWN&x-amz-CLOUDTYPEIN=CORP&X-Amz-SignedHeaders=host&X-Amz-Expires=10800&x-amz-FSIZE=2117629753&x-amz-UFID=61458317119383782&X-Amz-Signature=10c0676b8762cc16b071047c26d9cc611d982376ebaf5475cdeded91c0cca90d",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://cloudcube.wuxi.cn/cloudcube-jswx-person/PERSONCLOUD/92eb2ccd-7213-4d59-afbf-d523312f163d.mp4?x-obs-traffic-limit=819200&X-Amz-Date=20260719T051236Z&X-Amz-Algorithm=AWS4-HMAC-SHA256&x-amz-CLIENTTYPEIN=UNKNOWN&X-Amz-Credential=SZshenghuo/20260719/us-east-1/s3/aws4_request&x-amz-UID=852078578886571&response-content-disposition=attachment%3Bfilename%3DHeartstopper.Forever.2026.1080p.NF.mp4&x-amz-CLIENTNETWORK=UNKNOWN&x-amz-CLOUDTYPEIN=CORP&X-Amz-SignedHeaders=host&X-Amz-Expires=10800&x-amz-FSIZE=2117629753&x-amz-UFID=61458317119383782&X-Amz-Signature=10c0676b8762cc16b071047c26d9cc611d982376ebaf5475cdeded91c0cca90d",
"reason": null
}
},
{
"spider": "爱壹帆",
"file": "爱壹帆.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.342,
"init": 0.001,
"home": 0.001,
"category": 1305.549,
"detail": 1183.298,
"player": 8032.736,
"url_check": 191.759,
"total": 10719.147
},
"counts": {
"classes": 4,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "125260",
"flag": "自营1线",
"play_id": "125260-1-1"
},
"player": {
"parse": 0,
"url": "https://y6fb.vhmzy.com/videos/202607/19/6a5bc43ae1798af8ca591bf3/de09d8/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://y6fb.vhmzy.com/videos/202607/19/6a5bc43ae1798af8ca591bf3/de09d8/index.m3u8",
"reason": null
}
},
{
"spider": "爱奇艺",
"file": "爱奇艺.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 14.477,
"init": 0.02,
"home": 3214.388,
"category": 780.125,
"detail": 218.619,
"player": 0.001,
"url_check": 156.898,
"total": 4385.571
},
"counts": {
"classes": 11,
"category_videos": 60,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "pcw:1",
"vod_id": "pcw:1$3993682946415500",
"flag": "爱奇艺",
"play_id": "http://www.iqiyi.com/v_13jun9w5hpc.html"
},
"player": {
"parse": 1,
"url": "http://www.iqiyi.com/v_13jun9w5hpc.html",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://www.iqiyi.com/v_13jun9w5hpc.html",
"reason": null
}
},
{
"spider": "片库",
"file": "片库.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 10.449,
"init": 0.107,
"home": 0.001,
"category": 15474.23,
"detail": 0.002,
"player": 0.002,
"url_check": 220.99,
"total": 15706.277
},
"counts": {
"classes": 7,
"category_videos": 20,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "genre",
"vod_id": "msearch:movie-1108427",
"flag": "Test",
"play_id": "Test"
},
"player": {
"parse": 0,
"url": "https://v.qq.com/",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://v.qq.com/",
"reason": null
}
},
{
"spider": "独播库",
"file": "独播库.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 13.388,
"init": 0.001,
"home": 0.001,
"category": 8070.751,
"detail": 408.518,
"player": 418.508,
"url_check": 5676.147,
"total": 14588.115
},
"counts": {
"classes": 6,
"category_videos": 48,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "index",
"vod_id": "147607",
"flag": "独播库",
"play_id": "147607-1-1"
},
"player": {
"parse": 0,
"url": "https://vid.dbokutv.com/20260713/ppotb62-S71lT2yliZApDBSvkYzBsrmD3fpCJ4nBt1sRsGlQ79nBNTgScPcBJ0nBJ0oC3GrEJ0uH2vjS34/chunklist.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vid.dbokutv.com/20260713/ppotb62-S71lT2yliZApDBSvkYzBsrmD3fpCJ4nBt1sRsGlQ79nBNTgScPcBJ0nBJ0oC3GrEJ0uH2vjS34/chunklist.m3u8",
"reason": null
}
},
{
"spider": "猫猫4K",
"file": "猫猫4K.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 7.205,
"init": 201.171,
"home": 303.618,
"category": 159.823,
"detail": 152.166,
"player": 135.502,
"url_check": 743.598,
"total": 13067.712
},
"counts": {
"classes": 5,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "2",
"vod_id": "197101",
"flag": "火猫备用T",
"play_id": "https://vip.dytt-tvs.com/20260711/27712_c30729ad/index.m3u8@@@dyttm3u8"
},
"player": {
"parse": 0,
"url": "https://vip.dytt-tvs.com/20260711/27712_c30729ad/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://play2.jimxtc.com/20260711/27712_c30729ad/index.m3u8",
"reason": null
}
},
{
"spider": "王子4K",
"file": "王子4K.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 13.511,
"init": 0.003,
"home": 530.112,
"category": 462.379,
"detail": 8202.759,
"player": 0.009,
"url_check": 1863.107,
"total": 11072.65
},
"counts": {
"classes": 5,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "409142",
"flag": "YZ线路",
"play_id": "YZ线路@@direct@@,https://cdn.yzzy28-play.com/20260719/32526_a38c4432/index.m3u8,token+,1,0"
},
"player": {
"parse": 0,
"url": "https://cdn.yzzy28-play.com/20260719/32526_a38c4432/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://cdn.yzzy28-play.com/20260719/32526_a38c4432/index.m3u8",
"reason": null
}
},
{
"spider": "玩偶哥哥",
"file": "玩偶哥哥.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.695,
"init": 0.001,
"home": 0.001,
"category": 6474.224,
"detail": 650.048,
"player": 0.004,
"url_check": 1008.136,
"total": 8139.478
},
"counts": {
"classes": 8,
"category_videos": 70,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "44",
"vod_id": "128695",
"flag": "百度#玩偶哥哥",
"play_id": "https://pan.baidu.com/s/13bTSaiKEe9hfRb2PJ7oCSA?pwd=wogg"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/13bTSaiKEe9hfRb2PJ7oCSA?pwd=wogg",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=3bTSaiKEe9hfRb2PJ7oCSA&pwd=wogg",
"reason": null
}
},
{
"spider": "玩偶聚合",
"file": "玩偶聚合.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 48.886,
"init": 0.001,
"home": 3.214,
"category": 2320.292,
"detail": 773.684,
"player": 0.004,
"url_check": 1172.79,
"total": 10519.259
},
"counts": {
"classes": 11,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "site_duoduo",
"vod_id": "site:duoduo:/index.php/vod/detail/id/9607.html",
"flag": "百度#多多",
"play_id": "https://pan.baidu.com/s/1LoCfRG5N64SdmgPwCew9UA?pwd=yyds"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1LoCfRG5N64SdmgPwCew9UA?pwd=yyds",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=LoCfRG5N64SdmgPwCew9UA&pwd=yyds",
"reason": null
}
},
{
"spider": "瓜子",
"file": "瓜子.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.739,
"init": 0.001,
"home": 0.016,
"category": 634.956,
"detail": 5152.674,
"player": 449.872,
"url_check": 553.978,
"total": 6799.324
},
"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://app.wanglaoshi.xn--fiqs8s/hls/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://app.wanglaoshi.xn--fiqs8s/hls/index.m3u8",
"reason": null
}
},
{
"spider": "甜圈漫剧",
"file": "甜圈漫剧.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 4.146,
"init": 87.037,
"home": 0.009,
"category": 328.286,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 733.62
},
"counts": {
"classes": 67,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "热剧榜",
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "电影人生",
"file": "电影人生.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.317,
"init": 0.002,
"home": 0.001,
"category": 900.977,
"detail": 5223.708,
"player": 842.894,
"url_check": 507.473,
"total": 16083.671
},
"counts": {
"classes": 5,
"category_videos": 24,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "dianshiju",
"vod_id": "wzzy-42727/6a5a24bffd8186d70da1aca7.html",
"flag": "lzm3u8",
"play_id": "{\"title\":\"第01集\",\"origin\":\"lzm3u8\",\"page\":\"https://dyrs7.vip/wzzy-42727-6a5a24bffd8186d70da1aca7.html?origin=lzm3u8&p=0\",\"vodName\":\"愿望地图\",\"pic\":\"https://dyrs7.vip/img/id/6a5a24bffd8186d70da1aca7.jpg\"}"
},
"player": {
"parse": 0,
"url": "https://v.lfthirtytwo.com/20260717/8709_e65851a5/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://v.lfthirtytwo.com/20260717/8709_e65851a5/index.m3u8",
"reason": null
}
},
{
"spider": "电影天堂",
"file": "电影天堂.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.982,
"init": 165.537,
"home": 349.588,
"category": 153.93,
"detail": 158.36,
"player": 322.975,
"url_check": 457.468,
"total": 1613.55
},
"counts": {
"classes": 9,
"category_videos": 21,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "2",
"vod_id": "408917",
"flag": "超级无敌4k",
"play_id": "eyJ2b2RQbGF5RnJvbSI6ICJieXRlZGFuY2UiLCAicGxheVVybCI6ICJ2MGQ1YWFnMTAwMDJkOTR0c3B2b2c2NXBpczdwajcxMCJ9"
},
"player": {
"parse": 0,
"url": "https://v9-forum.picovr.com/3915e4e1d4403e70e14faa08ae9d9ff5/6a5dca99/video/tos/cn/tos-cn-v-672a0a/ocEDqSVzvendaBCLdE5A1ZUJEFNMJn4IhgfFp5/?a=264482&ch=0&cr=0&dr=0&er=0&lr=default&cd=0%7C0%7C0%7C0&br=1114&bt=1114&cs=0&ds=3&ft=GjcLGCXMBBkq8ZmoJ1Rxk_vjVQWw&mime_type=video_mp4&qs=0&rc=Omc6Zzg1MzM5Z2VnZTgzN0BpMzpzdnM5cnN3PDUzNGQ4M0AxNDQzNmNgNTQxNDAuMDE1YSMuZzRmMmRzcDFhLS1kXmFzcw%3D%3D&btag=80000e00038000&dy_q=1784442444&feature_id=f0150a16a324336cda5d6dd0b69ed299&l=202607191427245348E3C7DEAC5679BD99",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://v9-forum.picovr.com/3915e4e1d4403e70e14faa08ae9d9ff5/6a5dca99/video/tos/cn/tos-cn-v-672a0a/ocEDqSVzvendaBCLdE5A1ZUJEFNMJn4IhgfFp5/?a=264482&ch=0&cr=0&dr=0&er=0&lr=default&cd=0%7C0%7C0%7C0&br=1114&bt=1114&cs=0&ds=3&ft=GjcLGCXMBBkq8ZmoJ1Rxk_vjVQWw&mime_type=video_mp4&qs=0&rc=Omc6Zzg1MzM5Z2VnZTgzN0BpMzpzdnM5cnN3PDUzNGQ4M0AxNDQzNmNgNTQxNDAuMDE1YSMuZzRmMmRzcDFhLS1kXmFzcw%3D%3D&btag=80000e00038000&dy_q=1784442444&feature_id=f0150a16a324336cda5d6dd0b69ed299&l=202607191427245348E3C7DEAC5679BD99",
"reason": null
}
},
{
"spider": "百度短剧",
"file": "百度短剧.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.483,
"init": 0.001,
"home": 392.064,
"category": 254.958,
"detail": 596.24,
"player": 221.378,
"url_check": 142.175,
"total": 1611.175
},
"counts": {
"classes": 29,
"category_videos": 9,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "3",
"vod_id": "10284595040762396431",
"flag": "百度短剧",
"play_id": "4723147730512611191|||10284595040762396431"
},
"player": {
"parse": 0,
"url": "http://vd3.bdstatic.com/mda-rgu31fx13xnschwc/1080p/mv_cae264_backtrack_1080p_normal/1753858859061604699/mda-rgu31fx13xnschwc.mp4?v_from_s=haokan-ui-video-hna",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://vd3.bdstatic.com/mda-rgu31fx13xnschwc/1080p/mv_cae264_backtrack_1080p_normal/1753858859061604699/mda-rgu31fx13xnschwc.mp4?v_from_s=haokan-ui-video-hna",
"reason": null
}
},
{
"spider": "盘Ta",
"file": "盘Ta.txt",
"success": false,
"failed_stage": "unexpected",
"error": "('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))",
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 488, in _make_request\n raise new_e\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 464, in _make_request\n self._validate_conn(conn)\n ~~~~~~~~~~~~~~~~~~~^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 1093, in _validate_conn\n conn.connect()\n ~~~~~~~~~~~~^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 796, in connect\n sock_and_verified = _ssl_wrap_socket_and_match_hostname(\n sock=sock,\n ...<14 lines>...\n assert_fingerprint=self.assert_fingerprint,\n )\nConnectionResetError: [Errno 104] Connection reset by peer\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/requests/adapters.py\", line 645, in send\n resp = conn.urlopen(\n method=request.method,\n ...<9 lines>...\n chunked=chunked,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 841, in urlopen\n retries = retries.increment(\n method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/retry.py\", line 490, in increment\n raise reraise(type(error), error, _stacktrace)\n ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/util.py\", line 38, in reraise\n raise value.with_traceback(tb)\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\nurllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 756, in validate_spider_file\n home_result = _run_timed(result[\"timings_ms\"], \"home\", spider.homeContent, clock, False)\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 318, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/盘Ta.txt\", line 230, in homeContent\n File \"/home/harold/workspace/tvbox-resources/py/盘Ta.txt\", line 70, in _request_html\n File \"/home/harold/workspace/atv-spiders/py/base/spider.py\", line 145, in fetch\n rsp = requests.get(url, params=params, cookies=cookies, headers=headers, timeout=timeout, verify=verify,\n stream=stream, allow_redirects=allow_redirects)\nrequests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n",
"timings_ms": {
"module_load": 4.841,
"init": 0.001,
"home": 3385.471,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 3392.02
},
"counts": {
"classes": 0,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": null,
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "盘聚",
"file": "盘聚.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.601,
"init": 0.001,
"home": 0.001,
"category": 273.45,
"detail": 279.387,
"player": 303.503,
"url_check": 1438.013,
"total": 2300.599
},
"counts": {
"classes": 4,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "/",
"vod_id": "129450",
"flag": "百度1",
"play_id": "push://https://www.seedhub.cc/link_start/?redirect_to=pan_id_698322&movie_title=【野狗骨头】【4K+1080P】【中文字幕】【无广告】 更新于 今天"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/12oEDdD3KWO9GWPXeAsgWVQ?pwd=9lx6",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=2oEDdD3KWO9GWPXeAsgWVQ&pwd=9lx6",
"reason": null
}
},
{
"spider": "盘链",
"file": "盘链.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.651,
"init": 0.078,
"home": 0.001,
"category": 1662.581,
"detail": 429.406,
"player": 671.816,
"url_check": 470.484,
"total": 3243.428
},
"counts": {
"classes": 5,
"category_videos": 30,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "0",
"vod_id": "-75519",
"flag": "123",
"play_id": "push://https://www.xn--vzy265d.cc/api/go.php?t=zIHjpKPPy4NkgJvFSiL76ol1akMhWbX51SNcwVWhqg9HB8nK7Ry7ZnfoYS3eNXsiRKAwaID8-vh8pYxpRVjYu3rhjOODdIwoLuY4iGRkcCdt-tq1wKMc-Zgnw71MTBr-f7bDwONlwCoVMpYr7Uc3XTmJ8VgJHfBmnrk9RJ5N11dTFyn7b80MATQD4SsADoAKi4SWaIUZ90VwUyqgQNKltg"
},
"player": {
"parse": 0,
"url": "https://1856539457.share.123pan.cn/123pan/ZUtrvd-Occ4H",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://www.123pan.com",
"reason": null
}
},
{
"spider": "短剧优选",
"file": "短剧优选.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 24.639,
"init": 511.543,
"home": 0.105,
"category": 717.112,
"detail": 303.068,
"player": 0.003,
"url_check": 41.154,
"total": 1598.337
},
"counts": {
"classes": 13,
"category_videos": 69,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "七猫",
"vod_id": "七猫@9193",
"flag": "七猫短剧",
"play_id": "https://cdn-vod-playlet.wtzw.com/asset/1767000637e5ae01741cf0fc70b9b21b/play_multi_video/6f7310c287644b7c813ab8e2eb7a4a0c/950b0e87416d186247c24505473f5853.m3u8"
},
"player": {
"parse": 0,
"url": "https://cdn-vod-playlet.wtzw.com/asset/1767000637e5ae01741cf0fc70b9b21b/play_multi_video/6f7310c287644b7c813ab8e2eb7a4a0c/950b0e87416d186247c24505473f5853.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://cdn-vod-playlet.wtzw.com/asset/1767000637e5ae01741cf0fc70b9b21b/play_multi_video/6f7310c287644b7c813ab8e2eb7a4a0c/950b0e87416d186247c24505473f5853.m3u8",
"reason": null
}
},
{
"spider": "短剧网",
"file": "短剧网.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 4.631,
"init": 0.001,
"home": 0.0,
"category": 240.487,
"detail": 1188.628,
"player": 0.005,
"url_check": 164.953,
"total": 1599.27
},
"counts": {
"classes": 2,
"category_videos": 20,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "https://sm3.cc/?id=64783",
"flag": "夸克",
"play_id": "https://pan.quark.cn/s/7a967449161d"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/7a967449161d",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/7a967449161d",
"reason": null
}
},
{
"spider": "磁力熊",
"file": "磁力熊.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.089,
"init": 0.002,
"home": 0.005,
"category": 698.319,
"detail": 571.441,
"player": 0.004,
"url_check": 0.055,
"total": 1276.435
},
"counts": {
"classes": 24,
"category_videos": 16,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "movie",
"vod_id": "movie/4726",
"flag": "磁力·1080P",
"play_id": "magnet:?xt=urn:btih:E0A8D0EB86D836837D309A120B8F17762587B62A"
},
"player": {
"parse": 0,
"url": "magnet:?xt=urn:btih:E0A8D0EB86D836837D309A120B8F17762587B62A",
"valid": true,
"reachable": null,
"status_code": null,
"final_url": "magnet:?xt=urn:btih:E0A8D0EB86D836837D309A120B8F17762587B62A",
"reason": "非 HTTP 地址,按协议格式通过"
}
},
{
"spider": "糯米",
"file": "糯米.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 6.481,
"init": 0.001,
"home": 267.342,
"category": 276.941,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 833.424
},
"counts": {
"classes": 5,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "juji",
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "网易云音乐",
"file": "网易云音乐.txt",
"success": false,
"failed_stage": "player",
"error": "playerContent 未返回播放地址",
"traceback": null,
"timings_ms": {
"module_load": 3.927,
"init": 0.001,
"home": 762.521,
"category": 431.75,
"detail": 0.006,
"player": 377.876,
"url_check": 0.0,
"total": 2353.69
},
"counts": {
"classes": 62,
"category_videos": 100,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "/discover/toplist?id=3779629",
"vod_id": "3399839173@甲乙丙丁 (你我怎么两清)@李佳薇👉MP3",
"flag": "网易云音乐",
"play_id": "3399839173"
},
"player": {
"parse": 0,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "耐视点播",
"file": "耐视点播.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 5.229,
"init": 0.001,
"home": 0.001,
"category": 1618.016,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 3117.385
},
"counts": {
"classes": 6,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "2",
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "腾讯视频",
"file": "腾讯视频.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.15,
"init": 0.001,
"home": 131.704,
"category": 246.242,
"detail": 953.915,
"player": 0.002,
"url_check": 205.269,
"total": 1546.144
},
"counts": {
"classes": 7,
"category_videos": 12,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "choice",
"vod_id": "choice$mzc00200nfe7al6",
"flag": "腾讯视频",
"play_id": "https://v.qq.com/x/cover/mzc00200nfe7al6/x4102k19oq6.html"
},
"player": {
"parse": 1,
"url": "https://v.qq.com/x/cover/mzc00200nfe7al6/x4102k19oq6.html",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://v.qq.com/x/cover/mzc00200nfe7al6/x4102k19oq6.html",
"reason": null
}
},
{
"spider": "至臻",
"file": "至臻.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 10.115,
"init": 0.001,
"home": 0.001,
"category": 1702.938,
"detail": 245.648,
"player": 0.004,
"url_check": 1062.849,
"total": 3022.212
},
"counts": {
"classes": 7,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "26",
"vod_id": "15605",
"flag": "百度#至臻",
"play_id": "https://pan.baidu.com/s/1CfzXG_EH2CogCjYKrwWqtw?pwd=xer3"
},
"player": {
"parse": 0,
"url": "https://pan.baidu.com/s/1CfzXG_EH2CogCjYKrwWqtw?pwd=xer3",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.baidu.com/share/init?surl=CfzXG_EH2CogCjYKrwWqtw&pwd=xer3",
"reason": null
}
},
{
"spider": "苹果",
"file": "苹果.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.857,
"init": 178.697,
"home": 341.322,
"category": 115.211,
"detail": 90.211,
"player": 242.592,
"url_check": 181.313,
"total": 1155.857
},
"counts": {
"classes": 9,
"category_videos": 21,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "2",
"vod_id": "854818",
"flag": "独家4K",
"play_id": "eyJ2b2RQbGF5RnJvbSI6ICJmeW0zdTgiLCAicGxheVVybCI6ICJGWU5CLTdfOU5xSW5kMUtzVFdQNFNkNnJjTUdZQ2EwUjVGR3ZYR2txZXVEQjJzazc5RHI5RXVDSUR5M20wR3VZNHRaTGVIb1JaNDYtb0Z0ZlRPWi05MVoyUHhoaWo1WnhKNU1SN3ZQbDFoR2YybS1COVJkT3JfbkZVTTl6T1ZLRmJxT1hteTJlbnZNejl0dHdGbWZqZUs1ZWJkQSJ9"
},
"player": {
"parse": 0,
"url": "https://hls.yeegv.cn:2828/hls/209cfd0fa5076a79d9aa3969302e0584.m3u8?token=d33cf03d88810eb67521d85f3bee42e57e6dfbf06494a24f71f8da91835adaf343a9b0bf5c2ece21e07c061b",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://hls.yeegv.cn:2828/hls/209cfd0fa5076a79d9aa3969302e0584.m3u8?token=d33cf03d88810eb67521d85f3bee42e57e6dfbf06494a24f71f8da91835adaf343a9b0bf5c2ece21e07c061b",
"reason": null
}
},
{
"spider": "茶杯狐",
"file": "茶杯狐.txt",
"success": false,
"failed_stage": "home",
"error": "分类列表为空",
"traceback": null,
"timings_ms": {
"module_load": 6.122,
"init": 0.001,
"home": 676.926,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 683.271
},
"counts": {
"classes": 0,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": null,
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "薯条",
"file": "薯条.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.882,
"init": 224.356,
"home": 321.411,
"category": 124.35,
"detail": 110.116,
"player": 258.757,
"url_check": 112.041,
"total": 1157.631
},
"counts": {
"classes": 9,
"category_videos": 21,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "2",
"vod_id": "854818",
"flag": "独家4K",
"play_id": "eyJ2b2RQbGF5RnJvbSI6ICJmeW0zdTgiLCAicGxheVVybCI6ICJGWU5CLTdfOU5xSW5kMUtzVFdQNFNkNnJjTUdZQ2EwUjVGR3ZYR2txZXVEQjJzazc5RHI5RXVDSUR5M20wR3VZNHRaTGVIb1JaNDYtb0Z0ZlRPWi05MVoyUHhoaWo1WnhKNU1SN3ZQbDFoR2YybS1COVJkT3JfbkZVTTl6T1ZLRmJxT1hteTJlbnZNejl0dHdGbWZqZUs1ZWJkQSJ9"
},
"player": {
"parse": 0,
"url": "https://hls.yeegv.cn:2828/hls/209cfd0fa5076a79d9aa3969302e0584.m3u8?token=d33cf03d88810eb67521d85f3bee42e57e6dfbf06494a24f71f8da91835adaf343a9b0bf5c2ece21e07c061b",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://hls.yeegv.cn:2828/hls/209cfd0fa5076a79d9aa3969302e0584.m3u8?token=d33cf03d88810eb67521d85f3bee42e57e6dfbf06494a24f71f8da91835adaf343a9b0bf5c2ece21e07c061b",
"reason": null
}
},
{
"spider": "虎斑",
"file": "虎斑.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.423,
"init": 0.001,
"home": 0.001,
"category": 2321.183,
"detail": 2539.835,
"player": 0.025,
"url_check": 148.654,
"total": 5018.641
},
"counts": {
"classes": 7,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "488127",
"flag": "夸克#虎斑",
"play_id": "https://pan.quark.cn/s/7a1c7729a56b"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/7a1c7729a56b",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/7a1c7729a56b",
"reason": null
}
},
{
"spider": "蜗牛",
"file": "蜗牛.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 10.298,
"init": 0.002,
"home": 0.001,
"category": 632.996,
"detail": 506.314,
"player": 0.012,
"url_check": 419.131,
"total": 1569.723
},
"counts": {
"classes": 4,
"category_videos": 72,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "34638",
"flag": "115#蜗牛",
"play_id": "https://115.com/s/swzn0oe3fwo?password=8888&"
},
"player": {
"parse": 0,
"url": "https://115.com/s/swzn0oe3fwo?password=8888&",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://115cdn.com/s/swzn0oe3fwo?password=8888&",
"reason": null
}
},
{
"spider": "蜡笔",
"file": "蜡笔.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 19.128,
"init": 0.001,
"home": 0.001,
"category": 281.756,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 1134.874
},
"counts": {
"classes": 7,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "1",
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "蜻蜓FM",
"file": "蜻蜓FM.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.697,
"init": 0.001,
"home": 498.814,
"category": 491.924,
"detail": 0.008,
"player": 0.004,
"url_check": 342.217,
"total": 1336.986
},
"counts": {
"classes": 44,
"category_videos": 12,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "217",
"vod_id": "1259@@广东珠江经济电台@@https://pic.qtfm.cn/2015/0209/20150209212831195.jpg@@正在直播: 乡村振兴看广东",
"flag": "蜻蜓FM",
"play_id": "1259"
},
"player": {
"parse": 0,
"url": "http://lhttp.qtfm.cn/live/1259/64k.mp3",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://lhttp.qtfm.cn/live/1259/64k.mp3",
"reason": null
}
},
{
"spider": "袋鼠影视",
"file": "袋鼠影视.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 7.447,
"init": 0.001,
"home": 0.003,
"category": 1219.44,
"detail": 593.982,
"player": 565.483,
"url_check": 1058.068,
"total": 3445.131
},
"counts": {
"classes": 4,
"category_videos": 36,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "419973",
"flag": "蓝光专线4",
"play_id": "play/419973-1-0"
},
"player": {
"parse": 0,
"url": "https://play.phimgood.com/20260718/29082_2f3b82f3/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://play.phimgood.com/20260718/29082_2f3b82f3/index.m3u8",
"reason": null
}
},
{
"spider": "观影",
"file": "观影.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 11.236,
"init": 0.006,
"home": 0.002,
"category": 0.004,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 12.534
},
"counts": {
"classes": 3,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "tv",
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "视界",
"file": "视界.txt",
"success": false,
"failed_stage": "unexpected",
"error": "HTTPSConnectionPool(host='cms140.yhg.one', port=443): Read timed out. (read timeout=10)",
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 464, in _make_request\n self._validate_conn(conn)\n ~~~~~~~~~~~~~~~~~~~^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 1093, in _validate_conn\n conn.connect()\n ~~~~~~~~~~~~^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 796, in connect\n sock_and_verified = _ssl_wrap_socket_and_match_hostname(\n sock=sock,\n ...<14 lines>...\n assert_fingerprint=self.assert_fingerprint,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 975, in _ssl_wrap_socket_and_match_hostname\n ssl_sock = ssl_wrap_socket(\n sock=sock,\n ...<8 lines>...\n tls_in_tls=tls_in_tls,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/ssl_.py\", line 483, in ssl_wrap_socket\n ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls, server_hostname)\nTimeoutError: _ssl.c:1063: The handshake operation timed out\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/requests/adapters.py\", line 645, in send\n resp = conn.urlopen(\n method=request.method,\n ...<9 lines>...\n chunked=chunked,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 841, in urlopen\n retries = retries.increment(\n method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/retry.py\", line 490, in increment\n raise reraise(type(error), error, _stacktrace)\n ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/util.py\", line 39, in reraise\n raise value\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\nurllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='cms140.yhg.one', port=443): Read timed out. (read timeout=10)\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 756, in validate_spider_file\n home_result = _run_timed(result[\"timings_ms\"], \"home\", spider.homeContent, clock, False)\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 318, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/视界.txt\", line 72, in homeContent\n File \"/home/harold/workspace/tvbox-resources/py/视界.txt\", line 400, in _ensure_init_payload\n File \"/home/harold/workspace/tvbox-resources/py/视界.txt\", line 199, in _post_api\nrequests.exceptions.ReadTimeout: HTTPSConnectionPool(host='cms140.yhg.one', port=443): Read timed out. (read timeout=10)\n",
"timings_ms": {
"module_load": 14.602,
"init": 0.001,
"home": 10014.764,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 10031.053
},
"counts": {
"classes": 0,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": null,
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "资源聚合",
"file": "资源聚合.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 9.429,
"init": 0.029,
"home": 295.722,
"category": 661.43,
"detail": 314.223,
"player": 0.003,
"url_check": 1517.58,
"total": 2799.062
},
"counts": {
"classes": 4,
"category_videos": 20,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "cms:feifan:98684",
"flag": "非凡资源",
"play_id": "https://vip.ffzy-plays.com/20260718/55917_c6d410f5/index.m3u8"
},
"player": {
"parse": 0,
"url": "https://vip.ffzy-plays.com/20260718/55917_c6d410f5/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vip.ffzy-plays.com/20260718/55917_c6d410f5/index.m3u8",
"reason": null
}
},
{
"spider": "路漫漫",
"file": "路漫漫.txt",
"success": false,
"failed_stage": "category",
"error": "分类视频列表为空",
"traceback": null,
"timings_ms": {
"module_load": 5.436,
"init": 0.001,
"home": 0.001,
"category": 358.814,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 683.369
},
"counts": {
"classes": 6,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": "7",
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "酷我听书",
"file": "酷我听书.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.163,
"init": 0.001,
"home": 387.83,
"category": 96.144,
"detail": 3326.578,
"player": 140.61,
"url_check": 46.059,
"total": 4005.437
},
"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/b13439397d1f5f2ba37eb9e4bd226e00/6a5c6e53/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/b13439397d1f5f2ba37eb9e4bd226e00/6a5c6e53/resource/30106/trackmedia/long/M500002ZiI9a1sctnS.mp3?bitrate$128&format$mp3&source$kwplayerhd_ar_4.3.0.8_tianbao_T1A_qirui.apk&type$convert_url_with_sign&user$&loginUid$",
"reason": null
}
},
{
"spider": "酷狗音乐",
"file": "酷狗音乐.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.555,
"init": 404.97,
"home": 275.909,
"category": 309.355,
"detail": 286.258,
"player": 391.332,
"url_check": 307.676,
"total": 1986.069
},
"counts": {
"classes": 12,
"category_videos": 15,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "recommend",
"vod_id": "752791315",
"flag": "酷狗音乐",
"play_id": "752791315"
},
"player": {
"parse": 0,
"url": "http://fsdg360.tx.kugou.com/202607191427/32aea7ba5ade026e4aa4268622df51b2/v3/46caf64aa0570c103b2c47f281042192/yp/full/ap1013_us0_mic85f71c379c462618de1399950957c33_pi6101_mx752791315_qumultitrack_s503431068.mkv?ft=car_203559_10049&fts=b05bb02d44717442054bac7624ed9a29&ext=.mkv",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://fsdg360.tx.kugou.com/202607191427/32aea7ba5ade026e4aa4268622df51b2/v3/46caf64aa0570c103b2c47f281042192/yp/full/ap1013_us0_mic85f71c379c462618de1399950957c33_pi6101_mx752791315_qumultitrack_s503431068.mkv?ft=car_203559_10049&fts=b05bb02d44717442054bac7624ed9a29&ext=.mkv",
"reason": null
}
},
{
"spider": "金牌",
"file": "金牌.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 5.493,
"init": 0.001,
"home": 1717.845,
"category": 207.018,
"detail": 195.621,
"player": 190.178,
"url_check": 155.149,
"total": 2471.973
},
"counts": {
"classes": 6,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "145512",
"flag": "金牌线路",
"play_id": "145512@1298790"
},
"player": {
"parse": 0,
"url": "https://ppvod01.kqgfbs.com/splitOut/20260705/1342569/V20260705110331438911342569/index.m3u8?t=6a5c9881&whip=222.210.164.211&sign=84a343835c8c94dc77623fb25939c5779776f18f",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://ppvod01.kqgfbs.com/splitOut/20260705/1342569/V20260705110331438911342569/index.m3u8?t=6a5c9881&whip=222.210.164.211&sign=84a343835c8c94dc77623fb25939c5779776f18f",
"reason": null
}
},
{
"spider": "长泽",
"file": "长泽.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.801,
"init": 0.017,
"home": 146.914,
"category": 104.685,
"detail": 80.956,
"player": 0.024,
"url_check": 2019.195,
"total": 2359.248
},
"counts": {
"classes": 18,
"category_videos": 21,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "20",
"vod_id": "93025",
"flag": "FF有广",
"play_id": "app88:WyJodHRwczovL3ZpcC5mZnp5LXBsYXlzLmNvbS8yMDI2MDcxNy81NTg2OV8zNmY4OWU1MC9pbmRleC5tM3U4IiwiZmZtM3U4IiwiMjMgMDAw5p2h55Sf5ZG9IiwiMSJd"
},
"player": {
"parse": 0,
"url": "https://vip.ffzy-plays.com/20260717/55869_36f89e50/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vip.ffzy-plays.com/20260717/55869_36f89e50/index.m3u8",
"reason": null
}
},
{
"spider": "闪电",
"file": "闪电.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 8.13,
"init": 0.001,
"home": 0.001,
"category": 862.513,
"detail": 392.226,
"player": 0.01,
"url_check": 135.256,
"total": 1398.594
},
"counts": {
"classes": 5,
"category_videos": 72,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "186095",
"flag": "夸克#闪电",
"play_id": "https://pan.quark.cn/s/b33e2a7c1c44"
},
"player": {
"parse": 0,
"url": "https://pan.quark.cn/s/b33e2a7c1c44",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.quark.cn/s/b33e2a7c1c44",
"reason": null
}
},
{
"spider": "雷鲸",
"file": "雷鲸.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.687,
"init": 0.003,
"home": 0.003,
"category": 2081.598,
"detail": 901.981,
"player": 0.004,
"url_check": 198.537,
"total": 3189.361
},
"counts": {
"classes": 7,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "42204681950354",
"vod_id": "66466",
"flag": "迅雷",
"play_id": "https://pan.xunlei.com/s/VOxGjKrL2zREw7pkB8aXhCvqA1"
},
"player": {
"parse": 0,
"url": "https://pan.xunlei.com/s/VOxGjKrL2zREw7pkB8aXhCvqA1",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://pan.xunlei.com/s/VOxGjKrL2zREw7pkB8aXhCvqA1",
"reason": null
}
},
{
"spider": "韩圈",
"file": "韩圈.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.588,
"init": 0.002,
"home": 2000.0,
"category": 1513.81,
"detail": 4704.913,
"player": 990.166,
"url_check": 131.601,
"total": 9347.623
},
"counts": {
"classes": 18,
"category_videos": 25,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "RWA1fjPgWNm7zDXWIV56",
"flag": "蓝光HDR",
"play_id": "RWA1fjPgWNm7zDXWIV56|||6ELTVL1fVx13oPB0teZtP|||sc_TnymrI9lPH6g6Ba2RnXE|||11"
},
"player": {
"parse": 0,
"url": "http://piccc.cdn.51touxiang.com/m3u8/2ePd4TGLqoackYBGnFxo66tx694g29pLJY5pkDQc.m3u8?pid=%2BibJyq87ptZYRmRqhIP%2FvdPpS8IkFbC44G%2FR8jMO89c%3D&utk=u_bYstpjDewEfNg7Qfvwx1&uk=f0vRs0mWZ8Q4NeOaqnzptBzBCFA8hAHZaPEf9u6Y3cw%3D&spl=213&t=1784442456&sign=ca481552a726f5be7d2c4115ca354176&ip=222.210.164.211",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://piccc.cdn.51touxiang.com/m3u8/2ePd4TGLqoackYBGnFxo66tx694g29pLJY5pkDQc.m3u8?pid=%2BibJyq87ptZYRmRqhIP%2FvdPpS8IkFbC44G%2FR8jMO89c%3D&utk=u_bYstpjDewEfNg7Qfvwx1&uk=f0vRs0mWZ8Q4NeOaqnzptBzBCFA8hAHZaPEf9u6Y3cw%3D&spl=213&t=1784442456&sign=ca481552a726f5be7d2c4115ca354176&ip=222.210.164.211",
"reason": null
}
},
{
"spider": "韩小圈",
"file": "韩小圈.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 7.865,
"init": 0.001,
"home": 0.001,
"category": 590.892,
"detail": 573.435,
"player": 0.003,
"url_check": 2005.861,
"total": 3178.706
},
"counts": {
"classes": 5,
"category_videos": 20,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "0",
"vod_id": "80697",
"flag": "默认线路",
"play_id": "https://cdn.yzzy33-play.com/20260204/6775_8e443d68/index.m3u8"
},
"player": {
"parse": 0,
"url": "https://cdn.yzzy33-play.com/20260204/6775_8e443d68/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://cdn.yzzy33-play.com/20260204/6775_8e443d68/index.m3u8",
"reason": null
}
},
{
"spider": "飞卢听书",
"file": "飞卢听书.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 3.522,
"init": 0.001,
"home": 0.001,
"category": 548.001,
"detail": 312.862,
"player": 0.004,
"url_check": 77.374,
"total": 942.243
},
"counts": {
"classes": 12,
"category_videos": 30,
"detail_videos": 1,
"episodes": 1
},
"samples": {
"tid": "1",
"vod_id": "765",
"flag": "飞卢听书",
"play_id": "http://tss.faloo.com/ListenNode/0/765/1.mp3"
},
"player": {
"parse": 0,
"url": "http://tss.faloo.com/ListenNode/0/765/1.mp3",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "http://tss.faloo.com/ListenNode/0/765/1.mp3",
"reason": null
}
},
{
"spider": "飞快TV",
"file": "飞快TV.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.814,
"init": 0.001,
"home": 0.001,
"category": 1048.238,
"detail": 1082.779,
"player": 947.222,
"url_check": 793.106,
"total": 3878.982
},
"counts": {
"classes": 4,
"category_videos": 40,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "248126",
"flag": "茅台资源1",
"play_id": "/vodplay/248126-3-1.html"
},
"player": {
"parse": 0,
"url": "https://vodcnd16.trjho.com/20260715/GnywOhlM/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://vodcnd16.trjho.com/20260715/GnywOhlM/index.m3u8",
"reason": null
}
},
{
"spider": "魔方APP",
"file": "魔方APP.txt",
"success": false,
"failed_stage": "home",
"error": "分类列表为空",
"traceback": null,
"timings_ms": {
"module_load": 5.78,
"init": 0.002,
"home": 396.998,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 402.975
},
"counts": {
"classes": 0,
"category_videos": 0,
"detail_videos": 0,
"episodes": 0
},
"samples": {
"tid": null,
"vod_id": null,
"flag": null,
"play_id": null
},
"player": {
"parse": null,
"url": "",
"valid": false,
"reachable": null,
"status_code": null,
"final_url": "",
"reason": null
}
},
{
"spider": "麦田影院",
"file": "麦田影院.txt",
"success": true,
"failed_stage": null,
"error": null,
"traceback": null,
"timings_ms": {
"module_load": 6.813,
"init": 0.001,
"home": 0.001,
"category": 230.087,
"detail": 255.892,
"player": 0.024,
"url_check": 434.423,
"total": 928.384
},
"counts": {
"classes": 6,
"category_videos": 20,
"detail_videos": 1,
"episodes": 2
},
"samples": {
"tid": "1",
"vod_id": "171427",
"flag": "LZ源",
"play_id": "eyJ1cmwiOiJodHRwczovL3YubHpjZG4yNy5jb20vMjAyNTA3MzEvNjc5XzUwYTJiMDQ3L2luZGV4Lm0zdTgiLCJwYXJzZV9hcGkiOiJodHRwczovL2RlbC5tdDMyMC5jb20vbHpmZi5waHA_dXJsPSIsImhlYWRlcnMiOnt9LCJ1c2VyX2FnZW50IjoiIn0="
},
"player": {
"parse": 0,
"url": "https://v.lzcdn27.com/20250731/679_50a2b047/index.m3u8",
"valid": true,
"reachable": true,
"status_code": 200,
"final_url": "https://v.lzcdn27.com/20250731/679_50a2b047/index.m3u8",
"reason": null
}
},
{
"spider": "黑猫APP",
"file": "黑猫APP.txt",
"success": false,
"failed_stage": "home",
"error": "分类列表为空",
"traceback": null,
"timings_ms": {
"module_load": 6.645,
"init": 0.002,
"home": 298.652,
"category": 0.0,
"detail": 0.0,
"player": 0.0,
"url_check": 0.0,
"total": 305.51
},
"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
}
}
]
}