3026 lines
107 KiB
JSON
3026 lines
107 KiB
JSON
{
|
|
"generated_at": "2026-05-21T19:12:50+08:00",
|
|
"max_workers": 16,
|
|
"total_duration_ms": 30830.251,
|
|
"summary": {
|
|
"total": 77,
|
|
"success": 63,
|
|
"failed": 14,
|
|
"success_rate": 0.8182,
|
|
"stage_failures": {
|
|
"module_load": 0,
|
|
"init": 0,
|
|
"home": 1,
|
|
"category": 4,
|
|
"detail": 1,
|
|
"player": 1,
|
|
"url_check": 0,
|
|
"unexpected": 7
|
|
}
|
|
},
|
|
"results": [
|
|
{
|
|
"spider": "4K指南",
|
|
"file": "4K指南.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 150.916,
|
|
"init": 0.001,
|
|
"home": 0.003,
|
|
"category": 1077.294,
|
|
"detail": 686.501,
|
|
"player": 0.004,
|
|
"url_check": 245.09,
|
|
"total": 2162.926
|
|
},
|
|
"counts": {
|
|
"classes": 5,
|
|
"category_videos": 50,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "zuixin",
|
|
"vod_id": "20166",
|
|
"flag": "夸克网盘",
|
|
"play_id": "push://https://pan.quark.cn/s/444bfa8d1e50"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://pan.quark.cn/s/444bfa8d1e50",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://pan.quark.cn/s/444bfa8d1e50",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "6V磁力",
|
|
"file": "6V磁力.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 226.046,
|
|
"init": 0.039,
|
|
"home": 0.001,
|
|
"category": 921.951,
|
|
"detail": 775.023,
|
|
"player": 0.002,
|
|
"url_check": 0.043,
|
|
"total": 1926.674
|
|
},
|
|
"counts": {
|
|
"classes": 12,
|
|
"category_videos": 18,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "dianshiju/guoju",
|
|
"vod_id": "/dianshiju/guoju/28754.html",
|
|
"flag": "01-07.1080p.HD国语中字无水印.mkv",
|
|
"play_id": "magnet:?xt=urn:btih:179e2e96aecc2ff52e16b81e3b3c1e89a6010b05&dn=%E4%B8%BB%E8%A7%9201-07"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "magnet:?xt=urn:btih:179e2e96aecc2ff52e16b81e3b3c1e89a6010b05&dn=%E4%B8%BB%E8%A7%9201-07",
|
|
"valid": true,
|
|
"reachable": null,
|
|
"status_code": null,
|
|
"final_url": "magnet:?xt=urn:btih:179e2e96aecc2ff52e16b81e3b3c1e89a6010b05&dn=%E4%B8%BB%E8%A7%9201-07",
|
|
"reason": "非 HTTP 地址,按协议格式通过"
|
|
}
|
|
},
|
|
{
|
|
"spider": "AAZ音乐",
|
|
"file": "AAZ音乐.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 134.93,
|
|
"init": 0.001,
|
|
"home": 751.17,
|
|
"category": 223.45,
|
|
"detail": 232.945,
|
|
"player": 299.854,
|
|
"url_check": 361.117,
|
|
"total": 2005.283
|
|
},
|
|
"counts": {
|
|
"classes": 6,
|
|
"category_videos": 60,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "new",
|
|
"vod_id": "song:e0f3c77fa564632f924f77fc5943ba7e",
|
|
"flag": "AAZ音乐",
|
|
"play_id": "song:e0f3c77fa564632f924f77fc5943ba7e"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://s.5bb3.com/m4a/3374e5b4a4d9d8e8f967976747b5c2ca.m4a",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://car-lv.kuwo.cn/ccb0e3c3788e0aa3ce91f11f1d801ebd/6a0ee8b4/resource/1307392909/trackmedia/C200000W91kQ0efKLA.m4a?from=vip",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "PPnix",
|
|
"file": "PPnix.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 266.263,
|
|
"init": 0.0,
|
|
"home": 0.001,
|
|
"category": 683.057,
|
|
"detail": 460.475,
|
|
"player": 0.016,
|
|
"url_check": 511.038,
|
|
"total": 1922.754
|
|
},
|
|
"counts": {
|
|
"classes": 2,
|
|
"category_videos": 24,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "movie/8190.html",
|
|
"flag": "PPnix",
|
|
"play_id": "8190|1080P"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://www.ppnix.com/info/m3u8/8190/1080P.m3u8",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://www.ppnix.com/info/m3u8/8190/1080P.m3u8",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "QQ音乐",
|
|
"file": "QQ音乐.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 190.114,
|
|
"init": 0.014,
|
|
"home": 0.005,
|
|
"category": 230.906,
|
|
"detail": 230.273,
|
|
"player": 555.562,
|
|
"url_check": 91.243,
|
|
"total": 3409.649
|
|
},
|
|
"counts": {
|
|
"classes": 6,
|
|
"category_videos": 44,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "top",
|
|
"vod_id": "top:135",
|
|
"flag": "QQ音乐",
|
|
"play_id": "qqmusic:001SZuO01zTv4Y:666401051|凌绝顶 - 梓渝"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://isure.stream.qqmusic.qq.com/M500001SZuO01zTv4Y.mp3?guid=b712fec8a44500980efb6bfc59bcd287&vkey=31F90736BD507B0A12CF3FA021DA87EEC29B57F30B23F677567D29B188A12DEC093D991DB5ED14937831B71937443A27BDC8EA66A1D69BE0__v2b9abc41&uin=&fromtag=119042&src=M500003j9rwW2ZuKVh.mp3&redirect=1",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://isure.stream.qqmusic.qq.com/M500001SZuO01zTv4Y.mp3?guid=b712fec8a44500980efb6bfc59bcd287&vkey=31F90736BD507B0A12CF3FA021DA87EEC29B57F30B23F677567D29B188A12DEC093D991DB5ED14937831B71937443A27BDC8EA66A1D69BE0__v2b9abc41&uin=&fromtag=119042&src=M500003j9rwW2ZuKVh.mp3&redirect=1",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "YouTube",
|
|
"file": "YouTube.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 218.674,
|
|
"init": 0.003,
|
|
"home": 0.047,
|
|
"category": 866.534,
|
|
"detail": 2048.673,
|
|
"player": 0.004,
|
|
"url_check": 994.864,
|
|
"total": 4133.466
|
|
},
|
|
"counts": {
|
|
"classes": 29,
|
|
"category_videos": 20,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "cat_recommend",
|
|
"vod_id": "yt:video:E3jcQgR3TNE",
|
|
"flag": "YouTube",
|
|
"play_id": "yt:video:E3jcQgR3TNE"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://www.youtube.com/watch?v=E3jcQgR3TNE",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://www.youtube.com/watch?v=E3jcQgR3TNE",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "libvio",
|
|
"file": "libvio.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 196.559,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 333.114,
|
|
"detail": 244.004,
|
|
"player": 0.004,
|
|
"url_check": 174.886,
|
|
"total": 950.003
|
|
},
|
|
"counts": {
|
|
"classes": 6,
|
|
"category_videos": 48,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "index",
|
|
"vod_id": "714893349",
|
|
"flag": "夸克",
|
|
"play_id": "https://pan.quark.cn/s/0a02bf0237ac"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://pan.quark.cn/s/0a02bf0237ac",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://pan.quark.cn/s/0a02bf0237ac",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "youknow",
|
|
"file": "youknow.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 220.901,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 1966.125,
|
|
"detail": 1062.749,
|
|
"player": 1606.398,
|
|
"url_check": 386.364,
|
|
"total": 5245.983
|
|
},
|
|
"counts": {
|
|
"classes": 7,
|
|
"category_videos": 225,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "index",
|
|
"vod_id": "203061",
|
|
"flag": "YouKnowTV",
|
|
"play_id": "eyJ2b2RfaWQiOiIyMDMwNjEiLCJlcGlzb2RlX2luZGV4IjoxLCJ0aXRsZSI6IuesrDAx6ZuGIiwiY2FuZGlkYXRlcyI6W3sic291cmNlIjoi57q_6LevMSIsInNvdXJjZV9pZCI6IjEiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8yMDMwNjEtMS0xLyJ9LHsic291cmNlIjoi57q_6LevMiIsInNvdXJjZV9pZCI6IjEiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8yMDMwNjEtMS0xLyJ9LHsic291cmNlIjoi57q_6LevMTAiLCJzb3VyY2VfaWQiOiIyIiwiZXBpc29kZV91cmwiOiJodHRwczovL3d3dy55b3Vrbm93LnR2L3AvMjAzMDYxLTItMS8ifSx7InNvdXJjZSI6Iue6v-i3rzExIiwic291cmNlX2lkIjoiMiIsImVwaXNvZGVfdXJsIjoiaHR0cHM6Ly93d3cueW91a25vdy50di9wLzIwMzA2MS0yLTEvIn0seyJzb3VyY2UiOiLnur_ot68xOCIsInNvdXJjZV9pZCI6IjMiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8yMDMwNjEtMy0xLyJ9LHsic291cmNlIjoi57q_6LevMTkiLCJzb3VyY2VfaWQiOiIzIiwiZXBpc29kZV91cmwiOiJodHRwczovL3d3dy55b3Vrbm93LnR2L3AvMjAzMDYxLTMtMS8ifV19"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://vip.dytt-tvs.com/20260409/15870_86317a32/index.m3u8",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://cnvod.jimxtc.com/20260409/15870_86317a32/index.m3u8",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "七味",
|
|
"file": "七味.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 221.869,
|
|
"init": 0.005,
|
|
"home": 0.001,
|
|
"category": 897.277,
|
|
"detail": 1170.36,
|
|
"player": 0.003,
|
|
"url_check": 1058.763,
|
|
"total": 3356.225
|
|
},
|
|
"counts": {
|
|
"classes": 5,
|
|
"category_videos": 42,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "492461",
|
|
"flag": "百度1",
|
|
"play_id": "https://pan.baidu.com/s/1MZa4NhXR02WdMOXlmINHCA?pwd=Yu66"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://pan.baidu.com/s/1MZa4NhXR02WdMOXlmINHCA?pwd=Yu66",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://pan.baidu.com/share/init?surl=MZa4NhXR02WdMOXlmINHCA&pwd=Yu66",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "不太灵",
|
|
"file": "不太灵.txt",
|
|
"success": false,
|
|
"failed_stage": "unexpected",
|
|
"error": "HTTPSConnectionPool(host='web5.mukaku.com', 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 534, in _make_request\n response = conn.getresponse()\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 571, in getresponse\n httplib_response = super().getresponse()\n File \"/home/harold/.local/share/uv/python/cpython-3.14.3-linux-x86_64-gnu/lib/python3.14/http/client.py\", line 1450, in getresponse\n response.begin()\n ~~~~~~~~~~~~~~^^\n File \"/home/harold/.local/share/uv/python/cpython-3.14.3-linux-x86_64-gnu/lib/python3.14/http/client.py\", line 336, in begin\n version, status, reason = self._read_status()\n ~~~~~~~~~~~~~~~~~^^\n File \"/home/harold/.local/share/uv/python/cpython-3.14.3-linux-x86_64-gnu/lib/python3.14/http/client.py\", line 297, in _read_status\n line = str(self.fp.readline(_MAXLINE + 1), \"iso-8859-1\")\n ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^\nTimeoutError: The read 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='web5.mukaku.com', port=443): Read timed out. (read timeout=10)\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 716, in validate_spider_file\n _validate_from_tid(\n ~~~~~~~~~~~~~~~~~~^\n spider=spider,\n ^^^^^^^^^^^^^^\n ...<6 lines>...\n logger=logger,\n ^^^^^^^^^^^^^^\n )\n ^\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 428, in _validate_from_tid\n detail_result = _run_timed(result[\"timings_ms\"], \"detail\", spider.detailContent, clock, [vod_id])\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 291, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/不太灵.txt\", line 330, in detailContent\n File \"/home/harold/workspace/tvbox-resources/py/不太灵.txt\", line 63, in _request_api\nrequests.exceptions.ReadTimeout: HTTPSConnectionPool(host='web5.mukaku.com', port=443): Read timed out. (read timeout=10)\n",
|
|
"timings_ms": {
|
|
"module_load": 129.217,
|
|
"init": 0.001,
|
|
"home": 3740.485,
|
|
"category": 1348.44,
|
|
"detail": 10318.538,
|
|
"player": 0.0,
|
|
"url_check": 0.0,
|
|
"total": 15540.798
|
|
},
|
|
"counts": {
|
|
"classes": 5,
|
|
"category_videos": 25,
|
|
"detail_videos": 0,
|
|
"episodes": 0
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "30255246",
|
|
"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": 227.189,
|
|
"init": 0.001,
|
|
"home": 189.542,
|
|
"category": 0.011,
|
|
"detail": 147.089,
|
|
"player": 0.0,
|
|
"url_check": 0.0,
|
|
"total": 704.674
|
|
},
|
|
"counts": {
|
|
"classes": 5,
|
|
"category_videos": 3,
|
|
"detail_videos": 1,
|
|
"episodes": 0
|
|
},
|
|
"samples": {
|
|
"tid": "rank_list",
|
|
"vod_id": "rank:rise",
|
|
"flag": null,
|
|
"play_id": null
|
|
},
|
|
"player": {
|
|
"parse": null,
|
|
"url": "",
|
|
"valid": false,
|
|
"reachable": null,
|
|
"status_code": null,
|
|
"final_url": "",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "两个BT",
|
|
"file": "两个BT.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 229.646,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 587.542,
|
|
"detail": 396.493,
|
|
"player": 855.551,
|
|
"url_check": 474.098,
|
|
"total": 2546.254
|
|
},
|
|
"counts": {
|
|
"classes": 14,
|
|
"category_videos": 24,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "zgjun",
|
|
"vod_id": "ch455phy4",
|
|
"flag": "两个BT",
|
|
"play_id": "eyJwaWQiOiIvcGxheS9jaDQ1NXBoeTQiLCJzaWQiOiJjaDQ1NXBoeTQiLCJuYW1lIjoiMSJ9"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://zijieapi.douyinbyte.com/m3u8/78a48dcc0743a001372febd11244eec5.m3u8",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://zijieapi.douyinbyte.com/m3u8/78a48dcc0743a001372febd11244eec5.m3u8",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "乌云影视",
|
|
"file": "乌云影视.txt",
|
|
"success": false,
|
|
"failed_stage": "unexpected",
|
|
"error": "HTTPSConnectionPool(host='wooyun.tv', port=443): Max retries exceeded with url: /movie/media/detail?mediaId=483203 (Caused by ConnectTimeoutError(<HTTPSConnection(host='wooyun.tv', port=443) at 0x73d601c2ca50>, 'Connection to wooyun.tv timed out. (connect timeout=15)'))",
|
|
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 204, in _new_conn\n sock = connection.create_connection(\n (self._dns_host, self.port),\n ...<2 lines>...\n socket_options=self.socket_options,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/connection.py\", line 85, in create_connection\n raise err\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/connection.py\", line 73, in create_connection\n sock.connect(sa)\n ~~~~~~~~~~~~^^^^\nTimeoutError: timed out\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 488, in _make_request\n raise new_e\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 464, in _make_request\n self._validate_conn(conn)\n ~~~~~~~~~~~~~~~~~~~^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 1093, in _validate_conn\n conn.connect()\n ~~~~~~~~~~~~^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 759, in connect\n self.sock = sock = self._new_conn()\n ~~~~~~~~~~~~~~^^\nurllib3.exceptions.ConnectTimeoutError: (<HTTPSConnection(host='wooyun.tv', port=443) at 0x73d601c2ca50>, 'Connection to wooyun.tv timed out. (connect timeout=15)')\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/requests/adapters.py\", line 645, in send\n resp = conn.urlopen(\n method=request.method,\n ...<9 lines>...\n chunked=chunked,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 841, in urlopen\n retries = retries.increment(\n method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/retry.py\", line 535, in increment\n raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nurllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='wooyun.tv', port=443): Max retries exceeded with url: /movie/media/detail?mediaId=483203 (Caused by ConnectTimeoutError(<HTTPSConnection(host='wooyun.tv', port=443) at 0x73d601c2ca50>, 'Connection to wooyun.tv timed out. (connect timeout=15)'))\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 716, in validate_spider_file\n _validate_from_tid(\n ~~~~~~~~~~~~~~~~~~^\n spider=spider,\n ^^^^^^^^^^^^^^\n ...<6 lines>...\n logger=logger,\n ^^^^^^^^^^^^^^\n )\n ^\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 428, in _validate_from_tid\n detail_result = _run_timed(result[\"timings_ms\"], \"detail\", spider.detailContent, clock, [vod_id])\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 291, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/乌云影视.txt\", line 343, in detailContent\n File \"/home/harold/workspace/tvbox-resources/py/乌云影视.txt\", line 80, in _request_json\nrequests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='wooyun.tv', port=443): Max retries exceeded with url: /movie/media/detail?mediaId=483203 (Caused by ConnectTimeoutError(<HTTPSConnection(host='wooyun.tv', port=443) at 0x73d601c2ca50>, 'Connection to wooyun.tv timed out. (connect timeout=15)'))\n",
|
|
"timings_ms": {
|
|
"module_load": 134.112,
|
|
"init": 0.001,
|
|
"home": 375.745,
|
|
"category": 626.866,
|
|
"detail": 15348.833,
|
|
"player": 0.0,
|
|
"url_check": 0.0,
|
|
"total": 16493.29
|
|
},
|
|
"counts": {
|
|
"classes": 7,
|
|
"category_videos": 24,
|
|
"detail_videos": 0,
|
|
"episodes": 0
|
|
},
|
|
"samples": {
|
|
"tid": "movie",
|
|
"vod_id": "483203",
|
|
"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": 230.652,
|
|
"init": 0.001,
|
|
"home": 0.002,
|
|
"category": 406.692,
|
|
"detail": 0.0,
|
|
"player": 0.0,
|
|
"url_check": 0.0,
|
|
"total": 1125.495
|
|
},
|
|
"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": 205.59,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 673.066,
|
|
"detail": 541.143,
|
|
"player": 0.004,
|
|
"url_check": 1452.134,
|
|
"total": 2873.202
|
|
},
|
|
"counts": {
|
|
"classes": 4,
|
|
"category_videos": 72,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "12430",
|
|
"flag": "百度#二小",
|
|
"play_id": "https://pan.baidu.com/s/1FGG9y2FLgMlWylYevE0DDA?pwd=n5ug"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://pan.baidu.com/s/1FGG9y2FLgMlWylYevE0DDA?pwd=n5ug",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://pan.baidu.com/share/init?surl=FGG9y2FLgMlWylYevE0DDA&pwd=n5ug",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "人人电影",
|
|
"file": "人人电影.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 125.116,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 592.735,
|
|
"detail": 445.055,
|
|
"player": 0.007,
|
|
"url_check": 1089.073,
|
|
"total": 2253.145
|
|
},
|
|
"counts": {
|
|
"classes": 4,
|
|
"category_videos": 10,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "movie/list_2",
|
|
"vod_id": "/movie/2019/1114/6538.html",
|
|
"flag": "baidu",
|
|
"play_id": "https://pan.baidu.com/s/18KYxz0gvuKcHmbO9LPktQA?pwd=5btz"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://pan.baidu.com/s/18KYxz0gvuKcHmbO9LPktQA?pwd=5btz",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://pan.baidu.com/share/init?surl=8KYxz0gvuKcHmbO9LPktQA&pwd=5btz",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "人人视频",
|
|
"file": "人人视频.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 5.503,
|
|
"init": 0.001,
|
|
"home": 208.904,
|
|
"category": 263.714,
|
|
"detail": 258.754,
|
|
"player": 449.953,
|
|
"url_check": 998.448,
|
|
"total": 3405.605
|
|
},
|
|
"counts": {
|
|
"classes": 4,
|
|
"category_videos": 30,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "MOVIE",
|
|
"vod_id": "57571",
|
|
"flag": "人人专线",
|
|
"play_id": "57571@384815"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://qn-302-m-play.bwcgee.cn/206fd8da542071f180914531858c0402/31c411606dd04572b375f184ed0e7c2c-9436db47d2fb72ac09f3f4785c7cd734-ld.mp4?sign=11e2769c580639db0420a2e573c46361&t=6a0f20f5&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=19aed8b2c50e470a84f6e981d91450e8&hevc=false&seasonId=57571",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://2027855665.ahdohpiechei.com:22443/OzwfcER4VzlnIl4iDWQYIyk1VyZaKRQLOz9bOw/206fd8da542071f180914531858c0402/31c411606dd04572b375f184ed0e7c2c-9436db47d2fb72ac09f3f4785c7cd734-ld.mp4?sign=11e2769c580639db0420a2e573c46361&t=6a0f20f5&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=19aed8b2c50e470a84f6e981d91450e8&hevc=false&seasonId=57571&x-sid=0X11AVjpScCcQN&x-redirect=0X11AOzwfcER4VzlnIl4iDWcYIyk1VyZZKRR5IzZEMxI-FnolJ1AiASQfMTg3WydaKRU5&x-lid=0X11Ab5874771ed4e&x-st=0X11Ahash",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "优酷",
|
|
"file": "优酷.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 10.422,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 322.84,
|
|
"detail": 615.347,
|
|
"player": 0.002,
|
|
"url_check": 252.935,
|
|
"total": 1202.086
|
|
},
|
|
"counts": {
|
|
"classes": 6,
|
|
"category_videos": 23,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "电视剧",
|
|
"vod_id": "show:afcb2d65c6a34b798d77",
|
|
"flag": "优酷",
|
|
"play_id": "https://v.youku.com/v_show/id_XNjUzNDA5NDEwNA==.html"
|
|
},
|
|
"player": {
|
|
"parse": 1,
|
|
"url": "https://v.youku.com/v_show/id_XNjUzNDA5NDEwNA==.html",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://v.youku.com/v_show/id_XNjUzNDA5NDEwNA==.html",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "低端影视",
|
|
"file": "低端影视.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 7.813,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 726.84,
|
|
"detail": 998.956,
|
|
"player": 0.023,
|
|
"url_check": 1020.105,
|
|
"total": 10809.777
|
|
},
|
|
"counts": {
|
|
"classes": 4,
|
|
"category_videos": 24,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "movie",
|
|
"vod_id": "movie/the-finest-hours",
|
|
"flag": "备胎2号 (1080P)",
|
|
"play_id": "https://c1.ddbbffcdn.com/video/nuhaijiuyuan/HD中字/index.m3u8"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://c1.ddbbffcdn.com/video/nuhaijiuyuan/HD中字/index.m3u8",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://c1.ddbbffcdn.com/video/nuhaijiuyuan/HD%E4%B8%AD%E5%AD%97/index.m3u8",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "修罗",
|
|
"file": "修罗.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 8.555,
|
|
"init": 0.0,
|
|
"home": 0.001,
|
|
"category": 681.449,
|
|
"detail": 1059.225,
|
|
"player": 0.013,
|
|
"url_check": 0.064,
|
|
"total": 7895.358
|
|
},
|
|
"counts": {
|
|
"classes": 4,
|
|
"category_videos": 24,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "movie",
|
|
"vod_id": "dongzuo/26912",
|
|
"flag": "磁力合集",
|
|
"play_id": "magnet:?xt=urn:btih:0f122b6d43b305783e1f12d0186cd9191608ccd2"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "magnet:?xt=urn:btih:0f122b6d43b305783e1f12d0186cd9191608ccd2",
|
|
"valid": true,
|
|
"reachable": null,
|
|
"status_code": null,
|
|
"final_url": "magnet:?xt=urn:btih:0f122b6d43b305783e1f12d0186cd9191608ccd2",
|
|
"reason": "非 HTTP 地址,按协议格式通过"
|
|
}
|
|
},
|
|
{
|
|
"spider": "凡客TV",
|
|
"file": "凡客TV.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 12.068,
|
|
"init": 0.001,
|
|
"home": 0.0,
|
|
"category": 1013.024,
|
|
"detail": 1188.655,
|
|
"player": 1858.671,
|
|
"url_check": 2891.385,
|
|
"total": 6964.775
|
|
},
|
|
"counts": {
|
|
"classes": 8,
|
|
"category_videos": 32,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "f3ba7ae26fd85903",
|
|
"flag": "高速线路",
|
|
"play_id": "{\"movie_id\":\"f3ba7ae26fd85903\",\"link_id\":\"97b555d07d3dbb0e89efa7a47427bc91\",\"line_id\":\"line1\",\"line_name\":\"高速线路\",\"episode_name\":\"1080p\",\"type\":\"switch\",\"page\":\"https://fktv.me/movie/detail/f3ba7ae26fd85903\"}"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://fktv.me/ysapi/m3u8/p/ae251054381296305cc07392b3e0d7ca.m3u8",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://fktv.me/ysapi/m3u8/p/ae251054381296305cc07392b3e0d7ca.m3u8",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "剧圈圈",
|
|
"file": "剧圈圈.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 5.775,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 972.113,
|
|
"detail": 690.068,
|
|
"player": 2196.981,
|
|
"url_check": 662.681,
|
|
"total": 4528.431
|
|
},
|
|
"counts": {
|
|
"classes": 5,
|
|
"category_videos": 16,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "dianying",
|
|
"vod_id": "63097",
|
|
"flag": "BF备用",
|
|
"play_id": "play/63097-3-1"
|
|
},
|
|
"player": {
|
|
"parse": 1,
|
|
"url": "https://www.jqqzx.cc/play/63097-3-1.html",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://www.jqqzx.one/play/63097-3-1.html",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "剧迷",
|
|
"file": "剧迷.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 6.892,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 251.493,
|
|
"detail": 452.674,
|
|
"player": 430.576,
|
|
"url_check": 1150.383,
|
|
"total": 2294.137
|
|
},
|
|
"counts": {
|
|
"classes": 6,
|
|
"category_videos": 150,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "443094",
|
|
"flag": "高清线路 ᴴᴰ",
|
|
"play_id": "443094-11-1"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://play.phimgood.com/20260511/26651_2f4d94b1/index.m3u8",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://play.phimgood.com/20260511/26651_2f4d94b1/index.m3u8",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "博看听书",
|
|
"file": "博看听书.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 6.97,
|
|
"init": 0.001,
|
|
"home": 3226.071,
|
|
"category": 295.973,
|
|
"detail": 815.505,
|
|
"player": 0.002,
|
|
"url_check": 650.095,
|
|
"total": 4995.126
|
|
},
|
|
"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": 33.895,
|
|
"init": 471.284,
|
|
"home": 0.003,
|
|
"category": 204.777,
|
|
"detail": 214.07,
|
|
"player": 0.005,
|
|
"url_check": 230.779,
|
|
"total": 1171.405
|
|
},
|
|
"counts": {
|
|
"classes": 7,
|
|
"category_videos": 15,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "ju",
|
|
"vod_id": "/ju/10489.html",
|
|
"flag": "夸克",
|
|
"play_id": "https://pan.quark.cn/s/e19b9da31554"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://pan.quark.cn/s/e19b9da31554",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://pan.quark.cn/s/e19b9da31554",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "听书",
|
|
"file": "听书.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 3.915,
|
|
"init": 78.53,
|
|
"home": 0.001,
|
|
"category": 198.54,
|
|
"detail": 4737.662,
|
|
"player": 305.783,
|
|
"url_check": 119.317,
|
|
"total": 5444.384
|
|
},
|
|
"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=e5595d52875dda71fcad5930a419abd1&buy_key=FM&token=6852×tamp=1779361978&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=e5595d52875dda71fcad5930a419abd1&buy_key=FM&token=6852×tamp=1779361978&duration=453",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "听友FM",
|
|
"file": "听友FM.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 6.606,
|
|
"init": 0.0,
|
|
"home": 401.542,
|
|
"category": 309.619,
|
|
"detail": 1073.14,
|
|
"player": 618.424,
|
|
"url_check": 221.895,
|
|
"total": 2632.379
|
|
},
|
|
"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=1779361975&sign=58cabac4a745ad982581e7daa2c55e38",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://file.hgeuz.cn/stream/eJwANwDI_wJVZgVKIIrU0ECux-GJ1PSt38ahythCqsH-r9TAQ4rj5F94rOjbQKjk063xyIX2z3hfeGcIHF4BAAD__5DtISY.?ts=1779361975&sign=58cabac4a745ad982581e7daa2c55e38",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "咕咕动漫",
|
|
"file": "咕咕动漫.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 9.081,
|
|
"init": 0.006,
|
|
"home": 610.001,
|
|
"category": 582.86,
|
|
"detail": 605.505,
|
|
"player": 1292.83,
|
|
"url_check": 292.987,
|
|
"total": 3394.418
|
|
},
|
|
"counts": {
|
|
"classes": 3,
|
|
"category_videos": 30,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "6",
|
|
"vod_id": "4993",
|
|
"flag": "咕咕新线(国内高速)",
|
|
"play_id": "parse_api=a2796a09189261bcaf3cc4542d7c5ac2&url=vC3JvwfizISFocml/iaZMgd1trHAYekCw+0xsYBueVGqQACTAukjD3I2F/niiuEK&token=|木头风纪委员和迷你裙JK的故事|1"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://p9-bot-workflow-sign.byteimg.com/tos-cn-i-mdko3gqilj/dba4cb7929b54de1a195e5b3cc139e3c~tplv-mdko3gqilj-image.image?rk3s=81d4c505&x-expires=1810465976&x-signature=IE0oZE5GoBk0cSUJWDIbRxWcPUc%3D",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://p9-bot-workflow-sign.byteimg.com/tos-cn-i-mdko3gqilj/dba4cb7929b54de1a195e5b3cc139e3c~tplv-mdko3gqilj-image.image?rk3s=81d4c505&x-expires=1810465976&x-signature=IE0oZE5GoBk0cSUJWDIbRxWcPUc%3D",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "四万影视",
|
|
"file": "四万影视.txt",
|
|
"success": false,
|
|
"failed_stage": "unexpected",
|
|
"error": "HTTPSConnectionPool(host='40000.me', port=443): Read timed out. (read timeout=10)",
|
|
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 464, in _make_request\n self._validate_conn(conn)\n ~~~~~~~~~~~~~~~~~~~^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 1093, in _validate_conn\n conn.connect()\n ~~~~~~~~~~~~^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 796, in connect\n sock_and_verified = _ssl_wrap_socket_and_match_hostname(\n sock=sock,\n ...<14 lines>...\n assert_fingerprint=self.assert_fingerprint,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 975, in _ssl_wrap_socket_and_match_hostname\n ssl_sock = ssl_wrap_socket(\n sock=sock,\n ...<8 lines>...\n tls_in_tls=tls_in_tls,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/ssl_.py\", line 483, in ssl_wrap_socket\n ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls, server_hostname)\nTimeoutError: _ssl.c:1063: The handshake operation timed out\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/requests/adapters.py\", line 645, in send\n resp = conn.urlopen(\n method=request.method,\n ...<9 lines>...\n chunked=chunked,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 841, in urlopen\n retries = retries.increment(\n method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/retry.py\", line 490, in increment\n raise reraise(type(error), error, _stacktrace)\n ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/util.py\", line 39, in reraise\n raise value\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\nurllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='40000.me', port=443): Read timed out. (read timeout=10)\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 716, in validate_spider_file\n _validate_from_tid(\n ~~~~~~~~~~~~~~~~~~^\n spider=spider,\n ^^^^^^^^^^^^^^\n ...<6 lines>...\n logger=logger,\n ^^^^^^^^^^^^^^\n )\n ^\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 412, in _validate_from_tid\n category_result = _run_timed(result[\"timings_ms\"], \"category\", spider.categoryContent, clock, tid, \"1\", False, {})\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 291, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/四万影视.txt\", line 238, in categoryContent\n File \"/home/harold/workspace/tvbox-resources/py/四万影视.txt\", line 212, in _api_get\nrequests.exceptions.ReadTimeout: HTTPSConnectionPool(host='40000.me', port=443): Read timed out. (read timeout=10)\n",
|
|
"timings_ms": {
|
|
"module_load": 3.784,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 10018.07,
|
|
"detail": 0.0,
|
|
"player": 0.0,
|
|
"url_check": 0.0,
|
|
"total": 10024.609
|
|
},
|
|
"counts": {
|
|
"classes": 5,
|
|
"category_videos": 0,
|
|
"detail_videos": 0,
|
|
"episodes": 0
|
|
},
|
|
"samples": {
|
|
"tid": "20",
|
|
"vod_id": null,
|
|
"flag": null,
|
|
"play_id": null
|
|
},
|
|
"player": {
|
|
"parse": null,
|
|
"url": "",
|
|
"valid": false,
|
|
"reachable": null,
|
|
"status_code": null,
|
|
"final_url": "",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "在线之家",
|
|
"file": "在线之家.txt",
|
|
"success": false,
|
|
"failed_stage": "unexpected",
|
|
"error": "HTTPSConnectionPool(host='www.zxzjys.com', port=443): Max retries exceeded with url: /vodshow/1--------1---.html (Caused by ConnectTimeoutError(<HTTPSConnection(host='www.zxzjys.com', port=443) at 0x73d60191a210>, 'Connection to www.zxzjys.com timed out. (connect timeout=10)'))",
|
|
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 204, in _new_conn\n sock = connection.create_connection(\n (self._dns_host, self.port),\n ...<2 lines>...\n socket_options=self.socket_options,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/connection.py\", line 85, in create_connection\n raise err\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/connection.py\", line 73, in create_connection\n sock.connect(sa)\n ~~~~~~~~~~~~^^^^\nTimeoutError: timed out\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 488, in _make_request\n raise new_e\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 464, in _make_request\n self._validate_conn(conn)\n ~~~~~~~~~~~~~~~~~~~^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 1093, in _validate_conn\n conn.connect()\n ~~~~~~~~~~~~^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 759, in connect\n self.sock = sock = self._new_conn()\n ~~~~~~~~~~~~~~^^\nurllib3.exceptions.ConnectTimeoutError: (<HTTPSConnection(host='www.zxzjys.com', port=443) at 0x73d60191a210>, 'Connection to www.zxzjys.com timed out. (connect timeout=10)')\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/requests/adapters.py\", line 645, in send\n resp = conn.urlopen(\n method=request.method,\n ...<9 lines>...\n chunked=chunked,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 841, in urlopen\n retries = retries.increment(\n method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/retry.py\", line 535, in increment\n raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nurllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='www.zxzjys.com', port=443): Max retries exceeded with url: /vodshow/1--------1---.html (Caused by ConnectTimeoutError(<HTTPSConnection(host='www.zxzjys.com', port=443) at 0x73d60191a210>, 'Connection to www.zxzjys.com timed out. (connect timeout=10)'))\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 716, in validate_spider_file\n _validate_from_tid(\n ~~~~~~~~~~~~~~~~~~^\n spider=spider,\n ^^^^^^^^^^^^^^\n ...<6 lines>...\n logger=logger,\n ^^^^^^^^^^^^^^\n )\n ^\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 412, in _validate_from_tid\n category_result = _run_timed(result[\"timings_ms\"], \"category\", spider.categoryContent, clock, tid, \"1\", False, {})\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 291, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/在线之家.txt\", line 301, in categoryContent\n File \"/home/harold/workspace/tvbox-resources/py/在线之家.txt\", line 245, in _request_html\nrequests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='www.zxzjys.com', port=443): Max retries exceeded with url: /vodshow/1--------1---.html (Caused by ConnectTimeoutError(<HTTPSConnection(host='www.zxzjys.com', port=443) at 0x73d60191a210>, 'Connection to www.zxzjys.com timed out. (connect timeout=10)'))\n",
|
|
"timings_ms": {
|
|
"module_load": 5.819,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 10011.81,
|
|
"detail": 0.0,
|
|
"player": 0.0,
|
|
"url_check": 0.0,
|
|
"total": 10019.18
|
|
},
|
|
"counts": {
|
|
"classes": 6,
|
|
"category_videos": 0,
|
|
"detail_videos": 0,
|
|
"episodes": 0
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": null,
|
|
"flag": null,
|
|
"play_id": null
|
|
},
|
|
"player": {
|
|
"parse": null,
|
|
"url": "",
|
|
"valid": false,
|
|
"reachable": null,
|
|
"status_code": null,
|
|
"final_url": "",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "多多",
|
|
"file": "多多.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 7.951,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 490.553,
|
|
"detail": 399.172,
|
|
"player": 0.005,
|
|
"url_check": 1359.878,
|
|
"total": 2258.014
|
|
},
|
|
"counts": {
|
|
"classes": 6,
|
|
"category_videos": 72,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "9470",
|
|
"flag": "百度#多多",
|
|
"play_id": "https://pan.baidu.com/s/1xqKiIv1nSRhHrG2x-v3x8Q?pwd=yyds"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://pan.baidu.com/s/1xqKiIv1nSRhHrG2x-v3x8Q?pwd=yyds",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://pan.baidu.com/share/init?surl=xqKiIv1nSRhHrG2x-v3x8Q&pwd=yyds",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "如意资源",
|
|
"file": "如意资源.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 4.399,
|
|
"init": 0.001,
|
|
"home": 0.005,
|
|
"category": 812.2,
|
|
"detail": 389.212,
|
|
"player": 0.004,
|
|
"url_check": 1835.349,
|
|
"total": 3042.413
|
|
},
|
|
"counts": {
|
|
"classes": 6,
|
|
"category_videos": 20,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "77675",
|
|
"flag": "rym3u8",
|
|
"play_id": "https://svip.ryiplay18.com/20260520/6588_b9baf3b3/index.m3u8"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://svip.ryiplay18.com/20260520/6588_b9baf3b3/index.m3u8",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://svip.ryiplay18.com/20260520/6588_b9baf3b3/index.m3u8",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "寻川4K",
|
|
"file": "寻川4K.txt",
|
|
"success": false,
|
|
"failed_stage": "unexpected",
|
|
"error": "'NoneType' object is not iterable",
|
|
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 716, in validate_spider_file\n _validate_from_tid(\n ~~~~~~~~~~~~~~~~~~^\n spider=spider,\n ^^^^^^^^^^^^^^\n ...<6 lines>...\n logger=logger,\n ^^^^^^^^^^^^^^\n )\n ^\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 428, in _validate_from_tid\n detail_result = _run_timed(result[\"timings_ms\"], \"detail\", spider.detailContent, clock, [vod_id])\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 291, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/寻川4K.txt\", line 810, in detailContent\nTypeError: 'NoneType' object is not iterable\n",
|
|
"timings_ms": {
|
|
"module_load": 9.786,
|
|
"init": 536.624,
|
|
"home": 996.371,
|
|
"category": 474.391,
|
|
"detail": 463.619,
|
|
"player": 0.0,
|
|
"url_check": 0.0,
|
|
"total": 2481.991
|
|
},
|
|
"counts": {
|
|
"classes": 9,
|
|
"category_videos": 20,
|
|
"detail_videos": 0,
|
|
"episodes": 0
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "581873",
|
|
"flag": null,
|
|
"play_id": null
|
|
},
|
|
"player": {
|
|
"parse": null,
|
|
"url": "",
|
|
"valid": false,
|
|
"reachable": null,
|
|
"status_code": null,
|
|
"final_url": "",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "布布影视",
|
|
"file": "布布影视.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 12.402,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 688.865,
|
|
"detail": 763.871,
|
|
"player": 959.947,
|
|
"url_check": 364.26,
|
|
"total": 2789.856
|
|
},
|
|
"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=SkC7vr8nPCAs6V9GLdN98HLFodc%3D&Expires=1779362058&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=SkC7vr8nPCAs6V9GLdN98HLFodc%3D&Expires=1779362058&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.593,
|
|
"init": 0.022,
|
|
"home": 217.214,
|
|
"category": 260.052,
|
|
"detail": 301.491,
|
|
"player": 0.003,
|
|
"url_check": 298.656,
|
|
"total": 1082.865
|
|
},
|
|
"counts": {
|
|
"classes": 30,
|
|
"category_videos": 30,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "都市",
|
|
"vod_id": "110000044555935694",
|
|
"flag": "1080P",
|
|
"play_id": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1779361976&sign=cf3d1a2309cdfe4eec449dc978843fd3"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1779361976&sign=cf3d1a2309cdfe4eec449dc978843fd3",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1779361976&sign=cf3d1a2309cdfe4eec449dc978843fd3",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "新韩剧网",
|
|
"file": "新韩剧网.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 7.151,
|
|
"init": 0.0,
|
|
"home": 0.0,
|
|
"category": 686.945,
|
|
"detail": 508.392,
|
|
"player": 471.289,
|
|
"url_check": 1843.304,
|
|
"total": 3517.614
|
|
},
|
|
"counts": {
|
|
"classes": 5,
|
|
"category_videos": 16,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "3591",
|
|
"flag": "在线云播",
|
|
"play_id": "3591_1_1"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://cdn.vvvip-plays33.cc/20260224/8726_d6f84c02/index.m3u8",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://cdn.vvvip-plays33.cc/20260224/8726_d6f84c02/index.m3u8",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "星星短剧",
|
|
"file": "星星短剧.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 4.066,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 452.795,
|
|
"detail": 640.794,
|
|
"player": 0.002,
|
|
"url_check": 227.352,
|
|
"total": 1325.354
|
|
},
|
|
"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": 10.381,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 342.638,
|
|
"detail": 308.595,
|
|
"player": 0.008,
|
|
"url_check": 257.751,
|
|
"total": 919.847
|
|
},
|
|
"counts": {
|
|
"classes": 7,
|
|
"category_videos": 72,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "25",
|
|
"vod_id": "7959",
|
|
"flag": "115#木偶",
|
|
"play_id": "https://115cdn.com/s/swfu7lp36dh?password=f4d6"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://115cdn.com/s/swfu7lp36dh?password=f4d6",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://115cdn.com/s/swfu7lp36dh?password=f4d6",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "樱花动漫",
|
|
"file": "樱花动漫.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 5.454,
|
|
"init": 0.001,
|
|
"home": 0.0,
|
|
"category": 2225.054,
|
|
"detail": 1593.095,
|
|
"player": 1443.56,
|
|
"url_check": 1009.592,
|
|
"total": 6277.462
|
|
},
|
|
"counts": {
|
|
"classes": 4,
|
|
"category_videos": 36,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "guoman",
|
|
"vod_id": "18530",
|
|
"flag": "高清",
|
|
"play_id": "/play/18530-1-1/"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://vip.ffzy-plays.com/20260211/50403_026573d4/index.m3u8",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://vip.ffzy-plays.com/20260211/50403_026573d4/index.m3u8",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "橘子TV",
|
|
"file": "橘子TV.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 3.756,
|
|
"init": 338.976,
|
|
"home": 393.753,
|
|
"category": 385.876,
|
|
"detail": 473.901,
|
|
"player": 1563.103,
|
|
"url_check": 1034.085,
|
|
"total": 4194.022
|
|
},
|
|
"counts": {
|
|
"classes": 8,
|
|
"category_videos": 18,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "50",
|
|
"vod_id": "399092",
|
|
"flag": "一起看APP",
|
|
"play_id": "25430680"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://usaydd.5gwcft9h.com/m3u87/share/7434749/7628489/20260514/154832/1080/index.m3u8?sign=9241927f6fafcaf44eb7330383628fe3&t=1779361980",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://usaydd.5gwcft9h.com/m3u87/share/7434749/7628489/20260514/154832/1080/index.m3u8?sign=9241927f6fafcaf44eb7330383628fe3&t=1779361980",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "欧歌",
|
|
"file": "欧歌.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 7.812,
|
|
"init": 0.001,
|
|
"home": 0.0,
|
|
"category": 285.277,
|
|
"detail": 392.186,
|
|
"player": 0.006,
|
|
"url_check": 1092.882,
|
|
"total": 1778.612
|
|
},
|
|
"counts": {
|
|
"classes": 6,
|
|
"category_videos": 72,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "30078",
|
|
"flag": "百度",
|
|
"play_id": "https://pan.baidu.com/s/1kbV2djHyOxiEBAL7Chv0ng?pwd=8888"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://pan.baidu.com/s/1kbV2djHyOxiEBAL7Chv0ng?pwd=8888",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://pan.baidu.com/share/init?surl=kbV2djHyOxiEBAL7Chv0ng&pwd=8888",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "沐辞4K",
|
|
"file": "沐辞4K.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 10.179,
|
|
"init": 142.876,
|
|
"home": 190.429,
|
|
"category": 143.795,
|
|
"detail": 130.741,
|
|
"player": 108.816,
|
|
"url_check": 153.687,
|
|
"total": 881.012
|
|
},
|
|
"counts": {
|
|
"classes": 7,
|
|
"category_videos": 20,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "399728",
|
|
"flag": "🔥蓝光🔥",
|
|
"play_id": "YYNB-ed6d8c98e2fdb332f780e0d95dc4b49e@@@YYNB"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://fffan.wki8.com/hls/bf2c25759a917f71dcb8d0a625e31da8.m3u8?token=e44c21021df7fceacc70e10039df4ccc&time=1779361978&YYNB.m3u8",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://fffan.wki8.com/hls/bf2c25759a917f71dcb8d0a625e31da8.m3u8?token=e44c21021df7fceacc70e10039df4ccc&time=1779361978&YYNB.m3u8",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "河马短剧",
|
|
"file": "河马短剧.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 4.911,
|
|
"init": 0.0,
|
|
"home": 361.813,
|
|
"category": 395.415,
|
|
"detail": 1179.821,
|
|
"player": 0.023,
|
|
"url_check": 217.039,
|
|
"total": 2159.749
|
|
},
|
|
"counts": {
|
|
"classes": 10,
|
|
"category_videos": 10,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "462",
|
|
"vod_id": "41000194161",
|
|
"flag": "河马剧场",
|
|
"play_id": "https://dzzt-video.cbread.cn/3cef3fba93e64003b61b09c860a1f764/6a102920/90/1x6/16x1/161x4/16149100014/612735109_1/612735109.720p.narrowv3.mp4"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://dzzt-video.cbread.cn/3cef3fba93e64003b61b09c860a1f764/6a102920/90/1x6/16x1/161x4/16149100014/612735109_1/612735109.720p.narrowv3.mp4",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://dzzt-video.cbread.cn/3cef3fba93e64003b61b09c860a1f764/6a102920/90/1x6/16x1/161x4/16149100014/612735109_1/612735109.720p.narrowv3.mp4",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "清沅4K",
|
|
"file": "清沅4K.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 7.257,
|
|
"init": 263.084,
|
|
"home": 626.157,
|
|
"category": 320.681,
|
|
"detail": 337.174,
|
|
"player": 768.342,
|
|
"url_check": 50.081,
|
|
"total": 2373.413
|
|
},
|
|
"counts": {
|
|
"classes": 7,
|
|
"category_videos": 20,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "54508",
|
|
"flag": "qq",
|
|
"play_id": "https://v.qq.com/x/cover/ji5c0mbrafu7011/h0032goqc0j.html@@@qq"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://apd-vlive.apdcdn.tc.qq.com/defaultts.tc.qq.com/B_3k--xdVBUHYl1q0K2jODe2jj8AB_RsP4ZRdhE1Hvktx2sItpqJPHphPP8Ax8sOmc-v7DZAkOOOXcNpIiFr4g2WtuU0swTcK0OOtFFjyaIOO5GQ1aFCdmJutUC-LOfqJ7QWhMlwWkFLEsqXwgdTXrXg/svp_50112/hbYYSGfbVf1irCpg9sYkty__afmrLfLB6soo0tkFkZV2TizCt3VZ5I6Xa4HKpODqAzpyReq8XBbeIo8vf0XUjcE_Xc0s9f_CVi6WKQOlA8NdRWXaXlfiFEGliO5heHx2f0DTRdMF5fFDH7oCf_bG9dYzZ_E_vzbOJ0sR7KQY52m8OBlbjbowyD1GIT01VZE_j94NOUA8cnY/gzc_1000102_0b53giacaaaaumaffubthzrmamwdea7aajca.f323002.ts.m3u8?ver=4",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://apd-vlive.apdcdn.tc.qq.com/defaultts.tc.qq.com/B_3k--xdVBUHYl1q0K2jODe2jj8AB_RsP4ZRdhE1Hvktx2sItpqJPHphPP8Ax8sOmc-v7DZAkOOOXcNpIiFr4g2WtuU0swTcK0OOtFFjyaIOO5GQ1aFCdmJutUC-LOfqJ7QWhMlwWkFLEsqXwgdTXrXg/svp_50112/hbYYSGfbVf1irCpg9sYkty__afmrLfLB6soo0tkFkZV2TizCt3VZ5I6Xa4HKpODqAzpyReq8XBbeIo8vf0XUjcE_Xc0s9f_CVi6WKQOlA8NdRWXaXlfiFEGliO5heHx2f0DTRdMF5fFDH7oCf_bG9dYzZ_E_vzbOJ0sR7KQY52m8OBlbjbowyD1GIT01VZE_j94NOUA8cnY/gzc_1000102_0b53giacaaaaumaffubthzrmamwdea7aajca.f323002.ts.m3u8?ver=4",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "滴答影视",
|
|
"file": "滴答影视.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 5.53,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 232.344,
|
|
"detail": 241.511,
|
|
"player": 0.003,
|
|
"url_check": 1243.249,
|
|
"total": 1723.413
|
|
},
|
|
"counts": {
|
|
"classes": 5,
|
|
"category_videos": 48,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "3052",
|
|
"flag": "百度",
|
|
"play_id": "https://pan.baidu.com/s/1IpynPB3crD7Q1CfCvSkQIw?pwd=jx4t"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://pan.baidu.com/s/1IpynPB3crD7Q1CfCvSkQIw?pwd=jx4t",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://pan.baidu.com/share/init?surl=IpynPB3crD7Q1CfCvSkQIw&pwd=jx4t",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "潮流APP",
|
|
"file": "潮流APP.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 7.098,
|
|
"init": 0.005,
|
|
"home": 128.351,
|
|
"category": 126.26,
|
|
"detail": 209.588,
|
|
"player": 290.215,
|
|
"url_check": 125.544,
|
|
"total": 887.478
|
|
},
|
|
"counts": {
|
|
"classes": 10,
|
|
"category_videos": 12,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "10",
|
|
"vod_id": "75722",
|
|
"flag": "线路二 (点击换线)",
|
|
"play_id": "75722@@0@@0"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "http://beyond8888888.ucyy.cn/2026-05-21/125_78402_NBY-e84585334a25c5b49078dfac81549a0b.m3u8?ts=1779361217-0-0-c4d94f2d26252301ff03011e8c6d6b8c",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "http://beyond8888888.ucyy.cn/2026-05-21/125_78402_NBY-e84585334a25c5b49078dfac81549a0b.m3u8?ts=1779361217-0-0-c4d94f2d26252301ff03011e8c6d6b8c",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "爱奇艺",
|
|
"file": "爱奇艺.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 11.754,
|
|
"init": 0.018,
|
|
"home": 3307.013,
|
|
"category": 1005.756,
|
|
"detail": 249.012,
|
|
"player": 0.005,
|
|
"url_check": 249.646,
|
|
"total": 4824.653
|
|
},
|
|
"counts": {
|
|
"classes": 11,
|
|
"category_videos": 48,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "pcw:1",
|
|
"vod_id": "pcw:1$6003108394876300",
|
|
"flag": "爱奇艺",
|
|
"play_id": "http://www.iqiyi.com/v_1mmd1991kgw.html"
|
|
},
|
|
"player": {
|
|
"parse": 1,
|
|
"url": "http://www.iqiyi.com/v_1mmd1991kgw.html",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://www.iqiyi.com/v_1mmd1991kgw.html",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "独播库",
|
|
"file": "独播库.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 4.238,
|
|
"init": 0.001,
|
|
"home": 0.0,
|
|
"category": 508.876,
|
|
"detail": 368.115,
|
|
"player": 344.037,
|
|
"url_check": 254.625,
|
|
"total": 1480.4
|
|
},
|
|
"counts": {
|
|
"classes": 6,
|
|
"category_videos": 48,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "index",
|
|
"vod_id": "143343",
|
|
"flag": "独播库",
|
|
"play_id": "143343-1-1"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://vid.dbokutv.com/20260331/ppotb62-S71lT2yliZApDBSvkYzBsrmD3fpCJ4nBtHsRsGlR7XgBMPaUNXnBJ0nBJ0pCK95GJ0uH2vjS34/chunklist.m3u8",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://vid.dbokutv.com/20260331/ppotb62-S71lT2yliZApDBSvkYzBsrmD3fpCJ4nBtHsRsGlR7XgBMPaUNXnBJ0nBJ0pCK95GJ0uH2vjS34/chunklist.m3u8",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "猫猫4K",
|
|
"file": "猫猫4K.txt",
|
|
"success": false,
|
|
"failed_stage": "player",
|
|
"error": "playerContent 未返回播放地址",
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 7.127,
|
|
"init": 392.95,
|
|
"home": 643.021,
|
|
"category": 1044.822,
|
|
"detail": 274.907,
|
|
"player": 1211.273,
|
|
"url_check": 0.0,
|
|
"total": 5921.464
|
|
},
|
|
"counts": {
|
|
"classes": 5,
|
|
"category_videos": 20,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "2",
|
|
"vod_id": "842",
|
|
"flag": "火猫极速Q",
|
|
"play_id": "https://v.qq.com/x/cover/mzc0020027s08l1/g41011u2sng.html@@@qq"
|
|
},
|
|
"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": 6.605,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 272.85,
|
|
"detail": 0.0,
|
|
"player": 0.0,
|
|
"url_check": 0.0,
|
|
"total": 684.537
|
|
},
|
|
"counts": {
|
|
"classes": 8,
|
|
"category_videos": 0,
|
|
"detail_videos": 0,
|
|
"episodes": 0
|
|
},
|
|
"samples": {
|
|
"tid": "2",
|
|
"vod_id": null,
|
|
"flag": null,
|
|
"play_id": null
|
|
},
|
|
"player": {
|
|
"parse": null,
|
|
"url": "",
|
|
"valid": false,
|
|
"reachable": null,
|
|
"status_code": null,
|
|
"final_url": "",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "玩偶聚合",
|
|
"file": "玩偶聚合.txt",
|
|
"success": false,
|
|
"failed_stage": "unexpected",
|
|
"error": "HTTPSConnectionPool(host='wogg.xxooo.cf', port=443): Max retries exceeded with url: /vodshow/44--------1---.html (Caused by ConnectTimeoutError(<HTTPSConnection(host='wogg.xxooo.cf', port=443) at 0x73d60182e5d0>, 'Connection to wogg.xxooo.cf timed out. (connect timeout=10)'))",
|
|
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 716, in validate_spider_file\n _validate_from_tid(\n ~~~~~~~~~~~~~~~~~~^\n spider=spider,\n ^^^^^^^^^^^^^^\n ...<6 lines>...\n logger=logger,\n ^^^^^^^^^^^^^^\n )\n ^\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 412, in _validate_from_tid\n category_result = _run_timed(result[\"timings_ms\"], \"category\", spider.categoryContent, clock, tid, \"1\", False, {})\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 291, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/玩偶聚合.txt\", line 5136, in categoryContent\n File \"/home/harold/workspace/tvbox-resources/py/玩偶聚合.txt\", line 5068, in _request_with_failover\nRuntimeError: HTTPSConnectionPool(host='wogg.xxooo.cf', port=443): Max retries exceeded with url: /vodshow/44--------1---.html (Caused by ConnectTimeoutError(<HTTPSConnection(host='wogg.xxooo.cf', port=443) at 0x73d60182e5d0>, 'Connection to wogg.xxooo.cf timed out. (connect timeout=10)'))\n",
|
|
"timings_ms": {
|
|
"module_load": 48.601,
|
|
"init": 0.001,
|
|
"home": 2.491,
|
|
"category": 10231.047,
|
|
"detail": 0.0,
|
|
"player": 0.0,
|
|
"url_check": 0.0,
|
|
"total": 10283.59
|
|
},
|
|
"counts": {
|
|
"classes": 10,
|
|
"category_videos": 0,
|
|
"detail_videos": 0,
|
|
"episodes": 0
|
|
},
|
|
"samples": {
|
|
"tid": "site_wanou",
|
|
"vod_id": null,
|
|
"flag": null,
|
|
"play_id": null
|
|
},
|
|
"player": {
|
|
"parse": null,
|
|
"url": "",
|
|
"valid": false,
|
|
"reachable": null,
|
|
"status_code": null,
|
|
"final_url": "",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "瓜子",
|
|
"file": "瓜子.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 4.447,
|
|
"init": 0.001,
|
|
"home": 0.014,
|
|
"category": 450.87,
|
|
"detail": 915.001,
|
|
"player": 456.623,
|
|
"url_check": 131.102,
|
|
"total": 1959.509
|
|
},
|
|
"counts": {
|
|
"classes": 5,
|
|
"category_videos": 30,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "128782",
|
|
"flag": "1080",
|
|
"play_id": "vod_d_id=128782&vurl_id=3323715&domain_type=8&resolution=1080&type=play"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://vd.hxcztech.com/effe49f9d75b9a54a8078948df9e99ab/20260521191301/decry/vd/20260311/MjYwZjE1YTRkO/172631/1998_1080/aac/h264/hls/decrypt/index.m3u8",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://vd.hxcztech.com/effe49f9d75b9a54a8078948df9e99ab/20260521191301/decry/vd/20260311/MjYwZjE1YTRkO/172631/1998_1080/aac/h264/hls/decrypt/index.m3u8",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "百度短剧",
|
|
"file": "百度短剧.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 3.227,
|
|
"init": 0.001,
|
|
"home": 2072.903,
|
|
"category": 270.834,
|
|
"detail": 635.702,
|
|
"player": 279.768,
|
|
"url_check": 85.426,
|
|
"total": 3348.266
|
|
},
|
|
"counts": {
|
|
"classes": 29,
|
|
"category_videos": 9,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "3",
|
|
"vod_id": "10284595040762396431",
|
|
"flag": "百度短剧",
|
|
"play_id": "4723147730512611191|||10284595040762396431"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "http://vd3.bdstatic.com/mda-rgu31fx13xnschwc/1080p/mv_cae264_backtrack_1080p_normal/1753858859061604699/mda-rgu31fx13xnschwc.mp4?v_from_s=haokan-ui-video-hnb",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "http://vd3.bdstatic.com/mda-rgu31fx13xnschwc/1080p/mv_cae264_backtrack_1080p_normal/1753858859061604699/mda-rgu31fx13xnschwc.mp4?v_from_s=haokan-ui-video-hnb",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "盘Ta",
|
|
"file": "盘Ta.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 4.323,
|
|
"init": 0.001,
|
|
"home": 312.282,
|
|
"category": 305.164,
|
|
"detail": 332.613,
|
|
"player": 0.026,
|
|
"url_check": 197.015,
|
|
"total": 1151.974
|
|
},
|
|
"counts": {
|
|
"classes": 8,
|
|
"category_videos": 30,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "?tagId=39765285016165",
|
|
"vod_id": "264430",
|
|
"flag": "移动",
|
|
"play_id": "https://yun.139.com/shareweb/%23/w/i/2sUfBKpu5QBqz"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://yun.139.com/shareweb/#/w/i/2sUfBKpu5QBqz",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://yun.139.com/shareweb/#/w/i/2sUfBKpu5QBqz",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "盘聚",
|
|
"file": "盘聚.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 5.421,
|
|
"init": 0.0,
|
|
"home": 0.001,
|
|
"category": 296.302,
|
|
"detail": 281.955,
|
|
"player": 221.582,
|
|
"url_check": 1531.902,
|
|
"total": 2337.672
|
|
},
|
|
"counts": {
|
|
"classes": 4,
|
|
"category_videos": 20,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "/",
|
|
"vod_id": "118943",
|
|
"flag": "百度1",
|
|
"play_id": "push://https://www.seedhub.cc/link_start/?redirect_to=pan_id_582338&movie_title=❤️❤️❤️【低智商犯罪】【4K 1080P】更新于 ✅ 今天"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://pan.baidu.com/s/1peTZUHSqI7G9IV8sDes97g?pwd=ojmk",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://pan.baidu.com/share/init?surl=peTZUHSqI7G9IV8sDes97g&pwd=ojmk",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "盘链",
|
|
"file": "盘链.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 7.57,
|
|
"init": 0.023,
|
|
"home": 0.001,
|
|
"category": 1575.818,
|
|
"detail": 390.594,
|
|
"player": 0.003,
|
|
"url_check": 1192.469,
|
|
"total": 3167.319
|
|
},
|
|
"counts": {
|
|
"classes": 5,
|
|
"category_videos": 30,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "0",
|
|
"vod_id": "75716",
|
|
"flag": "百度",
|
|
"play_id": "push://https://pan.baidu.com/s/1rbhXV3rLNKd1wVta_hMYnw?pwd=8888"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://pan.baidu.com/s/1rbhXV3rLNKd1wVta_hMYnw?pwd=8888",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://pan.baidu.com/share/init?surl=rbhXV3rLNKd1wVta_hMYnw&pwd=8888",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "短剧优选",
|
|
"file": "短剧优选.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 23.612,
|
|
"init": 660.732,
|
|
"home": 0.121,
|
|
"category": 470.15,
|
|
"detail": 388.959,
|
|
"player": 0.002,
|
|
"url_check": 103.46,
|
|
"total": 1647.894
|
|
},
|
|
"counts": {
|
|
"classes": 11,
|
|
"category_videos": 75,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "七猫",
|
|
"vod_id": "七猫@24333",
|
|
"flag": "七猫短剧",
|
|
"play_id": "https://cdn-vod-playlet.wtzw.com/asset/b936eac78f199fd865afbe3c5b707e7f/play_multi_video/6f7310c287644b7c813ab8e2eb7a4a0c/f1223068052dd7f1bc88718af4b2c0e4.m3u8"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://cdn-vod-playlet.wtzw.com/asset/b936eac78f199fd865afbe3c5b707e7f/play_multi_video/6f7310c287644b7c813ab8e2eb7a4a0c/f1223068052dd7f1bc88718af4b2c0e4.m3u8",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://cdn-vod-playlet.wtzw.com/asset/b936eac78f199fd865afbe3c5b707e7f/play_multi_video/6f7310c287644b7c813ab8e2eb7a4a0c/f1223068052dd7f1bc88718af4b2c0e4.m3u8",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "短剧网",
|
|
"file": "短剧网.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 3.537,
|
|
"init": 0.0,
|
|
"home": 0.001,
|
|
"category": 369.363,
|
|
"detail": 270.117,
|
|
"player": 0.006,
|
|
"url_check": 220.657,
|
|
"total": 864.222
|
|
},
|
|
"counts": {
|
|
"classes": 2,
|
|
"category_videos": 20,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "https://sm3.cc/?id=51627",
|
|
"flag": "夸克",
|
|
"play_id": "https://pan.quark.cn/s/aa9341e32c89"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://pan.quark.cn/s/aa9341e32c89",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://pan.quark.cn/s/aa9341e32c89",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "糯米",
|
|
"file": "糯米.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 6.263,
|
|
"init": 0.0,
|
|
"home": 579.192,
|
|
"category": 813.787,
|
|
"detail": 197.124,
|
|
"player": 387.376,
|
|
"url_check": 385.86,
|
|
"total": 2370.326
|
|
},
|
|
"counts": {
|
|
"classes": 7,
|
|
"category_videos": 81,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "/vod-type-id-1-pg-1.html",
|
|
"vod_id": "90063",
|
|
"flag": "uvw",
|
|
"play_id": "/vod-play-id-90063-src-1-num-1.html"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://vip.123pan.cn/1853039965/dy/东北往事极恶不赦.m3u8",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://vip.123pan.cn/1853039965/dy/%E4%B8%9C%E5%8C%97%E5%BE%80%E4%BA%8B%E6%9E%81%E6%81%B6%E4%B8%8D%E8%B5%A6.m3u8",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "网易云音乐",
|
|
"file": "网易云音乐.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 3.593,
|
|
"init": 0.001,
|
|
"home": 444.705,
|
|
"category": 436.076,
|
|
"detail": 0.011,
|
|
"player": 1193.887,
|
|
"url_check": 62.595,
|
|
"total": 2142.534
|
|
},
|
|
"counts": {
|
|
"classes": 62,
|
|
"category_videos": 100,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "/discover/toplist?id=19723756",
|
|
"vod_id": "3382908505@玻璃@Gareth.T👉MV",
|
|
"flag": "网易云音乐",
|
|
"play_id": "3382908505"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://vodkgeyttp8.vod.126.net/cloudmusic/97b8/core/049a/1cfe51550208f56600ac733af86ae87c.mp4?wsSecret=dc1309c04ad53d9b1f53da7af57a27cc&wsTime=1779361984",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://vodkgeyttp8.vod.126.net/cloudmusic/97b8/core/049a/1cfe51550208f56600ac733af86ae87c.mp4?wsSecret=dc1309c04ad53d9b1f53da7af57a27cc&wsTime=1779361984",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "耐视点播",
|
|
"file": "耐视点播.txt",
|
|
"success": false,
|
|
"failed_stage": "category",
|
|
"error": "分类视频列表为空",
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 8.036,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 1578.112,
|
|
"detail": 0.0,
|
|
"player": 0.0,
|
|
"url_check": 0.0,
|
|
"total": 3260.605
|
|
},
|
|
"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": 5.688,
|
|
"init": 0.001,
|
|
"home": 1176.318,
|
|
"category": 253.905,
|
|
"detail": 1232.126,
|
|
"player": 0.002,
|
|
"url_check": 250.009,
|
|
"total": 2924.13
|
|
},
|
|
"counts": {
|
|
"classes": 7,
|
|
"category_videos": 12,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "choice",
|
|
"vod_id": "choice$mzc002009g0nh88",
|
|
"flag": "腾讯视频",
|
|
"play_id": "https://v.qq.com/x/cover/mzc002009g0nh88/w4102d4f4ur.html"
|
|
},
|
|
"player": {
|
|
"parse": 1,
|
|
"url": "https://v.qq.com/x/cover/mzc002009g0nh88/w4102d4f4ur.html",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://v.qq.com/x/cover/mzc002009g0nh88/w4102d4f4ur.html",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "至臻",
|
|
"file": "至臻.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 9.728,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 339.897,
|
|
"detail": 335.727,
|
|
"player": 0.004,
|
|
"url_check": 1020.349,
|
|
"total": 1706.088
|
|
},
|
|
"counts": {
|
|
"classes": 7,
|
|
"category_videos": 72,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "20480",
|
|
"flag": "百度#至臻",
|
|
"play_id": "https://pan.baidu.com/s/1veZLeaYWTo6tOKTfrxHsmA?pwd=a86k"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://pan.baidu.com/s/1veZLeaYWTo6tOKTfrxHsmA?pwd=a86k",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://pan.baidu.com/share/init?surl=veZLeaYWTo6tOKTfrxHsmA&pwd=a86k",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "茶杯狐",
|
|
"file": "茶杯狐.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 7.009,
|
|
"init": 0.0,
|
|
"home": 2160.754,
|
|
"category": 1011.203,
|
|
"detail": 813.541,
|
|
"player": 1371.865,
|
|
"url_check": 873.436,
|
|
"total": 6238.493
|
|
},
|
|
"counts": {
|
|
"classes": 4,
|
|
"category_videos": 36,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "detail/video/121144",
|
|
"flag": "FF有广2",
|
|
"play_id": "play/121144-1-1"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://vip.ffzy-plays.com/20260521/53826_b70b811e/index.m3u8",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://vip.ffzy-plays.com/20260521/53826_b70b811e/index.m3u8",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "虎斑",
|
|
"file": "虎斑.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 9.242,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 5325.372,
|
|
"detail": 6149.097,
|
|
"player": 0.009,
|
|
"url_check": 1036.477,
|
|
"total": 12520.703
|
|
},
|
|
"counts": {
|
|
"classes": 7,
|
|
"category_videos": 72,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "457915",
|
|
"flag": "百度#虎斑",
|
|
"play_id": "https://pan.baidu.com/s/12eLedCSBjbN4lgbt5vbBqQ?pwd=xhe3"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://pan.baidu.com/s/12eLedCSBjbN4lgbt5vbBqQ?pwd=xhe3",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://pan.baidu.com/share/init?surl=2eLedCSBjbN4lgbt5vbBqQ&pwd=xhe3",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "蜡笔",
|
|
"file": "蜡笔.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 9.303,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 682.91,
|
|
"detail": 531.96,
|
|
"player": 0.004,
|
|
"url_check": 1775.366,
|
|
"total": 2999.94
|
|
},
|
|
"counts": {
|
|
"classes": 7,
|
|
"category_videos": 72,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "29",
|
|
"vod_id": "9231",
|
|
"flag": "百度#蜡笔",
|
|
"play_id": "https://pan.baidu.com/s/1LZC9v0B6ETfpQWooAqqxJA?pwd=jcx5"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://pan.baidu.com/s/1LZC9v0B6ETfpQWooAqqxJA?pwd=jcx5",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://pan.baidu.com/share/init?surl=LZC9v0B6ETfpQWooAqqxJA&pwd=jcx5",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "袋鼠影视",
|
|
"file": "袋鼠影视.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 6.091,
|
|
"init": 0.0,
|
|
"home": 0.0,
|
|
"category": 855.104,
|
|
"detail": 215.278,
|
|
"player": 230.493,
|
|
"url_check": 1029.7,
|
|
"total": 2337.359
|
|
},
|
|
"counts": {
|
|
"classes": 4,
|
|
"category_videos": 36,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "414946",
|
|
"flag": "蓝光专线4",
|
|
"play_id": "play/414946-1-0"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://play.phimgood.com/20260520/27061_3dc91c93/index.m3u8",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://play.phimgood.com/20260520/27061_3dc91c93/index.m3u8",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "视界",
|
|
"file": "视界.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 16.321,
|
|
"init": 0.001,
|
|
"home": 390.485,
|
|
"category": 241.776,
|
|
"detail": 273.469,
|
|
"player": 703.47,
|
|
"url_check": 146.956,
|
|
"total": 1773.069
|
|
},
|
|
"counts": {
|
|
"classes": 6,
|
|
"category_videos": 30,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "20",
|
|
"vod_id": "134893",
|
|
"flag": "2K源①",
|
|
"play_id": "parse_api=4fd521eae0c48923af390209e31299c2&url=0ThrJ1LedewYr5DBlrHWzZq2L1A7kh9B1oSCw/ntU9OCrP6F1EzJButm6jU1WN5BGwn0ISJOY3nwmEnqfSR+Rg==&token=33c978efa26ec828cc64b2e5835e49c4|主角|1"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://fffan.wki8.com/hls/91c8229475704c93b90ccc2ef29f08ee.m3u8?token=d050b4ed3ee74b8e00ad833fe40cedee&time=1779361985&YYNB.m3u8",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://fffan.wki8.com/hls/91c8229475704c93b90ccc2ef29f08ee.m3u8?token=d050b4ed3ee74b8e00ad833fe40cedee&time=1779361985&YYNB.m3u8",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "路漫漫",
|
|
"file": "路漫漫.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 7.511,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 927.073,
|
|
"detail": 702.135,
|
|
"player": 4573.948,
|
|
"url_check": 248.821,
|
|
"total": 8344.164
|
|
},
|
|
"counts": {
|
|
"classes": 6,
|
|
"category_videos": 20,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "6",
|
|
"vod_id": "detail/8010.html",
|
|
"flag": "dev云播",
|
|
"play_id": "play/8010_2_1.html"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://v16.toutiao50.com/7803f8ec11cb1d01680379f807e306f9/6a103fb2/video/tos/alisg/tos-alisg-ve-0051c001-sg/oEZIAIbobSfQTA7eY46sfdFSbiZGGCL9gnVDWY/",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://v16.toutiao50.com/7803f8ec11cb1d01680379f807e306f9/6a103fb2/video/tos/alisg/tos-alisg-ve-0051c001-sg/oEZIAIbobSfQTA7eY46sfdFSbiZGGCL9gnVDWY/",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "酷我听书",
|
|
"file": "酷我听书.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 7.736,
|
|
"init": 0.001,
|
|
"home": 397.421,
|
|
"category": 98.846,
|
|
"detail": 3732.663,
|
|
"player": 162.932,
|
|
"url_check": 43.449,
|
|
"total": 4444.463
|
|
},
|
|
"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/e98383a32acedba6ff97d3ebc06e2fbb/6a0ee8c4/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/e98383a32acedba6ff97d3ebc06e2fbb/6a0ee8c4/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": 15.062,
|
|
"init": 513.681,
|
|
"home": 301.86,
|
|
"category": 371.49,
|
|
"detail": 312.049,
|
|
"player": 329.401,
|
|
"url_check": 64.702,
|
|
"total": 1909.432
|
|
},
|
|
"counts": {
|
|
"classes": 12,
|
|
"category_videos": 15,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "recommend",
|
|
"vod_id": "567754623",
|
|
"flag": "酷狗音乐",
|
|
"play_id": "567754623"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "http://fsdg360.tx.kugou.com/202605211913/73ddbe4b660299356fe22a14295a745c/v3/73b9713d5256d093756124102938de1b/yp/p_0_960139/ap1013_us0_mic85f71c379c462618de1399950957c33_pi6101_mx567754623_qu128_s1002255785.mp3?ft=car_203559_10049&fts=b05bb02d44717442054bac7624ed9a29&ext=.mp3",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "http://fsdg360.tx.kugou.com/202605211913/73ddbe4b660299356fe22a14295a745c/v3/73b9713d5256d093756124102938de1b/yp/p_0_960139/ap1013_us0_mic85f71c379c462618de1399950957c33_pi6101_mx567754623_qu128_s1002255785.mp3?ft=car_203559_10049&fts=b05bb02d44717442054bac7624ed9a29&ext=.mp3",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "金牌",
|
|
"file": "金牌.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 3.686,
|
|
"init": 0.0,
|
|
"home": 8548.162,
|
|
"category": 230.298,
|
|
"detail": 238.262,
|
|
"player": 322.994,
|
|
"url_check": 560.284,
|
|
"total": 9904.262
|
|
},
|
|
"counts": {
|
|
"classes": 4,
|
|
"category_videos": 30,
|
|
"detail_videos": 1,
|
|
"episodes": 1
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "143230",
|
|
"flag": "金牌线路",
|
|
"play_id": "143230@1271963"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://ppvod011.blbtgg.com/splitOut/20260318/1267932/V20260318194542050871267932/index.m3u8?auth_key=1779361993-b7462c4969ac42fe965e48324613994c-0-2ae350b505422e6be59865c2dfab33e3",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://ppvod011.blbtgg.com/splitOut/20260318/1267932/V20260318194542050871267932/index.m3u8?auth_key=1779361993-b7462c4969ac42fe965e48324613994c-0-2ae350b505422e6be59865c2dfab33e3",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "闪电",
|
|
"file": "闪电.txt",
|
|
"success": false,
|
|
"failed_stage": "category",
|
|
"error": "分类视频列表为空",
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 8.719,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 7378.644,
|
|
"detail": 0.0,
|
|
"player": 0.0,
|
|
"url_check": 0.0,
|
|
"total": 17051.946
|
|
},
|
|
"counts": {
|
|
"classes": 5,
|
|
"category_videos": 0,
|
|
"detail_videos": 0,
|
|
"episodes": 0
|
|
},
|
|
"samples": {
|
|
"tid": "2",
|
|
"vod_id": null,
|
|
"flag": null,
|
|
"play_id": null
|
|
},
|
|
"player": {
|
|
"parse": null,
|
|
"url": "",
|
|
"valid": false,
|
|
"reachable": null,
|
|
"status_code": null,
|
|
"final_url": "",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "飞快TV",
|
|
"file": "飞快TV.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 30.494,
|
|
"init": 0.001,
|
|
"home": 0.001,
|
|
"category": 1036.626,
|
|
"detail": 1046.7,
|
|
"player": 1061.333,
|
|
"url_check": 216.842,
|
|
"total": 3392.633
|
|
},
|
|
"counts": {
|
|
"classes": 4,
|
|
"category_videos": 40,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "240700",
|
|
"flag": "高清21",
|
|
"play_id": "/vodplay/240700-3-1.html"
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://v10.baofeng10.com/video/erendangdao/97563230f391/index.m3u8",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://v10.baofeng10.com/video/erendangdao/97563230f391/index.m3u8",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "魔方APP",
|
|
"file": "魔方APP.txt",
|
|
"success": false,
|
|
"failed_stage": "home",
|
|
"error": "分类列表为空",
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 17.596,
|
|
"init": 0.001,
|
|
"home": 180.908,
|
|
"category": 0.0,
|
|
"detail": 0.0,
|
|
"player": 0.0,
|
|
"url_check": 0.0,
|
|
"total": 199.01
|
|
},
|
|
"counts": {
|
|
"classes": 0,
|
|
"category_videos": 0,
|
|
"detail_videos": 0,
|
|
"episodes": 0
|
|
},
|
|
"samples": {
|
|
"tid": null,
|
|
"vod_id": null,
|
|
"flag": null,
|
|
"play_id": null
|
|
},
|
|
"player": {
|
|
"parse": null,
|
|
"url": "",
|
|
"valid": false,
|
|
"reachable": null,
|
|
"status_code": null,
|
|
"final_url": "",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "麦田影院",
|
|
"file": "麦田影院.txt",
|
|
"success": true,
|
|
"failed_stage": null,
|
|
"error": null,
|
|
"traceback": null,
|
|
"timings_ms": {
|
|
"module_load": 3.531,
|
|
"init": 0.0,
|
|
"home": 0.0,
|
|
"category": 259.164,
|
|
"detail": 268.69,
|
|
"player": 0.027,
|
|
"url_check": 540.193,
|
|
"total": 1072.261
|
|
},
|
|
"counts": {
|
|
"classes": 6,
|
|
"category_videos": 20,
|
|
"detail_videos": 1,
|
|
"episodes": 2
|
|
},
|
|
"samples": {
|
|
"tid": "1",
|
|
"vod_id": "171427",
|
|
"flag": "LZ源",
|
|
"play_id": "eyJ1cmwiOiJodHRwczovL3YubHpjZG4yNy5jb20vMjAyNTA3MzEvNjc5XzUwYTJiMDQ3L2luZGV4Lm0zdTgiLCJwYXJzZV9hcGkiOiJodHRwczovL2RlbC5tdDMyMC5jb20vbHpmZi5waHA_dXJsPSIsImhlYWRlcnMiOnt9LCJ1c2VyX2FnZW50IjoiIn0="
|
|
},
|
|
"player": {
|
|
"parse": 0,
|
|
"url": "https://v.lzcdn27.com/20250731/679_50a2b047/index.m3u8",
|
|
"valid": true,
|
|
"reachable": true,
|
|
"status_code": 200,
|
|
"final_url": "https://v.lzcdn27.com/20250731/679_50a2b047/index.m3u8",
|
|
"reason": null
|
|
}
|
|
},
|
|
{
|
|
"spider": "黑猫APP",
|
|
"file": "黑猫APP.txt",
|
|
"success": false,
|
|
"failed_stage": "unexpected",
|
|
"error": "('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))",
|
|
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 534, in _make_request\n response = conn.getresponse()\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 571, in getresponse\n httplib_response = super().getresponse()\n File \"/home/harold/.local/share/uv/python/cpython-3.14.3-linux-x86_64-gnu/lib/python3.14/http/client.py\", line 1450, in getresponse\n response.begin()\n ~~~~~~~~~~~~~~^^\n File \"/home/harold/.local/share/uv/python/cpython-3.14.3-linux-x86_64-gnu/lib/python3.14/http/client.py\", line 336, in begin\n version, status, reason = self._read_status()\n ~~~~~~~~~~~~~~~~~^^\nhttp.client.RemoteDisconnected: Remote end closed connection without response\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/requests/adapters.py\", line 645, in send\n resp = conn.urlopen(\n method=request.method,\n ...<9 lines>...\n chunked=chunked,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 841, in urlopen\n retries = retries.increment(\n method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/retry.py\", line 490, in increment\n raise reraise(type(error), error, _stacktrace)\n ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/util.py\", line 38, in reraise\n raise value.with_traceback(tb)\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\nurllib3.exceptions.ProtocolError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 700, in validate_spider_file\n home_result = _run_timed(result[\"timings_ms\"], \"home\", spider.homeContent, clock, False)\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 291, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/黑猫APP.txt\", line 155, in homeContent\n File \"/home/harold/workspace/tvbox-resources/py/黑猫APP.txt\", line 67, in _api_post\n File \"/home/harold/workspace/atv-spiders/py/base/spider.py\", line 152, in post\n rsp = requests.post(url, params=params, data=data, json=json, cookies=cookies, headers=headers, timeout=timeout,\n verify=verify, stream=stream, allow_redirects=allow_redirects)\nrequests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))\n",
|
|
"timings_ms": {
|
|
"module_load": 5.879,
|
|
"init": 0.002,
|
|
"home": 215.469,
|
|
"category": 0.0,
|
|
"detail": 0.0,
|
|
"player": 0.0,
|
|
"url_check": 0.0,
|
|
"total": 223.138
|
|
},
|
|
"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
|
|
}
|
|
}
|
|
]
|
|
} |