validate
This commit is contained in:
+847
-847
@@ -1,21 +1,21 @@
|
||||
{
|
||||
"generated_at": "2026-05-24T19:20:56+08:00",
|
||||
"generated_at": "2026-05-25T19:08:48+08:00",
|
||||
"max_workers": 16,
|
||||
"total_duration_ms": 26405.917,
|
||||
"total_duration_ms": 26717.221,
|
||||
"summary": {
|
||||
"total": 78,
|
||||
"success": 65,
|
||||
"failed": 13,
|
||||
"success_rate": 0.8333,
|
||||
"success": 61,
|
||||
"failed": 17,
|
||||
"success_rate": 0.7821,
|
||||
"stage_failures": {
|
||||
"module_load": 0,
|
||||
"init": 0,
|
||||
"home": 1,
|
||||
"category": 6,
|
||||
"category": 3,
|
||||
"detail": 1,
|
||||
"player": 0,
|
||||
"player": 1,
|
||||
"url_check": 1,
|
||||
"unexpected": 4
|
||||
"unexpected": 10
|
||||
}
|
||||
},
|
||||
"results": [
|
||||
@@ -27,14 +27,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 150.184,
|
||||
"module_load": 208.264,
|
||||
"init": 0.001,
|
||||
"home": 512.032,
|
||||
"category": 0.018,
|
||||
"detail": 357.629,
|
||||
"player": 878.318,
|
||||
"url_check": 438.139,
|
||||
"total": 2341.662
|
||||
"home": 423.487,
|
||||
"category": 0.014,
|
||||
"detail": 1231.176,
|
||||
"player": 1322.258,
|
||||
"url_check": 349.76,
|
||||
"total": 3537.591
|
||||
},
|
||||
"counts": {
|
||||
"classes": 6,
|
||||
@@ -50,11 +50,11 @@
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://oss.douyinbit.com/m3u8/1adda71f0ee801aa8a4612bcaa34a055.m3u8",
|
||||
"url": "https://oss.douyinbit.com/m3u8/790f7198a20b63cd2113a552f2e0c76f.m3u8",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://oss.douyinbit.com/m3u8/1adda71f0ee801aa8a4612bcaa34a055.m3u8",
|
||||
"final_url": "https://oss.douyinbit.com/m3u8/790f7198a20b63cd2113a552f2e0c76f.m3u8",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -66,14 +66,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 153.941,
|
||||
"module_load": 218.711,
|
||||
"init": 0.001,
|
||||
"home": 0.005,
|
||||
"category": 744.473,
|
||||
"detail": 605.202,
|
||||
"player": 0.004,
|
||||
"url_check": 156.57,
|
||||
"total": 1700.456
|
||||
"home": 0.002,
|
||||
"category": 946.143,
|
||||
"detail": 608.729,
|
||||
"player": 0.006,
|
||||
"url_check": 373.292,
|
||||
"total": 2151.441
|
||||
},
|
||||
"counts": {
|
||||
"classes": 5,
|
||||
@@ -83,17 +83,17 @@
|
||||
},
|
||||
"samples": {
|
||||
"tid": "zuixin",
|
||||
"vod_id": "18583",
|
||||
"vod_id": "20199",
|
||||
"flag": "夸克网盘",
|
||||
"play_id": "push://https://pan.quark.cn/s/b80438fac841"
|
||||
"play_id": "push://https://pan.quark.cn/s/11556f608ff2"
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://pan.quark.cn/s/b80438fac841",
|
||||
"url": "https://pan.quark.cn/s/11556f608ff2",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://pan.quark.cn/s/b80438fac841",
|
||||
"final_url": "https://pan.quark.cn/s/11556f608ff2",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -105,14 +105,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 148.958,
|
||||
"init": 0.004,
|
||||
"home": 0.001,
|
||||
"category": 769.709,
|
||||
"detail": 773.649,
|
||||
"player": 0.002,
|
||||
"url_check": 0.048,
|
||||
"total": 1698.983
|
||||
"module_load": 212.551,
|
||||
"init": 0.005,
|
||||
"home": 0.002,
|
||||
"category": 626.079,
|
||||
"detail": 625.254,
|
||||
"player": 0.003,
|
||||
"url_check": 0.086,
|
||||
"total": 1480.495
|
||||
},
|
||||
"counts": {
|
||||
"classes": 12,
|
||||
@@ -144,14 +144,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 145.127,
|
||||
"module_load": 210.268,
|
||||
"init": 0.001,
|
||||
"home": 197.71,
|
||||
"category": 187.467,
|
||||
"detail": 200.582,
|
||||
"player": 194.459,
|
||||
"url_check": 372.804,
|
||||
"total": 1299.253
|
||||
"home": 217.536,
|
||||
"category": 158.019,
|
||||
"detail": 177.86,
|
||||
"player": 148.241,
|
||||
"url_check": 1392.038,
|
||||
"total": 2318.183
|
||||
},
|
||||
"counts": {
|
||||
"classes": 6,
|
||||
@@ -171,7 +171,7 @@
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://car-lv.kuwo.cn/e0efb48a4a4ad7318441a732d158bdf9/6a12df19/resource/1307392909/trackmedia/C200000W91kQ0efKLA.m4a?from=vip",
|
||||
"final_url": "https://car-lv.kuwo.cn/eb88781611f8ad5ce13fe3ce2cd4772a/6a142dc2/resource/1307392909/trackmedia/C200000W91kQ0efKLA.m4a?from=vip",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -183,14 +183,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 247.168,
|
||||
"init": 0.0,
|
||||
"module_load": 257.671,
|
||||
"init": 0.001,
|
||||
"home": 0.001,
|
||||
"category": 715.134,
|
||||
"detail": 378.939,
|
||||
"category": 1044.538,
|
||||
"detail": 1115.545,
|
||||
"player": 0.009,
|
||||
"url_check": 315.18,
|
||||
"total": 1657.156
|
||||
"url_check": 1840.348,
|
||||
"total": 4258.669
|
||||
},
|
||||
"counts": {
|
||||
"classes": 2,
|
||||
@@ -200,17 +200,17 @@
|
||||
},
|
||||
"samples": {
|
||||
"tid": "1",
|
||||
"vod_id": "movie/8191.html",
|
||||
"vod_id": "movie/8196.html",
|
||||
"flag": "PPnix",
|
||||
"play_id": "8191|1080P"
|
||||
"play_id": "8196|1080P"
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://www.ppnix.com/info/m3u8/8191/1080P.m3u8",
|
||||
"url": "https://www.ppnix.com/info/m3u8/8196/1080P.m3u8",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://www.ppnix.com/info/m3u8/8191/1080P.m3u8",
|
||||
"final_url": "https://www.ppnix.com/info/m3u8/8196/1080P.m3u8",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -222,34 +222,34 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 180.179,
|
||||
"init": 0.011,
|
||||
"home": 0.003,
|
||||
"category": 515.194,
|
||||
"detail": 237.549,
|
||||
"player": 242.623,
|
||||
"url_check": 179.002,
|
||||
"total": 1368.557
|
||||
"module_load": 208.345,
|
||||
"init": 0.01,
|
||||
"home": 0.004,
|
||||
"category": 746.623,
|
||||
"detail": 219.958,
|
||||
"player": 495.987,
|
||||
"url_check": 443.862,
|
||||
"total": 3675.751
|
||||
},
|
||||
"counts": {
|
||||
"classes": 6,
|
||||
"category_videos": 30,
|
||||
"category_videos": 44,
|
||||
"detail_videos": 1,
|
||||
"episodes": 1
|
||||
},
|
||||
"samples": {
|
||||
"tid": "playlist",
|
||||
"vod_id": "playlist:7727620732",
|
||||
"tid": "top",
|
||||
"vod_id": "top:135",
|
||||
"flag": "QQ音乐",
|
||||
"play_id": "qqmusic:00008tK63ZjXt8:259631017|Reverse - ALisa"
|
||||
"play_id": "qqmusic:001SZuO01zTv4Y:666401051|凌绝顶 - 梓渝"
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://isure.stream.qqmusic.qq.com/F000003e6axj3Knw3w.flac?guid=c2aff241564d1f4caeb65e3062656f04&vkey=1EA7EDAF0A6F5544D922A73DDD2131E196CBB414785C4F514DF52140A1A5998F4FB1C552C470EB573B259598F44526CE95F92FC95EBE6D34__v2b9abfd5&uin=896389745&fromtag=119114&redirect=1",
|
||||
"url": "https://isure.stream.qqmusic.qq.com/M500001SZuO01zTv4Y.mp3?guid=51dff72837796c98e5b30edfea30c4db&vkey=DB3D7184CFFC2273DA26DE979A3BD9CD2152328F63B1E063DC8C2FD99A8A4C3BC3B38139E1676C872786CEFDE46DCADE4870B5863D764AD5__v2b94c2a0&uin=&fromtag=119042&src=M500003j9rwW2ZuKVh.mp3&redirect=1",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://isure.stream.qqmusic.qq.com/F000003e6axj3Knw3w.flac?guid=c2aff241564d1f4caeb65e3062656f04&vkey=1EA7EDAF0A6F5544D922A73DDD2131E196CBB414785C4F514DF52140A1A5998F4FB1C552C470EB573B259598F44526CE95F92FC95EBE6D34__v2b9abfd5&uin=896389745&fromtag=119114&redirect=1",
|
||||
"final_url": "https://isure.stream.qqmusic.qq.com/M500001SZuO01zTv4Y.mp3?guid=51dff72837796c98e5b30edfea30c4db&vkey=DB3D7184CFFC2273DA26DE979A3BD9CD2152328F63B1E063DC8C2FD99A8A4C3BC3B38139E1676C872786CEFDE46DCADE4870B5863D764AD5__v2b94c2a0&uin=&fromtag=119042&src=M500003j9rwW2ZuKVh.mp3&redirect=1",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -261,14 +261,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 186.873,
|
||||
"init": 0.003,
|
||||
"home": 0.075,
|
||||
"category": 848.064,
|
||||
"detail": 2054.725,
|
||||
"module_load": 208.11,
|
||||
"init": 0.004,
|
||||
"home": 0.051,
|
||||
"category": 729.293,
|
||||
"detail": 2620.757,
|
||||
"player": 0.004,
|
||||
"url_check": 1047.438,
|
||||
"total": 4152.146
|
||||
"url_check": 1103.739,
|
||||
"total": 4679.927
|
||||
},
|
||||
"counts": {
|
||||
"classes": 29,
|
||||
@@ -300,34 +300,34 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 143.813,
|
||||
"module_load": 208.108,
|
||||
"init": 0.0,
|
||||
"home": 0.0,
|
||||
"category": 208.397,
|
||||
"detail": 294.448,
|
||||
"home": 0.001,
|
||||
"category": 1897.029,
|
||||
"detail": 954.642,
|
||||
"player": 0.005,
|
||||
"url_check": 159.442,
|
||||
"total": 806.592
|
||||
"url_check": 145.406,
|
||||
"total": 3205.858
|
||||
},
|
||||
"counts": {
|
||||
"classes": 6,
|
||||
"category_videos": 48,
|
||||
"detail_videos": 1,
|
||||
"episodes": 2
|
||||
"episodes": 1
|
||||
},
|
||||
"samples": {
|
||||
"tid": "index",
|
||||
"vod_id": "714893397",
|
||||
"vod_id": "714893469",
|
||||
"flag": "夸克",
|
||||
"play_id": "https://pan.quark.cn/s/d7ce87399a57"
|
||||
"play_id": "https://pan.quark.cn/s/03ebc9aa9c9d"
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://pan.quark.cn/s/d7ce87399a57",
|
||||
"url": "https://pan.quark.cn/s/03ebc9aa9c9d",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://pan.quark.cn/s/d7ce87399a57",
|
||||
"final_url": "https://pan.quark.cn/s/03ebc9aa9c9d",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -339,34 +339,34 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 143.632,
|
||||
"module_load": 204.893,
|
||||
"init": 0.001,
|
||||
"home": 0.001,
|
||||
"category": 2013.963,
|
||||
"detail": 1368.459,
|
||||
"player": 1338.395,
|
||||
"url_check": 1135.921,
|
||||
"total": 6034.284
|
||||
"home": 0.002,
|
||||
"category": 1731.247,
|
||||
"detail": 1602.053,
|
||||
"player": 1261.947,
|
||||
"url_check": 1064.698,
|
||||
"total": 5879.305
|
||||
},
|
||||
"counts": {
|
||||
"classes": 7,
|
||||
"category_videos": 217,
|
||||
"category_videos": 241,
|
||||
"detail_videos": 1,
|
||||
"episodes": 1
|
||||
},
|
||||
"samples": {
|
||||
"tid": "index",
|
||||
"vod_id": "163503",
|
||||
"vod_id": "204132",
|
||||
"flag": "YouKnowTV",
|
||||
"play_id": "eyJ2b2RfaWQiOiIxNjM1MDMiLCJlcGlzb2RlX2luZGV4IjoxLCJ0aXRsZSI6IjIwMjMwMzAyIiwiY2FuZGlkYXRlcyI6W3sic291cmNlIjoi57q_6LevMSIsInNvdXJjZV9pZCI6IjEiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8xNjM1MDMtMS0xLyJ9LHsic291cmNlIjoi57q_6LevMiIsInNvdXJjZV9pZCI6IjEiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8xNjM1MDMtMS0xLyJ9LHsic291cmNlIjoi57q_6LevNDE5Iiwic291cmNlX2lkIjoiMyIsImVwaXNvZGVfdXJsIjoiaHR0cHM6Ly93d3cueW91a25vdy50di9wLzE2MzUwMy0zLTEvIn0seyJzb3VyY2UiOiLnur_ot680MjAiLCJzb3VyY2VfaWQiOiIzIiwiZXBpc29kZV91cmwiOiJodHRwczovL3d3dy55b3Vrbm93LnR2L3AvMTYzNTAzLTMtMS8ifSx7InNvdXJjZSI6Iue6v-i3rzYxOCIsInNvdXJjZV9pZCI6IjIiLCJlcGlzb2RlX3VybCI6Imh0dHBzOi8vd3d3LnlvdWtub3cudHYvcC8xNjM1MDMtMi0xLyJ9LHsic291cmNlIjoi57q_6LevNjE5Iiwic291cmNlX2lkIjoiMiIsImVwaXNvZGVfdXJsIjoiaHR0cHM6Ly93d3cueW91a25vdy50di9wLzE2MzUwMy0yLTEvIn1dfQ"
|
||||
"play_id": "eyJ2b2RfaWQiOiIyMDQxMzIiLCJlcGlzb2RlX2luZGV4IjoxLCJ0aXRsZSI6IuWFqOmbhiIsImNhbmRpZGF0ZXMiOlt7InNvdXJjZSI6Iue6v-i3rzEiLCJzb3VyY2VfaWQiOiIxIiwiZXBpc29kZV91cmwiOiJodHRwczovL3d3dy55b3Vrbm93LnR2L3AvMjA0MTMyLTEtMS8ifSx7InNvdXJjZSI6Iue6v-i3rzIiLCJzb3VyY2VfaWQiOiIxIiwiZXBpc29kZV91cmwiOiJodHRwczovL3d3dy55b3Vrbm93LnR2L3AvMjA0MTMyLTEtMS8ifV19"
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://vip.dytt-cinema.com/20250324/17444_9fb640ea/index.m3u8",
|
||||
"url": "https://vip.dytt-see.com/20260525/38957_df9af533/index.m3u8",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://vip.dytt-cinema.com/20250324/17444_9fb640ea/index.m3u8",
|
||||
"final_url": "https://vip.dytt-see.com/20260525/38957_df9af533/index.m3u8",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -378,14 +378,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 142.334,
|
||||
"init": 0.005,
|
||||
"module_load": 209.202,
|
||||
"init": 0.004,
|
||||
"home": 0.002,
|
||||
"category": 745.444,
|
||||
"detail": 1055.309,
|
||||
"player": 0.003,
|
||||
"url_check": 2583.071,
|
||||
"total": 4531.366
|
||||
"category": 5305.104,
|
||||
"detail": 834.206,
|
||||
"player": 0.004,
|
||||
"url_check": 0.052,
|
||||
"total": 6362.88
|
||||
},
|
||||
"counts": {
|
||||
"classes": 5,
|
||||
@@ -395,56 +395,56 @@
|
||||
},
|
||||
"samples": {
|
||||
"tid": "1",
|
||||
"vod_id": "498675",
|
||||
"flag": "百度1",
|
||||
"play_id": "https://pan.baidu.com/s/1SOnvETAh2gr1DD3PHBGLmg?pwd=sxbj"
|
||||
"vod_id": "49725",
|
||||
"flag": "磁力1",
|
||||
"play_id": "magnet:?xt=urn:btih:eba1696ad106954c041af1ba054e59e353db9616&dn=Vision.2018.JAPANESE.720p.BluRay.H264.AAC-VXT"
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://pan.baidu.com/s/1SOnvETAh2gr1DD3PHBGLmg?pwd=sxbj",
|
||||
"url": "magnet:?xt=urn:btih:eba1696ad106954c041af1ba054e59e353db9616&dn=Vision.2018.JAPANESE.720p.BluRay.H264.AAC-VXT",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://pan.baidu.com/share/init?surl=SOnvETAh2gr1DD3PHBGLmg&pwd=sxbj",
|
||||
"reason": null
|
||||
"reachable": null,
|
||||
"status_code": null,
|
||||
"final_url": "magnet:?xt=urn:btih:eba1696ad106954c041af1ba054e59e353db9616&dn=Vision.2018.JAPANESE.720p.BluRay.H264.AAC-VXT",
|
||||
"reason": "非 HTTP 地址,按协议格式通过"
|
||||
}
|
||||
},
|
||||
{
|
||||
"spider": "不太灵",
|
||||
"file": "不太灵.txt",
|
||||
"success": true,
|
||||
"failed_stage": null,
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"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 721, 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 417, 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 296, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/不太灵.txt\", line 302, in categoryContent\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": 188.17,
|
||||
"module_load": 208.749,
|
||||
"init": 0.001,
|
||||
"home": 4148.24,
|
||||
"category": 4406.328,
|
||||
"detail": 5861.313,
|
||||
"player": 0.006,
|
||||
"url_check": 995.395,
|
||||
"total": 26399.976
|
||||
"home": 4158.455,
|
||||
"category": 10189.635,
|
||||
"detail": 0.0,
|
||||
"player": 0.0,
|
||||
"url_check": 0.0,
|
||||
"total": 14568.109
|
||||
},
|
||||
"counts": {
|
||||
"classes": 5,
|
||||
"category_videos": 25,
|
||||
"detail_videos": 1,
|
||||
"episodes": 2
|
||||
"category_videos": 0,
|
||||
"detail_videos": 0,
|
||||
"episodes": 0
|
||||
},
|
||||
"samples": {
|
||||
"tid": "2",
|
||||
"vod_id": "36310054",
|
||||
"flag": "百度",
|
||||
"play_id": "https://pan.baidu.com/s/18_BEUEFJ_WmP3DaJIsxUfQ?pwd=Yu66"
|
||||
"tid": "1",
|
||||
"vod_id": null,
|
||||
"flag": null,
|
||||
"play_id": null
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://pan.baidu.com/s/18_BEUEFJ_WmP3DaJIsxUfQ?pwd=Yu66",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://pan.baidu.com/share/init?surl=8_BEUEFJ_WmP3DaJIsxUfQ&pwd=Yu66",
|
||||
"parse": null,
|
||||
"url": "",
|
||||
"valid": false,
|
||||
"reachable": null,
|
||||
"status_code": null,
|
||||
"final_url": "",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -456,14 +456,14 @@
|
||||
"error": "详情缺少播放源或播放列表",
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 140.767,
|
||||
"module_load": 204.953,
|
||||
"init": 0.0,
|
||||
"home": 392.045,
|
||||
"category": 0.005,
|
||||
"detail": 100.895,
|
||||
"home": 379.493,
|
||||
"category": 0.011,
|
||||
"detail": 100.448,
|
||||
"player": 0.0,
|
||||
"url_check": 0.0,
|
||||
"total": 727.792
|
||||
"total": 785.806
|
||||
},
|
||||
"counts": {
|
||||
"classes": 5,
|
||||
@@ -490,78 +490,78 @@
|
||||
{
|
||||
"spider": "两个BT",
|
||||
"file": "两个BT.txt",
|
||||
"success": true,
|
||||
"failed_stage": null,
|
||||
"error": null,
|
||||
"success": false,
|
||||
"failed_stage": "category",
|
||||
"error": "分类视频列表为空",
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 198.863,
|
||||
"init": 0.001,
|
||||
"module_load": 219.619,
|
||||
"init": 0.0,
|
||||
"home": 0.001,
|
||||
"category": 405.049,
|
||||
"detail": 341.56,
|
||||
"player": 736.435,
|
||||
"url_check": 452.312,
|
||||
"total": 2135.798
|
||||
"category": 5010.734,
|
||||
"detail": 0.0,
|
||||
"player": 0.0,
|
||||
"url_check": 0.0,
|
||||
"total": 10268.16
|
||||
},
|
||||
"counts": {
|
||||
"classes": 14,
|
||||
"category_videos": 24,
|
||||
"detail_videos": 1,
|
||||
"episodes": 1
|
||||
"category_videos": 0,
|
||||
"detail_videos": 0,
|
||||
"episodes": 0
|
||||
},
|
||||
"samples": {
|
||||
"tid": "zgjun",
|
||||
"vod_id": "ch45x6dqu",
|
||||
"flag": "两个BT",
|
||||
"play_id": "eyJwaWQiOiIvcGxheS9jaDQ1eDZkcXUiLCJzaWQiOiJjaDQ1eDZkcXUiLCJuYW1lIjoiMSJ9"
|
||||
"tid": "meiju",
|
||||
"vod_id": null,
|
||||
"flag": null,
|
||||
"play_id": null
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://zijieapi.douyinbyte.com/m3u8/534d87ea1d38261042ced3d85ebaa840.m3u8",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://zijieapi.douyinbyte.com/m3u8/534d87ea1d38261042ced3d85ebaa840.m3u8",
|
||||
"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,
|
||||
"success": false,
|
||||
"failed_stage": "unexpected",
|
||||
"error": "HTTPSConnectionPool(host='wooyun.tv', port=443): Max retries exceeded with url: /movie/category/menu (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1081)')))",
|
||||
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 464, in _make_request\n self._validate_conn(conn)\n ~~~~~~~~~~~~~~~~~~~^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 1093, in _validate_conn\n conn.connect()\n ~~~~~~~~~~~~^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 796, in connect\n sock_and_verified = _ssl_wrap_socket_and_match_hostname(\n sock=sock,\n ...<14 lines>...\n assert_fingerprint=self.assert_fingerprint,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 975, in _ssl_wrap_socket_and_match_hostname\n ssl_sock = ssl_wrap_socket(\n sock=sock,\n ...<8 lines>...\n tls_in_tls=tls_in_tls,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/ssl_.py\", line 483, in ssl_wrap_socket\n ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls, server_hostname)\nssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1081)\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 488, in _make_request\n raise new_e\nurllib3.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1081)\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/requests/adapters.py\", line 645, in send\n resp = conn.urlopen(\n method=request.method,\n ...<9 lines>...\n chunked=chunked,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 841, in urlopen\n retries = retries.increment(\n method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/retry.py\", line 535, in increment\n raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nurllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='wooyun.tv', port=443): Max retries exceeded with url: /movie/category/menu (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1081)')))\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 705, 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 296, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/乌云影视.txt\", line 245, in homeContent\n File \"/home/harold/workspace/tvbox-resources/py/乌云影视.txt\", line 80, in _request_json\n File \"/home/harold/workspace/atv-spiders/py/base/spider.py\", line 145, in fetch\n rsp = requests.get(url, params=params, cookies=cookies, headers=headers, timeout=timeout, verify=verify,\n stream=stream, allow_redirects=allow_redirects)\nrequests.exceptions.SSLError: HTTPSConnectionPool(host='wooyun.tv', port=443): Max retries exceeded with url: /movie/category/menu (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1081)')))\n",
|
||||
"timings_ms": {
|
||||
"module_load": 214.519,
|
||||
"init": 0.001,
|
||||
"home": 364.139,
|
||||
"category": 419.76,
|
||||
"detail": 1164.829,
|
||||
"player": 0.027,
|
||||
"url_check": 2110.591,
|
||||
"total": 4276.172
|
||||
"module_load": 203.678,
|
||||
"init": 0.0,
|
||||
"home": 114.974,
|
||||
"category": 0.0,
|
||||
"detail": 0.0,
|
||||
"player": 0.0,
|
||||
"url_check": 0.0,
|
||||
"total": 324.522
|
||||
},
|
||||
"counts": {
|
||||
"classes": 7,
|
||||
"category_videos": 24,
|
||||
"detail_videos": 1,
|
||||
"episodes": 1
|
||||
"classes": 0,
|
||||
"category_videos": 0,
|
||||
"detail_videos": 0,
|
||||
"episodes": 0
|
||||
},
|
||||
"samples": {
|
||||
"tid": "movie",
|
||||
"vod_id": "483203",
|
||||
"flag": "乌云影视",
|
||||
"play_id": "eyJtZWRpYUlkIjogIjQ4MzIwMyIsICJzZWFzb25ObyI6IDEsICJlcE5vIjogMSwgInZpZGVvSWQiOiAxNTc2MjgzMiwgInBsYXlVcmwiOiAiaHR0cHM6Ly9kMWpkbm1rYzFuNWNuNC5jbG91ZGZyb250Lm5ldC9nZW5fb3ZlcnNlYXMvaHR0cHM6Ly9zMi5iZmxsdmlwLmNvbS92aWRlby95YW54aWF4aW5nL2E2ZWY4NTRjMGMxZi9pbmRleC5tM3U4IiwgIm5hbWUiOiAi56ysMembhiDpq5jmuIUifQ"
|
||||
"tid": null,
|
||||
"vod_id": null,
|
||||
"flag": null,
|
||||
"play_id": null
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://d1jdnmkc1n5cn4.cloudfront.net/gen_overseas/https://s2.bfllvip.com/video/yanxiaxing/a6ef854c0c1f/index.m3u8",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://d1jdnmkc1n5cn4.cloudfront.net/hls_overseas/fb29d0c94cfb3c9c29ad9c3672b709257f40e7a4.m3u8",
|
||||
"parse": null,
|
||||
"url": "",
|
||||
"valid": false,
|
||||
"reachable": null,
|
||||
"status_code": null,
|
||||
"final_url": "",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -569,18 +569,18 @@
|
||||
"spider": "乐兔",
|
||||
"file": "乐兔.txt",
|
||||
"success": false,
|
||||
"failed_stage": "category",
|
||||
"error": "分类视频列表为空",
|
||||
"traceback": null,
|
||||
"failed_stage": "unexpected",
|
||||
"error": "HTTPSConnectionPool(host='www.letu.me', port=443): Max retries exceeded with url: /type/1.html (Caused by SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1081)')))",
|
||||
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 464, in _make_request\n self._validate_conn(conn)\n ~~~~~~~~~~~~~~~~~~~^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 1093, in _validate_conn\n conn.connect()\n ~~~~~~~~~~~~^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 796, in connect\n sock_and_verified = _ssl_wrap_socket_and_match_hostname(\n sock=sock,\n ...<14 lines>...\n assert_fingerprint=self.assert_fingerprint,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 975, in _ssl_wrap_socket_and_match_hostname\n ssl_sock = ssl_wrap_socket(\n sock=sock,\n ...<8 lines>...\n tls_in_tls=tls_in_tls,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/ssl_.py\", line 483, in ssl_wrap_socket\n ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls, server_hostname)\nssl.SSLEOFError: [SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1081)\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 488, in _make_request\n raise new_e\nurllib3.exceptions.SSLError: [SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1081)\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/requests/adapters.py\", line 645, in send\n resp = conn.urlopen(\n method=request.method,\n ...<9 lines>...\n chunked=chunked,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 841, in urlopen\n retries = retries.increment(\n method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/retry.py\", line 535, in increment\n raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nurllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='www.letu.me', port=443): Max retries exceeded with url: /type/1.html (Caused by SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1081)')))\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 721, 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 417, 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 296, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/乐兔.txt\", line 117, in categoryContent\n File \"/home/harold/workspace/tvbox-resources/py/乐兔.txt\", line 72, in _request_html\nrequests.exceptions.SSLError: HTTPSConnectionPool(host='www.letu.me', port=443): Max retries exceeded with url: /type/1.html (Caused by SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1081)')))\n",
|
||||
"timings_ms": {
|
||||
"module_load": 139.621,
|
||||
"module_load": 206.1,
|
||||
"init": 0.001,
|
||||
"home": 0.0,
|
||||
"category": 396.681,
|
||||
"home": 0.001,
|
||||
"category": 169.828,
|
||||
"detail": 0.0,
|
||||
"player": 0.0,
|
||||
"url_check": 0.0,
|
||||
"total": 1060.32
|
||||
"total": 392.319
|
||||
},
|
||||
"counts": {
|
||||
"classes": 5,
|
||||
@@ -589,7 +589,7 @@
|
||||
"episodes": 0
|
||||
},
|
||||
"samples": {
|
||||
"tid": "2",
|
||||
"tid": "1",
|
||||
"vod_id": null,
|
||||
"flag": null,
|
||||
"play_id": null
|
||||
@@ -612,14 +612,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 205.553,
|
||||
"module_load": 205.262,
|
||||
"init": 0.001,
|
||||
"home": 0.001,
|
||||
"category": 455.578,
|
||||
"detail": 203.17,
|
||||
"player": 0.007,
|
||||
"url_check": 1304.997,
|
||||
"total": 2169.769
|
||||
"category": 368.832,
|
||||
"detail": 612.825,
|
||||
"player": 0.005,
|
||||
"url_check": 4469.267,
|
||||
"total": 5665.816
|
||||
},
|
||||
"counts": {
|
||||
"classes": 4,
|
||||
@@ -651,14 +651,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 3.709,
|
||||
"module_load": 5.384,
|
||||
"init": 0.001,
|
||||
"home": 0.0,
|
||||
"category": 593.509,
|
||||
"detail": 793.841,
|
||||
"player": 0.01,
|
||||
"url_check": 968.506,
|
||||
"total": 2360.254
|
||||
"category": 1033.172,
|
||||
"detail": 671.197,
|
||||
"player": 0.008,
|
||||
"url_check": 1231.438,
|
||||
"total": 2942.314
|
||||
},
|
||||
"counts": {
|
||||
"classes": 4,
|
||||
@@ -690,14 +690,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 4.185,
|
||||
"module_load": 5.542,
|
||||
"init": 0.001,
|
||||
"home": 312.737,
|
||||
"category": 238.347,
|
||||
"detail": 210.251,
|
||||
"player": 618.493,
|
||||
"url_check": 199.029,
|
||||
"total": 2670.854
|
||||
"home": 932.897,
|
||||
"category": 236.668,
|
||||
"detail": 230.386,
|
||||
"player": 1242.328,
|
||||
"url_check": 275.483,
|
||||
"total": 5925.122
|
||||
},
|
||||
"counts": {
|
||||
"classes": 4,
|
||||
@@ -713,11 +713,11 @@
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://a3fkpcui142jgve.302.fledgecloud.com:56782/zj-302-cdn.bwcgee.cn/50c5dbf255a571f1a35d4531959d0402/7d61db94110c47c08a8f77e9be92d2b7-8c648074a2124d2abad352598f7faf32-ld.mp4?auth_key=1779636059-25463f4f02d2aa83c6d5307dc120bd39-0-620030230d17361592ffd131f99d7428&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=0a1542f47a2a4f3bb2b18e44b205315f&hevc=false&seasonId=57590",
|
||||
"url": "https://qn-302-m-play.bwcgee.cn/50c5dbf255a571f1a35d4531959d0402/7d61db94110c47c08a8f77e9be92d2b7-8c648074a2124d2abad352598f7faf32-ld.mp4?sign=eb40a02b0c856bc729749cb05c7513c4&t=6a146605&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=236fa5f4cd404689a2fbde92133937df&hevc=false&seasonId=57590",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://a3fkpcui142jgve.302.fledgecloud.com:56782/zj-302-cdn.bwcgee.cn/50c5dbf255a571f1a35d4531959d0402/7d61db94110c47c08a8f77e9be92d2b7-8c648074a2124d2abad352598f7faf32-ld.mp4?auth_key=1779636059-25463f4f02d2aa83c6d5307dc120bd39-0-620030230d17361592ffd131f99d7428&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=0a1542f47a2a4f3bb2b18e44b205315f&hevc=false&seasonId=57590",
|
||||
"final_url": "https://982546209.ahdohpiechei.com:22443/OzwfcER4VzlnIl4iDWQYIyk1VyZaKRQLOz9bOw/50c5dbf255a571f1a35d4531959d0402/7d61db94110c47c08a8f77e9be92d2b7-8c648074a2124d2abad352598f7faf32-ld.mp4?sign=eb40a02b0c856bc729749cb05c7513c4&t=6a146605&clientType=web_pc&clientVersion=1.0.0&parseUsage=PLAY&uid=0&rk=236fa5f4cd404689a2fbde92133937df&hevc=false&seasonId=57590&x-sid=0X11A5sh9arYPz&x-redirect=0X11AOzwfcER4VzlnIl4iDWcYIyk1VyZZKRR5IzZEMxI-FnolJ1AiASQfMTg3WydaKRU5&x-lid=0X11Ab5874771ed4e&x-st=0X11Ahash",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -729,14 +729,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 8.723,
|
||||
"module_load": 10.586,
|
||||
"init": 0.001,
|
||||
"home": 0.001,
|
||||
"category": 268.327,
|
||||
"detail": 516.818,
|
||||
"category": 971.528,
|
||||
"detail": 764.506,
|
||||
"player": 0.002,
|
||||
"url_check": 230.398,
|
||||
"total": 1024.556
|
||||
"url_check": 229.152,
|
||||
"total": 1976.429
|
||||
},
|
||||
"counts": {
|
||||
"classes": 6,
|
||||
@@ -746,56 +746,56 @@
|
||||
},
|
||||
"samples": {
|
||||
"tid": "电视剧",
|
||||
"vod_id": "show:afcb2d65c6a34b798d77",
|
||||
"vod_id": "show:bbaf2557249a4f2a9447",
|
||||
"flag": "优酷",
|
||||
"play_id": "https://v.youku.com/v_show/id_XNjUzNDA5NDEwNA==.html"
|
||||
"play_id": "https://v.youku.com/v_show/id_XNjUyMTM3MTY0OA==.html"
|
||||
},
|
||||
"player": {
|
||||
"parse": 1,
|
||||
"url": "https://v.youku.com/v_show/id_XNjUzNDA5NDEwNA==.html",
|
||||
"url": "https://v.youku.com/v_show/id_XNjUyMTM3MTY0OA==.html",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://v.youku.com/v_show/id_XNjUzNDA5NDEwNA==.html",
|
||||
"final_url": "https://v.youku.com/v_show/id_XNjUyMTM3MTY0OA==.html",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"spider": "低端影视",
|
||||
"file": "低端影视.txt",
|
||||
"success": true,
|
||||
"failed_stage": null,
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"success": false,
|
||||
"failed_stage": "unexpected",
|
||||
"error": "('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))",
|
||||
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 488, in _make_request\n raise new_e\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 464, in _make_request\n self._validate_conn(conn)\n ~~~~~~~~~~~~~~~~~~~^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 1093, in _validate_conn\n conn.connect()\n ~~~~~~~~~~~~^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 796, in connect\n sock_and_verified = _ssl_wrap_socket_and_match_hostname(\n sock=sock,\n ...<14 lines>...\n assert_fingerprint=self.assert_fingerprint,\n )\nConnectionResetError: [Errno 104] Connection reset by peer\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/requests/adapters.py\", line 645, in send\n resp = conn.urlopen(\n method=request.method,\n ...<9 lines>...\n chunked=chunked,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 841, in urlopen\n retries = retries.increment(\n method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/retry.py\", line 490, in increment\n raise reraise(type(error), error, _stacktrace)\n ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/util.py\", line 38, in reraise\n raise value.with_traceback(tb)\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\nurllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 721, 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 417, 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 296, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/低端影视.txt\", line 235, in categoryContent\n File \"/home/harold/workspace/tvbox-resources/py/低端影视.txt\", line 197, in _request_html\nrequests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n",
|
||||
"timings_ms": {
|
||||
"module_load": 5.664,
|
||||
"module_load": 5.999,
|
||||
"init": 0.001,
|
||||
"home": 0.001,
|
||||
"category": 750.621,
|
||||
"detail": 1363.5,
|
||||
"player": 0.007,
|
||||
"url_check": 570.23,
|
||||
"total": 2690.584
|
||||
"category": 5014.098,
|
||||
"detail": 0.0,
|
||||
"player": 0.0,
|
||||
"url_check": 0.0,
|
||||
"total": 5024.496
|
||||
},
|
||||
"counts": {
|
||||
"classes": 4,
|
||||
"category_videos": 24,
|
||||
"detail_videos": 1,
|
||||
"episodes": 2
|
||||
"category_videos": 0,
|
||||
"detail_videos": 0,
|
||||
"episodes": 0
|
||||
},
|
||||
"samples": {
|
||||
"tid": "series",
|
||||
"vod_id": "movie/fight-for-my-way",
|
||||
"flag": "播放源 1 (1080P)",
|
||||
"play_id": "https://v.lzcdn26.com/20250426/15582_5d346db5/index.m3u8"
|
||||
"vod_id": null,
|
||||
"flag": null,
|
||||
"play_id": null
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://v.lzcdn26.com/20250426/15582_5d346db5/index.m3u8",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://v.lzcdn26.com/20250426/15582_5d346db5/index.m3u8",
|
||||
"parse": null,
|
||||
"url": "",
|
||||
"valid": false,
|
||||
"reachable": null,
|
||||
"status_code": null,
|
||||
"final_url": "",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -807,14 +807,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 7.613,
|
||||
"module_load": 6.845,
|
||||
"init": 0.001,
|
||||
"home": 0.001,
|
||||
"category": 1132.632,
|
||||
"detail": 275.039,
|
||||
"player": 1802.728,
|
||||
"url_check": 611.419,
|
||||
"total": 3831.495
|
||||
"category": 826.497,
|
||||
"detail": 268.783,
|
||||
"player": 1191.041,
|
||||
"url_check": 2137.133,
|
||||
"total": 4431.249
|
||||
},
|
||||
"counts": {
|
||||
"classes": 4,
|
||||
@@ -830,11 +830,11 @@
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://v.xlys.ltd.ua/obj/1852C57973695CC9D40073809E9C50ED516429480CB42EEEC5FC6668E964F526",
|
||||
"url": "https://v.xlys.ltd.ua/obj/F34F5ED49EFAAB3C965DE6643439B6BAEBF973D5E7B330827F1DA009B1474DB0",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://lf26-imcloud-file-sign.bytetos.com/ad-penny-bucket/oQOPI7CqAgAQ3AtwAENcfAHCdmfDDF3rvDX9dR?x-expires=1779623169&x-signature=WzvcTd0fRpMsBhE7y0lvxbDoIz0%3D",
|
||||
"final_url": "https://www.baidu.com/",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -846,14 +846,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 4.483,
|
||||
"init": 0.001,
|
||||
"home": 0.001,
|
||||
"category": 2352.146,
|
||||
"detail": 1404.178,
|
||||
"player": 12161.782,
|
||||
"url_check": 2465.217,
|
||||
"total": 18388.471
|
||||
"module_load": 4.345,
|
||||
"init": 0.0,
|
||||
"home": 0.0,
|
||||
"category": 2779.834,
|
||||
"detail": 1692.525,
|
||||
"player": 2974.02,
|
||||
"url_check": 3160.418,
|
||||
"total": 10611.838
|
||||
},
|
||||
"counts": {
|
||||
"classes": 8,
|
||||
@@ -869,11 +869,11 @@
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://fktv.me/ysapi/m3u8/p/b037dc00f42fba0b1a81006ec213c7ae.m3u8",
|
||||
"url": "https://fktv.me/ysapi/m3u8/p/c64aea0f0fef351a59635492ce479e68.m3u8",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://fktv.me/ysapi/m3u8/p/b037dc00f42fba0b1a81006ec213c7ae.m3u8",
|
||||
"final_url": "https://fktv.me/ysapi/m3u8/p/c64aea0f0fef351a59635492ce479e68.m3u8",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -885,14 +885,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 8.914,
|
||||
"init": 0.001,
|
||||
"module_load": 5.546,
|
||||
"init": 0.0,
|
||||
"home": 0.0,
|
||||
"category": 779.766,
|
||||
"detail": 759.262,
|
||||
"player": 2191.563,
|
||||
"url_check": 723.094,
|
||||
"total": 4463.144
|
||||
"category": 442.075,
|
||||
"detail": 1454.812,
|
||||
"player": 1380.2,
|
||||
"url_check": 434.237,
|
||||
"total": 3717.309
|
||||
},
|
||||
"counts": {
|
||||
"classes": 5,
|
||||
@@ -924,14 +924,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 11.349,
|
||||
"module_load": 4.627,
|
||||
"init": 0.001,
|
||||
"home": 0.001,
|
||||
"category": 296.948,
|
||||
"detail": 429.135,
|
||||
"player": 530.106,
|
||||
"url_check": 1288.483,
|
||||
"total": 2556.722
|
||||
"category": 263.411,
|
||||
"detail": 483.588,
|
||||
"player": 490.773,
|
||||
"url_check": 1266.008,
|
||||
"total": 2509.055
|
||||
},
|
||||
"counts": {
|
||||
"classes": 6,
|
||||
@@ -963,14 +963,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 3.882,
|
||||
"init": 0.001,
|
||||
"home": 2859.172,
|
||||
"category": 297.678,
|
||||
"detail": 717.962,
|
||||
"player": 0.005,
|
||||
"url_check": 546.709,
|
||||
"total": 4426.127
|
||||
"module_load": 3.884,
|
||||
"init": 0.0,
|
||||
"home": 3142.826,
|
||||
"category": 266.295,
|
||||
"detail": 706.608,
|
||||
"player": 0.001,
|
||||
"url_check": 497.029,
|
||||
"total": 4617.183
|
||||
},
|
||||
"counts": {
|
||||
"classes": 11,
|
||||
@@ -1002,14 +1002,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 3.418,
|
||||
"init": 502.495,
|
||||
"home": 0.003,
|
||||
"category": 166.322,
|
||||
"detail": 188.484,
|
||||
"module_load": 4.86,
|
||||
"init": 859.434,
|
||||
"home": 0.004,
|
||||
"category": 270.125,
|
||||
"detail": 241.505,
|
||||
"player": 0.002,
|
||||
"url_check": 158.229,
|
||||
"total": 1022.644
|
||||
"url_check": 153.703,
|
||||
"total": 1530.281
|
||||
},
|
||||
"counts": {
|
||||
"classes": 7,
|
||||
@@ -1021,15 +1021,15 @@
|
||||
"tid": "ju",
|
||||
"vod_id": "/ju/10489.html",
|
||||
"flag": "夸克",
|
||||
"play_id": "https://pan.quark.cn/s/53153ad27a69"
|
||||
"play_id": "https://pan.quark.cn/s/9b5656987408"
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://pan.quark.cn/s/53153ad27a69",
|
||||
"url": "https://pan.quark.cn/s/9b5656987408",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://pan.quark.cn/s/53153ad27a69",
|
||||
"final_url": "https://pan.quark.cn/s/9b5656987408",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -1041,14 +1041,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 14.311,
|
||||
"init": 81.338,
|
||||
"module_load": 6.829,
|
||||
"init": 82.159,
|
||||
"home": 0.001,
|
||||
"category": 168.711,
|
||||
"detail": 416.571,
|
||||
"player": 307.786,
|
||||
"url_check": 228.262,
|
||||
"total": 1217.866
|
||||
"category": 169.799,
|
||||
"detail": 443.632,
|
||||
"player": 310.685,
|
||||
"url_check": 318.333,
|
||||
"total": 1332.244
|
||||
},
|
||||
"counts": {
|
||||
"classes": 11,
|
||||
@@ -1064,11 +1064,11 @@
|
||||
},
|
||||
"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=9af20ada54afe055792e3a76d40ddea3&buy_key=FM&token=6048×tamp=1779621659&duration=453",
|
||||
"url": "http://audiopay.cos.tx.xmcdn.com/download/1.0.0/storages/b817-audiopay/16/AA/GKwRIaIGGaRGADgE-gEx_hMS-aacv2-48K.m4a?sign=c842e519cb7a9d63bc7f4e6a2b11ac26&buy_key=FM&token=5744×tamp=1779707333&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=9af20ada54afe055792e3a76d40ddea3&buy_key=FM&token=6048×tamp=1779621659&duration=453",
|
||||
"final_url": "http://audiopay.cos.tx.xmcdn.com/download/1.0.0/storages/b817-audiopay/16/AA/GKwRIaIGGaRGADgE-gEx_hMS-aacv2-48K.m4a?sign=c842e519cb7a9d63bc7f4e6a2b11ac26&buy_key=FM&token=5744×tamp=1779707333&duration=453",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -1080,14 +1080,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 10.495,
|
||||
"init": 0.0,
|
||||
"home": 399.88,
|
||||
"category": 295.46,
|
||||
"detail": 786.167,
|
||||
"player": 452.536,
|
||||
"url_check": 145.23,
|
||||
"total": 2093.219
|
||||
"module_load": 10.861,
|
||||
"init": 0.002,
|
||||
"home": 397.566,
|
||||
"category": 362.101,
|
||||
"detail": 1965.117,
|
||||
"player": 393.82,
|
||||
"url_check": 528.008,
|
||||
"total": 3659.318
|
||||
},
|
||||
"counts": {
|
||||
"classes": 8,
|
||||
@@ -1103,11 +1103,11 @@
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://file.hgeuz.cn/stream/eJwANwDI_wJVZgVKIIrU0ECux-GJ1PSt38ahythCqsH-r9TAQ4rj5F94rOjbQKjk063xyIX2z3hfeGcIHF4BAAD__5DtISY.?ts=1779621209&sign=6021b727587f79659070520d0ec865bf",
|
||||
"url": "https://file.hgeuz.cn/stream/eJwANwDI_wJVZgVKIIrU0ECux-GJ1PSt38ahythCqsH-r9TAQ4rj5F94rOjbQKjk063xyIX2z3hfeGcIHF4BAAD__5DtISY.?ts=1779704371&sign=9d85971ef0fa1db2d8e3c8889727d990",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://file.hgeuz.cn/stream/eJwANwDI_wJVZgVKIIrU0ECux-GJ1PSt38ahythCqsH-r9TAQ4rj5F94rOjbQKjk063xyIX2z3hfeGcIHF4BAAD__5DtISY.?ts=1779621209&sign=6021b727587f79659070520d0ec865bf",
|
||||
"final_url": "https://file.hgeuz.cn/stream/eJwANwDI_wJVZgVKIIrU0ECux-GJ1PSt38ahythCqsH-r9TAQ4rj5F94rOjbQKjk063xyIX2z3hfeGcIHF4BAAD__5DtISY.?ts=1779704371&sign=9d85971ef0fa1db2d8e3c8889727d990",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -1119,14 +1119,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 13.378,
|
||||
"init": 0.006,
|
||||
"home": 521.539,
|
||||
"category": 466.189,
|
||||
"detail": 555.419,
|
||||
"player": 1702.979,
|
||||
"url_check": 426.996,
|
||||
"total": 3687.474
|
||||
"module_load": 8.117,
|
||||
"init": 0.004,
|
||||
"home": 912.789,
|
||||
"category": 1013.309,
|
||||
"detail": 880.872,
|
||||
"player": 1822.221,
|
||||
"url_check": 464.266,
|
||||
"total": 5102.248
|
||||
},
|
||||
"counts": {
|
||||
"classes": 3,
|
||||
@@ -1136,17 +1136,17 @@
|
||||
},
|
||||
"samples": {
|
||||
"tid": "6",
|
||||
"vod_id": "4983",
|
||||
"vod_id": "4986",
|
||||
"flag": "咕咕新线(国内高速)",
|
||||
"play_id": "parse_api=a2796a09189261bcaf3cc4542d7c5ac2&url=ATKS0iIELAtFQYl+r7EpP+jZ7fHzIcytZZy7KgIUWH0ZGzIzMwD9WEFDm2xzfB9H&token=|主播女孩重度依赖|1"
|
||||
"play_id": "parse_api=a2796a09189261bcaf3cc4542d7c5ac2&url=7CZ/0A1wxnBuNFQ8F9pMPQ1LTMGtqMdofwtKoge3Roj4Ql2IulhbTf/M80p8R+uE&token=|日本三国|1"
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://p3-bot-workflow-sign.byteimg.com/tos-cn-i-mdko3gqilj/739b7aacab974d578487929576331c31~tplv-mdko3gqilj-image.image?rk3s=81d4c505&x-expires=1810725662&x-signature=bm0EVxV%2F5fSSSapKkzGe5A1JSaY%3D",
|
||||
"url": "https://p3-bot-workflow-sign.byteimg.com/tos-cn-i-mdko3gqilj/8473d111b28a4de7b6d45f2fa44c3400~tplv-mdko3gqilj-image.image?rk3s=81d4c505&x-expires=1810811337&x-signature=soQGX2F28l0P%2F98USAnVA%2FUroto%3D",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://p3-bot-workflow-sign.byteimg.com/tos-cn-i-mdko3gqilj/739b7aacab974d578487929576331c31~tplv-mdko3gqilj-image.image?rk3s=81d4c505&x-expires=1810725662&x-signature=bm0EVxV%2F5fSSSapKkzGe5A1JSaY%3D",
|
||||
"final_url": "https://p3-bot-workflow-sign.byteimg.com/tos-cn-i-mdko3gqilj/8473d111b28a4de7b6d45f2fa44c3400~tplv-mdko3gqilj-image.image?rk3s=81d4c505&x-expires=1810811337&x-signature=soQGX2F28l0P%2F98USAnVA%2FUroto%3D",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -1155,17 +1155,17 @@
|
||||
"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 721, 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 417, 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 296, 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",
|
||||
"error": "('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))",
|
||||
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 488, in _make_request\n raise new_e\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 464, in _make_request\n self._validate_conn(conn)\n ~~~~~~~~~~~~~~~~~~~^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 1093, in _validate_conn\n conn.connect()\n ~~~~~~~~~~~~^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 796, in connect\n sock_and_verified = _ssl_wrap_socket_and_match_hostname(\n sock=sock,\n ...<14 lines>...\n assert_fingerprint=self.assert_fingerprint,\n )\nConnectionResetError: [Errno 104] Connection reset by peer\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/requests/adapters.py\", line 645, in send\n resp = conn.urlopen(\n method=request.method,\n ...<9 lines>...\n chunked=chunked,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 841, in urlopen\n retries = retries.increment(\n method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/retry.py\", line 490, in increment\n raise reraise(type(error), error, _stacktrace)\n ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/util.py\", line 38, in reraise\n raise value.with_traceback(tb)\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\nurllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 721, 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 417, 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 296, 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.ConnectionError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n",
|
||||
"timings_ms": {
|
||||
"module_load": 22.475,
|
||||
"module_load": 5.45,
|
||||
"init": 0.001,
|
||||
"home": 0.002,
|
||||
"category": 10022.499,
|
||||
"home": 0.001,
|
||||
"category": 5389.959,
|
||||
"detail": 0.0,
|
||||
"player": 0.0,
|
||||
"url_check": 0.0,
|
||||
"total": 10048.275
|
||||
"total": 5397.093
|
||||
},
|
||||
"counts": {
|
||||
"classes": 5,
|
||||
@@ -1193,18 +1193,18 @@
|
||||
"spider": "在线之家",
|
||||
"file": "在线之家.txt",
|
||||
"success": false,
|
||||
"failed_stage": "category",
|
||||
"error": "分类视频列表为空",
|
||||
"traceback": null,
|
||||
"failed_stage": "unexpected",
|
||||
"error": "HTTPSConnectionPool(host='www.zxzjys.com', port=443): Max retries exceeded with url: /vodshow/2--------1---.html (Caused by ConnectTimeoutError(<HTTPSConnection(host='www.zxzjys.com', port=443) at 0x72f96845a350>, 'Connection to www.zxzjys.com timed out. (connect timeout=10)'))",
|
||||
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 721, 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 video = _extract_first_video(category_result)\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 320, in _extract_first_video\n raise ValidationError(\"category\", \"分类视频列表为空\")\nValidationError: 分类视频列表为空\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/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 0x72f96845a350>, '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/2--------1---.html (Caused by ConnectTimeoutError(<HTTPSConnection(host='www.zxzjys.com', port=443) at 0x72f96845a350>, '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 737, 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 417, 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 296, 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/2--------1---.html (Caused by ConnectTimeoutError(<HTTPSConnection(host='www.zxzjys.com', port=443) at 0x72f96845a350>, 'Connection to www.zxzjys.com timed out. (connect timeout=10)'))\n",
|
||||
"timings_ms": {
|
||||
"module_load": 5.396,
|
||||
"module_load": 8.649,
|
||||
"init": 0.001,
|
||||
"home": 0.001,
|
||||
"category": 985.013,
|
||||
"category": 10011.559,
|
||||
"detail": 0.0,
|
||||
"player": 0.0,
|
||||
"url_check": 0.0,
|
||||
"total": 1878.99
|
||||
"total": 11811.682
|
||||
},
|
||||
"counts": {
|
||||
"classes": 6,
|
||||
@@ -1236,14 +1236,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 14.33,
|
||||
"module_load": 6.881,
|
||||
"init": 0.001,
|
||||
"home": 0.001,
|
||||
"category": 524.147,
|
||||
"detail": 415.362,
|
||||
"player": 0.022,
|
||||
"url_check": 901.392,
|
||||
"total": 1857.382
|
||||
"category": 530.554,
|
||||
"detail": 416.932,
|
||||
"player": 0.004,
|
||||
"url_check": 1345.793,
|
||||
"total": 2300.68
|
||||
},
|
||||
"counts": {
|
||||
"classes": 6,
|
||||
@@ -1275,14 +1275,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 4.061,
|
||||
"init": 0.0,
|
||||
"module_load": 5.736,
|
||||
"init": 0.001,
|
||||
"home": 0.006,
|
||||
"category": 738.678,
|
||||
"detail": 475.507,
|
||||
"player": 0.014,
|
||||
"url_check": 1916.153,
|
||||
"total": 3136.477
|
||||
"category": 763.535,
|
||||
"detail": 369.334,
|
||||
"player": 0.003,
|
||||
"url_check": 803.544,
|
||||
"total": 1942.9
|
||||
},
|
||||
"counts": {
|
||||
"classes": 6,
|
||||
@@ -1309,39 +1309,39 @@
|
||||
{
|
||||
"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 721, 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 433, 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 296, 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",
|
||||
"success": true,
|
||||
"failed_stage": null,
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 13.798,
|
||||
"init": 452.033,
|
||||
"home": 988.568,
|
||||
"category": 536.84,
|
||||
"detail": 533.626,
|
||||
"player": 0.0,
|
||||
"url_check": 0.0,
|
||||
"total": 2526.068
|
||||
"module_load": 9.513,
|
||||
"init": 361.157,
|
||||
"home": 742.778,
|
||||
"category": 376.887,
|
||||
"detail": 372.389,
|
||||
"player": 1347.789,
|
||||
"url_check": 85.089,
|
||||
"total": 3296.047
|
||||
},
|
||||
"counts": {
|
||||
"classes": 9,
|
||||
"category_videos": 20,
|
||||
"detail_videos": 0,
|
||||
"episodes": 0
|
||||
"detail_videos": 1,
|
||||
"episodes": 2
|
||||
},
|
||||
"samples": {
|
||||
"tid": "1",
|
||||
"vod_id": "581873",
|
||||
"flag": null,
|
||||
"play_id": null
|
||||
"vod_id": "588630",
|
||||
"flag": "BFm(请勿相信任何广告)-高峰卡",
|
||||
"play_id": "https://v10.baofeng10.com/video/munaiyi2026/45f4844f52a8/index.m3u8@@@bfzym3u8"
|
||||
},
|
||||
"player": {
|
||||
"parse": null,
|
||||
"url": "",
|
||||
"valid": false,
|
||||
"reachable": null,
|
||||
"status_code": null,
|
||||
"final_url": "",
|
||||
"parse": 0,
|
||||
"url": "http://122.51.23.16:7788/qgg/Cache/BF/06e0d137d206547f9e2229cc58ba528f.m3u8",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "http://122.51.23.16:7788/qgg/Cache/BF/06e0d137d206547f9e2229cc58ba528f.m3u8",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -1353,14 +1353,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 4.976,
|
||||
"module_load": 5.124,
|
||||
"init": 0.001,
|
||||
"home": 0.001,
|
||||
"category": 688.824,
|
||||
"detail": 663.336,
|
||||
"player": 936.092,
|
||||
"url_check": 479.748,
|
||||
"total": 2774.359
|
||||
"category": 756.116,
|
||||
"detail": 649.866,
|
||||
"player": 921.219,
|
||||
"url_check": 567.657,
|
||||
"total": 2900.551
|
||||
},
|
||||
"counts": {
|
||||
"classes": 4,
|
||||
@@ -1376,11 +1376,11 @@
|
||||
},
|
||||
"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=zl3s/ZmXgvIQLSRUzBaczrARtaI%3D&Expires=1779621942&x-amz-FSIZE=58373&x-amz-UFID=624471240788981016",
|
||||
"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=CDHFS4XYIyUHpHKuxLyrB1qBdAw%3D&Expires=1779707483&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=zl3s/ZmXgvIQLSRUzBaczrARtaI%3D&Expires=1779621942&x-amz-FSIZE=58373&x-amz-UFID=624471240788981016",
|
||||
"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=CDHFS4XYIyUHpHKuxLyrB1qBdAw%3D&Expires=1779707483&x-amz-FSIZE=58373&x-amz-UFID=624471240788981016",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -1392,14 +1392,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 3.318,
|
||||
"init": 0.023,
|
||||
"home": 192.69,
|
||||
"category": 263.408,
|
||||
"detail": 663.499,
|
||||
"player": 0.004,
|
||||
"url_check": 153.697,
|
||||
"total": 1277.857
|
||||
"module_load": 3.237,
|
||||
"init": 0.017,
|
||||
"home": 195.789,
|
||||
"category": 373.549,
|
||||
"detail": 375.062,
|
||||
"player": 0.002,
|
||||
"url_check": 514.475,
|
||||
"total": 1462.545
|
||||
},
|
||||
"counts": {
|
||||
"classes": 30,
|
||||
@@ -1411,15 +1411,15 @@
|
||||
"tid": "都市",
|
||||
"vod_id": "110000044555935694",
|
||||
"flag": "1080P",
|
||||
"play_id": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1779621661&sign=eaad2320e611a2a33cb0bf617edf56c0"
|
||||
"play_id": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1779707335&sign=f5449dcccc8fe8bea58ba940c057c681"
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1779621661&sign=eaad2320e611a2a33cb0bf617edf56c0",
|
||||
"url": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1779707335&sign=f5449dcccc8fe8bea58ba940c057c681",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1779621661&sign=eaad2320e611a2a33cb0bf617edf56c0",
|
||||
"final_url": "https://tv-video.cdn.drama.9ddm.com/22/A0/22A0BFFF46651CC23355B115F6307653.mp4?timestamp=1779707335&sign=f5449dcccc8fe8bea58ba940c057c681",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -1431,14 +1431,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 10.867,
|
||||
"module_load": 5.804,
|
||||
"init": 0.001,
|
||||
"home": 0.0,
|
||||
"category": 617.276,
|
||||
"detail": 648.043,
|
||||
"player": 473.301,
|
||||
"url_check": 1123.581,
|
||||
"total": 2873.762
|
||||
"home": 0.001,
|
||||
"category": 1585.24,
|
||||
"detail": 2892.21,
|
||||
"player": 2075.071,
|
||||
"url_check": 817.133,
|
||||
"total": 7376.012
|
||||
},
|
||||
"counts": {
|
||||
"classes": 5,
|
||||
@@ -1470,14 +1470,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 12.367,
|
||||
"module_load": 3.401,
|
||||
"init": 0.001,
|
||||
"home": 0.001,
|
||||
"category": 484.351,
|
||||
"detail": 874.184,
|
||||
"player": 0.002,
|
||||
"url_check": 106.89,
|
||||
"total": 1478.375
|
||||
"home": 0.0,
|
||||
"category": 509.458,
|
||||
"detail": 603.002,
|
||||
"player": 0.003,
|
||||
"url_check": 412.806,
|
||||
"total": 1529.225
|
||||
},
|
||||
"counts": {
|
||||
"classes": 5,
|
||||
@@ -1509,14 +1509,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 28.949,
|
||||
"module_load": 8.826,
|
||||
"init": 0.001,
|
||||
"home": 0.001,
|
||||
"category": 345.843,
|
||||
"detail": 249.411,
|
||||
"player": 0.021,
|
||||
"url_check": 393.851,
|
||||
"total": 1019.429
|
||||
"category": 450.73,
|
||||
"detail": 332.916,
|
||||
"player": 0.012,
|
||||
"url_check": 477.869,
|
||||
"total": 1270.974
|
||||
},
|
||||
"counts": {
|
||||
"classes": 7,
|
||||
@@ -1543,78 +1543,78 @@
|
||||
{
|
||||
"spider": "樱花动漫",
|
||||
"file": "樱花动漫.txt",
|
||||
"success": true,
|
||||
"failed_stage": null,
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"success": false,
|
||||
"failed_stage": "unexpected",
|
||||
"error": "HTTPSConnectionPool(host='www.dmvvv.com', port=443): Max retries exceeded with url: /type/guoman/ (Caused by SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1081)')))",
|
||||
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 464, in _make_request\n self._validate_conn(conn)\n ~~~~~~~~~~~~~~~~~~~^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 1093, in _validate_conn\n conn.connect()\n ~~~~~~~~~~~~^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 796, in connect\n sock_and_verified = _ssl_wrap_socket_and_match_hostname(\n sock=sock,\n ...<14 lines>...\n assert_fingerprint=self.assert_fingerprint,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 975, in _ssl_wrap_socket_and_match_hostname\n ssl_sock = ssl_wrap_socket(\n sock=sock,\n ...<8 lines>...\n tls_in_tls=tls_in_tls,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/ssl_.py\", line 483, in ssl_wrap_socket\n ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls, server_hostname)\nssl.SSLEOFError: [SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1081)\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 488, in _make_request\n raise new_e\nurllib3.exceptions.SSLError: [SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1081)\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/requests/adapters.py\", line 645, in send\n resp = conn.urlopen(\n method=request.method,\n ...<9 lines>...\n chunked=chunked,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 841, in urlopen\n retries = retries.increment(\n method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/retry.py\", line 535, in increment\n raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nurllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='www.dmvvv.com', port=443): Max retries exceeded with url: /type/guoman/ (Caused by SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1081)')))\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 721, 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 417, 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 296, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/樱花动漫.txt\", line 54, in categoryContent\n File \"/home/harold/workspace/tvbox-resources/py/樱花动漫.txt\", line 121, in _get_html\nrequests.exceptions.SSLError: HTTPSConnectionPool(host='www.dmvvv.com', port=443): Max retries exceeded with url: /type/guoman/ (Caused by SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1081)')))\n",
|
||||
"timings_ms": {
|
||||
"module_load": 4.712,
|
||||
"module_load": 4.882,
|
||||
"init": 0.001,
|
||||
"home": 0.001,
|
||||
"category": 1641.458,
|
||||
"detail": 1583.76,
|
||||
"player": 1591.047,
|
||||
"url_check": 2152.69,
|
||||
"total": 6974.232
|
||||
"category": 227.291,
|
||||
"detail": 0.0,
|
||||
"player": 0.0,
|
||||
"url_check": 0.0,
|
||||
"total": 238.386
|
||||
},
|
||||
"counts": {
|
||||
"classes": 4,
|
||||
"category_videos": 36,
|
||||
"detail_videos": 1,
|
||||
"episodes": 2
|
||||
"category_videos": 0,
|
||||
"detail_videos": 0,
|
||||
"episodes": 0
|
||||
},
|
||||
"samples": {
|
||||
"tid": "guoman",
|
||||
"vod_id": "891",
|
||||
"flag": "高清",
|
||||
"play_id": "/play/891-1-1/"
|
||||
"vod_id": null,
|
||||
"flag": null,
|
||||
"play_id": null
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://svip.high1-playback.com/20230925/702_a76644e3/index.m3u8",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://svip.high1-playback.com/20230925/702_a76644e3/index.m3u8",
|
||||
"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,
|
||||
"success": false,
|
||||
"failed_stage": "unexpected",
|
||||
"error": "('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))",
|
||||
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 488, in _make_request\n raise new_e\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 464, in _make_request\n self._validate_conn(conn)\n ~~~~~~~~~~~~~~~~~~~^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 1093, in _validate_conn\n conn.connect()\n ~~~~~~~~~~~~^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 796, in connect\n sock_and_verified = _ssl_wrap_socket_and_match_hostname(\n sock=sock,\n ...<14 lines>...\n assert_fingerprint=self.assert_fingerprint,\n )\nConnectionResetError: [Errno 104] Connection reset by peer\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/requests/adapters.py\", line 645, in send\n resp = conn.urlopen(\n method=request.method,\n ...<9 lines>...\n chunked=chunked,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 841, in urlopen\n retries = retries.increment(\n method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/retry.py\", line 490, in increment\n raise reraise(type(error), error, _stacktrace)\n ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/util.py\", line 38, in reraise\n raise value.with_traceback(tb)\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\nurllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 705, 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 296, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/橘子TV.txt\", line 117, in homeContent\n File \"/home/harold/workspace/tvbox-resources/py/橘子TV.txt\", line 96, in _post_api\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.', ConnectionResetError(104, 'Connection reset by peer'))\n",
|
||||
"timings_ms": {
|
||||
"module_load": 10.438,
|
||||
"init": 347.281,
|
||||
"home": 354.946,
|
||||
"category": 360.614,
|
||||
"detail": 410.095,
|
||||
"player": 1500.732,
|
||||
"url_check": 1165.547,
|
||||
"total": 4150.687
|
||||
"module_load": 12.415,
|
||||
"init": 401.999,
|
||||
"home": 5011.866,
|
||||
"category": 0.0,
|
||||
"detail": 0.0,
|
||||
"player": 0.0,
|
||||
"url_check": 0.0,
|
||||
"total": 5428.73
|
||||
},
|
||||
"counts": {
|
||||
"classes": 8,
|
||||
"category_videos": 18,
|
||||
"detail_videos": 1,
|
||||
"episodes": 1
|
||||
"classes": 0,
|
||||
"category_videos": 0,
|
||||
"detail_videos": 0,
|
||||
"episodes": 0
|
||||
},
|
||||
"samples": {
|
||||
"tid": "50",
|
||||
"vod_id": "387153",
|
||||
"flag": "一起看APP",
|
||||
"play_id": "24909683"
|
||||
"tid": null,
|
||||
"vod_id": null,
|
||||
"flag": null,
|
||||
"play_id": null
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://usaydd.0rvgx279.com/m3u87/share/6974425/7170239/20260417/114416/1080/index.m3u8?sign=93f05d2825e24bf348a994de90ef82b2&t=1779621664",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://usaydd.0rvgx279.com/m3u87/share/6974425/7170239/20260417/114416/1080/index.m3u8?sign=93f05d2825e24bf348a994de90ef82b2&t=1779621664",
|
||||
"parse": null,
|
||||
"url": "",
|
||||
"valid": false,
|
||||
"reachable": null,
|
||||
"status_code": null,
|
||||
"final_url": "",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -1626,14 +1626,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 10.215,
|
||||
"init": 0.0,
|
||||
"module_load": 8.395,
|
||||
"init": 0.001,
|
||||
"home": 0.001,
|
||||
"category": 374.512,
|
||||
"detail": 314.22,
|
||||
"player": 0.01,
|
||||
"url_check": 1118.471,
|
||||
"total": 1818.257
|
||||
"category": 1680.423,
|
||||
"detail": 1118.186,
|
||||
"player": 0.006,
|
||||
"url_check": 1049.083,
|
||||
"total": 3856.576
|
||||
},
|
||||
"counts": {
|
||||
"classes": 6,
|
||||
@@ -1643,17 +1643,17 @@
|
||||
},
|
||||
"samples": {
|
||||
"tid": "1",
|
||||
"vod_id": "29571",
|
||||
"vod_id": "30149",
|
||||
"flag": "百度",
|
||||
"play_id": "https://pan.baidu.com/s/1gIt5r-N_wyroVz02nMmDFA?pwd=8888"
|
||||
"play_id": "https://pan.baidu.com/s/1q-aIu_ukSASfpmgIRXvVyg?pwd=8888"
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://pan.baidu.com/s/1gIt5r-N_wyroVz02nMmDFA?pwd=8888",
|
||||
"url": "https://pan.baidu.com/s/1q-aIu_ukSASfpmgIRXvVyg?pwd=8888",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://pan.baidu.com/share/init?surl=gIt5r-N_wyroVz02nMmDFA&pwd=8888",
|
||||
"final_url": "https://pan.baidu.com/share/init?surl=q-aIu_ukSASfpmgIRXvVyg&pwd=8888",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -1665,14 +1665,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 6.91,
|
||||
"init": 110.331,
|
||||
"home": 182.485,
|
||||
"category": 133.95,
|
||||
"detail": 147.804,
|
||||
"player": 131.793,
|
||||
"url_check": 314.468,
|
||||
"total": 1029.1
|
||||
"module_load": 25.994,
|
||||
"init": 94.108,
|
||||
"home": 184.976,
|
||||
"category": 132.816,
|
||||
"detail": 103.448,
|
||||
"player": 125.394,
|
||||
"url_check": 477.605,
|
||||
"total": 1146.258
|
||||
},
|
||||
"counts": {
|
||||
"classes": 7,
|
||||
@@ -1682,17 +1682,17 @@
|
||||
},
|
||||
"samples": {
|
||||
"tid": "1",
|
||||
"vod_id": "399728",
|
||||
"vod_id": "403963",
|
||||
"flag": "🔥蓝光🔥",
|
||||
"play_id": "YYNB-ed6d8c98e2fdb332f780e0d95dc4b49e@@@YYNB"
|
||||
"play_id": "YYNB-fb05126bd0ec8d1202c273ed27abff61@@@YYNB"
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://fffan.wki8.com/hls/104c4c8ddc1eaca9c853e9f9e1858095.m3u8?token=0c3e05d373daf2f0eb34d8ac4d56a979&time=1779621663&YYNB.m3u8",
|
||||
"url": "https://fffan.wki8.com/hls/fa6c308aa385e99ce4ae7f785af7bff9.m3u8?token=f6d93fb5887b2261af84902cb7e336f5&time=1779707337&YYNB.m3u8",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://fffan.wki8.com/hls/104c4c8ddc1eaca9c853e9f9e1858095.m3u8?token=0c3e05d373daf2f0eb34d8ac4d56a979&time=1779621663&YYNB.m3u8",
|
||||
"final_url": "https://fffan.wki8.com/hls/fa6c308aa385e99ce4ae7f785af7bff9.m3u8?token=f6d93fb5887b2261af84902cb7e336f5&time=1779707337&YYNB.m3u8",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -1704,14 +1704,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 4.777,
|
||||
"init": 0.001,
|
||||
"home": 401.828,
|
||||
"category": 348.469,
|
||||
"detail": 842.998,
|
||||
"player": 0.058,
|
||||
"url_check": 271.541,
|
||||
"total": 1871.323
|
||||
"module_load": 13.984,
|
||||
"init": 0.0,
|
||||
"home": 337.797,
|
||||
"category": 326.17,
|
||||
"detail": 757.54,
|
||||
"player": 0.02,
|
||||
"url_check": 384.069,
|
||||
"total": 1825.579
|
||||
},
|
||||
"counts": {
|
||||
"classes": 10,
|
||||
@@ -1723,15 +1723,15 @@
|
||||
"tid": "462",
|
||||
"vod_id": "41000200565",
|
||||
"flag": "河马剧场",
|
||||
"play_id": "https://dzzt-video.cbread.cn/3bd535024c643bf337fa5624fdb9e9f4/6a142bb0/85/5x6/56x5/565x0/56500200014/613046858_1/613046858.720p.narrowv3.mp4"
|
||||
"play_id": "https://dzzt-video.cbread.cn/5727ee74bbf3b1983ded5fde74fb6798/6a156f20/85/5x6/56x5/565x0/56500200014/613046858_1/613046858.720p.narrowv3.mp4"
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://dzzt-video.cbread.cn/3bd535024c643bf337fa5624fdb9e9f4/6a142bb0/85/5x6/56x5/565x0/56500200014/613046858_1/613046858.720p.narrowv3.mp4",
|
||||
"url": "https://dzzt-video.cbread.cn/5727ee74bbf3b1983ded5fde74fb6798/6a156f20/85/5x6/56x5/565x0/56500200014/613046858_1/613046858.720p.narrowv3.mp4",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://dzzt-video.cbread.cn/3bd535024c643bf337fa5624fdb9e9f4/6a142bb0/85/5x6/56x5/565x0/56500200014/613046858_1/613046858.720p.narrowv3.mp4",
|
||||
"final_url": "https://dzzt-video.cbread.cn/5727ee74bbf3b1983ded5fde74fb6798/6a156f20/85/5x6/56x5/565x0/56500200014/613046858_1/613046858.720p.narrowv3.mp4",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -1743,14 +1743,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 7.755,
|
||||
"init": 330.501,
|
||||
"home": 667.231,
|
||||
"category": 312.252,
|
||||
"detail": 342.703,
|
||||
"player": 752.401,
|
||||
"url_check": 61.585,
|
||||
"total": 6490.199
|
||||
"module_load": 7.417,
|
||||
"init": 307.976,
|
||||
"home": 316.799,
|
||||
"category": 418.405,
|
||||
"detail": 170.542,
|
||||
"player": 984.241,
|
||||
"url_check": 380.643,
|
||||
"total": 2586.444
|
||||
},
|
||||
"counts": {
|
||||
"classes": 7,
|
||||
@@ -1759,18 +1759,18 @@
|
||||
"episodes": 2
|
||||
},
|
||||
"samples": {
|
||||
"tid": "2",
|
||||
"vod_id": "245464",
|
||||
"flag": "qq",
|
||||
"play_id": "https://v.qq.com/x/cover/mzc00200lpwbono/x41021gd2jr.html@@@qq"
|
||||
"tid": "1",
|
||||
"vod_id": "245420",
|
||||
"flag": "奇异",
|
||||
"play_id": "https://www.iqiyi.com/v_159dxzpa3mo.html@@@qiyi"
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://apd-vlive.apdcdn.tc.qq.com/defaultts.tc.qq.com/B_3k--xdVBUHYl1q0K2jODe7RDfxfTYoID7Bu9QoczVCyZcNiJs4yyk05SqvzDhOIiLp-UETbvdCXfVseT7FV3wr66TQ7pwsPGBaR_VW_eAKm5GQ1aFCdmJutUC-LOfqJ7QWhMlwWkFLEsqXwgdTXrXg/svp_50112/M4uoUiWOxYNxqDYaX8ay5pD4dZoZZSWGGwVj7Lx8erLOxJLSvXqp5PqjBciR_pJMJ8aRYf5-dbr3Xc-umMZhDuQl-MmzQUiwY2hfT60XeET7LSwLBzs8xEGay7nCXVmkG_ccfPbTpZdkJ64wws2bFtRizklosdeR2rXGVzPyzo6X0mqZ3yxd04yClHpF2IcpoPhphbnlQRo/gzc_1000102_0b53ziaosaaaiaamhaipejvmbswd5hdab3ka.f322363.ts.m3u8?ver=4",
|
||||
"url": "http://jxk.ys088.top/Cache/qy/0585401dac1e174b433c000c686efaeb.m3u8",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://apd-vlive.apdcdn.tc.qq.com/defaultts.tc.qq.com/B_3k--xdVBUHYl1q0K2jODe7RDfxfTYoID7Bu9QoczVCyZcNiJs4yyk05SqvzDhOIiLp-UETbvdCXfVseT7FV3wr66TQ7pwsPGBaR_VW_eAKm5GQ1aFCdmJutUC-LOfqJ7QWhMlwWkFLEsqXwgdTXrXg/svp_50112/M4uoUiWOxYNxqDYaX8ay5pD4dZoZZSWGGwVj7Lx8erLOxJLSvXqp5PqjBciR_pJMJ8aRYf5-dbr3Xc-umMZhDuQl-MmzQUiwY2hfT60XeET7LSwLBzs8xEGay7nCXVmkG_ccfPbTpZdkJ64wws2bFtRizklosdeR2rXGVzPyzo6X0mqZ3yxd04yClHpF2IcpoPhphbnlQRo/gzc_1000102_0b53ziaosaaaiaamhaipejvmbswd5hdab3ka.f322363.ts.m3u8?ver=4",
|
||||
"final_url": "http://jxk.ys088.top/Cache/qy/0585401dac1e174b433c000c686efaeb.m3u8",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -1782,14 +1782,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 15.727,
|
||||
"module_load": 5.284,
|
||||
"init": 0.001,
|
||||
"home": 0.001,
|
||||
"category": 218.714,
|
||||
"detail": 320.841,
|
||||
"category": 395.883,
|
||||
"detail": 274.654,
|
||||
"player": 0.003,
|
||||
"url_check": 1013.035,
|
||||
"total": 1569.162
|
||||
"url_check": 1056.785,
|
||||
"total": 1733.258
|
||||
},
|
||||
"counts": {
|
||||
"classes": 5,
|
||||
@@ -1821,14 +1821,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 4.038,
|
||||
"init": 0.002,
|
||||
"home": 283.32,
|
||||
"category": 493.326,
|
||||
"detail": 282.157,
|
||||
"player": 309.128,
|
||||
"url_check": 44.237,
|
||||
"total": 1416.657
|
||||
"module_load": 8.12,
|
||||
"init": 0.003,
|
||||
"home": 361.643,
|
||||
"category": 385.011,
|
||||
"detail": 314.387,
|
||||
"player": 262.762,
|
||||
"url_check": 906.855,
|
||||
"total": 2239.211
|
||||
},
|
||||
"counts": {
|
||||
"classes": 10,
|
||||
@@ -1844,11 +1844,11 @@
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "http://beyond8888888.ucyy.cn/2026-05-24/125_78402_NBY-e84585334a25c5b49078dfac81549a0b.m3u8?ts=1779620415-0-0-9595c420c179a8cfc5bb855597a2a601",
|
||||
"url": "http://beyond8888888.ucyy.cn/2026-05-25/125_78402_NBY-e84585334a25c5b49078dfac81549a0b.m3u8?ts=1779706826-0-0-eeccf7d79684f75ee84ccafd042e974c",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "http://beyond8888888.ucyy.cn/2026-05-24/125_78402_NBY-e84585334a25c5b49078dfac81549a0b.m3u8?ts=1779620415-0-0-9595c420c179a8cfc5bb855597a2a601",
|
||||
"final_url": "http://beyond8888888.ucyy.cn/2026-05-25/125_78402_NBY-e84585334a25c5b49078dfac81549a0b.m3u8?ts=1779706826-0-0-eeccf7d79684f75ee84ccafd042e974c",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -1860,18 +1860,18 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 11.877,
|
||||
"init": 0.024,
|
||||
"home": 3535.558,
|
||||
"category": 765.457,
|
||||
"detail": 99.674,
|
||||
"module_load": 15.113,
|
||||
"init": 0.019,
|
||||
"home": 4838.194,
|
||||
"category": 392.968,
|
||||
"detail": 367.455,
|
||||
"player": 0.001,
|
||||
"url_check": 116.874,
|
||||
"total": 4530.336
|
||||
"url_check": 407.302,
|
||||
"total": 6021.817
|
||||
},
|
||||
"counts": {
|
||||
"classes": 11,
|
||||
"category_videos": 48,
|
||||
"category_videos": 60,
|
||||
"detail_videos": 1,
|
||||
"episodes": 1
|
||||
},
|
||||
@@ -1899,14 +1899,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 4.081,
|
||||
"module_load": 4.46,
|
||||
"init": 0.001,
|
||||
"home": 0.001,
|
||||
"category": 724.449,
|
||||
"detail": 332.853,
|
||||
"player": 338.823,
|
||||
"url_check": 338.447,
|
||||
"total": 1739.579
|
||||
"category": 1334.792,
|
||||
"detail": 1204.93,
|
||||
"player": 1228.433,
|
||||
"url_check": 1026.765,
|
||||
"total": 4799.908
|
||||
},
|
||||
"counts": {
|
||||
"classes": 6,
|
||||
@@ -1916,36 +1916,36 @@
|
||||
},
|
||||
"samples": {
|
||||
"tid": "index",
|
||||
"vod_id": "144772",
|
||||
"vod_id": "145003",
|
||||
"flag": "独播库",
|
||||
"play_id": "144772-1-1"
|
||||
"play_id": "145003-1-1"
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://vid.dbokutv.com/20260510/ppotb62-S71lT2yliZApDBSvkYzBsrmD3fpCJ4nBtfsRsGlR7XgBNfgBJ0nBJ0nGZ8vDpaqCovjS34/chunklist.m3u8",
|
||||
"url": "https://vid.dbokutv.com/20260524/ppotb62-S71lT2yliZApDBSvkYzBsrmD3fpCJ4nBsHdTcyo5xOy6ejP7HjTsGnQYqmCIqmCZD6E3D6E3GkRN0q/chunklist.m3u8",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://vid.dbokutv.com/20260510/ppotb62-S71lT2yliZApDBSvkYzBsrmD3fpCJ4nBtfsRsGlR7XgBNfgBJ0nBJ0nGZ8vDpaqCovjS34/chunklist.m3u8",
|
||||
"final_url": "https://vid.dbokutv.com/20260524/ppotb62-S71lT2yliZApDBSvkYzBsrmD3fpCJ4nBsHdTcyo5xOy6ejP7HjTsGnQYqmCIqmCZD6E3D6E3GkRN0q/chunklist.m3u8",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"spider": "猫猫4K",
|
||||
"file": "猫猫4K.txt",
|
||||
"success": true,
|
||||
"failed_stage": null,
|
||||
"error": null,
|
||||
"success": false,
|
||||
"failed_stage": "player",
|
||||
"error": "playerContent 未返回播放地址",
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 33.511,
|
||||
"init": 224.122,
|
||||
"home": 321.725,
|
||||
"category": 198.308,
|
||||
"detail": 134.24,
|
||||
"player": 128.518,
|
||||
"url_check": 981.719,
|
||||
"total": 3398.505
|
||||
"module_load": 9.238,
|
||||
"init": 189.71,
|
||||
"home": 237.823,
|
||||
"category": 399.841,
|
||||
"detail": 165.674,
|
||||
"player": 331.408,
|
||||
"url_check": 0.0,
|
||||
"total": 2543.234
|
||||
},
|
||||
"counts": {
|
||||
"classes": 5,
|
||||
@@ -1954,96 +1954,96 @@
|
||||
"episodes": 2
|
||||
},
|
||||
"samples": {
|
||||
"tid": "1",
|
||||
"vod_id": "189564",
|
||||
"flag": "火猫备用R",
|
||||
"play_id": "https://svip.ryiplay18.com/20260523/6672_de2d6a20/index.m3u8@@@rym3u8"
|
||||
"tid": "2",
|
||||
"vod_id": "9118",
|
||||
"flag": "火猫极速Y",
|
||||
"play_id": "https://v.youku.com/v_show/id_XMzAxOTY0OTk2NA==.html@@@youku"
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://svip.ryiplay18.com/20260523/6672_de2d6a20/index.m3u8",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://svip.ryiplay18.com/20260523/6672_de2d6a20/index.m3u8",
|
||||
"url": "",
|
||||
"valid": false,
|
||||
"reachable": null,
|
||||
"status_code": null,
|
||||
"final_url": "",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"spider": "玩偶哥哥",
|
||||
"file": "玩偶哥哥.txt",
|
||||
"success": false,
|
||||
"failed_stage": "category",
|
||||
"error": "分类视频列表为空",
|
||||
"success": true,
|
||||
"failed_stage": null,
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 27.632,
|
||||
"module_load": 8.489,
|
||||
"init": 0.001,
|
||||
"home": 0.001,
|
||||
"category": 148.082,
|
||||
"detail": 0.0,
|
||||
"player": 0.0,
|
||||
"url_check": 0.0,
|
||||
"total": 331.968
|
||||
"category": 728.1,
|
||||
"detail": 565.105,
|
||||
"player": 0.009,
|
||||
"url_check": 139.608,
|
||||
"total": 1441.912
|
||||
},
|
||||
"counts": {
|
||||
"classes": 8,
|
||||
"category_videos": 0,
|
||||
"detail_videos": 0,
|
||||
"episodes": 0
|
||||
"category_videos": 70,
|
||||
"detail_videos": 1,
|
||||
"episodes": 1
|
||||
},
|
||||
"samples": {
|
||||
"tid": "2",
|
||||
"vod_id": null,
|
||||
"flag": null,
|
||||
"play_id": null
|
||||
"tid": "1",
|
||||
"vod_id": "125344",
|
||||
"flag": "夸克#玩偶哥哥",
|
||||
"play_id": "https://pan.quark.cn/s/f7f361fcba9a"
|
||||
},
|
||||
"player": {
|
||||
"parse": null,
|
||||
"url": "",
|
||||
"valid": false,
|
||||
"reachable": null,
|
||||
"status_code": null,
|
||||
"final_url": "",
|
||||
"parse": 0,
|
||||
"url": "https://pan.quark.cn/s/f7f361fcba9a",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://pan.quark.cn/s/f7f361fcba9a",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"spider": "玩偶聚合",
|
||||
"file": "玩偶聚合.txt",
|
||||
"success": false,
|
||||
"failed_stage": "unexpected",
|
||||
"error": "all domains failed",
|
||||
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 721, 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 417, 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 296, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/玩偶聚合.txt\", line 5136, in categoryContent\n File \"/home/harold/workspace/tvbox-resources/py/玩偶聚合.txt\", line 5068, in _request_with_failover\nRuntimeError: all domains failed\n",
|
||||
"success": true,
|
||||
"failed_stage": null,
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 37.608,
|
||||
"module_load": 42.324,
|
||||
"init": 0.001,
|
||||
"home": 2.482,
|
||||
"category": 385.392,
|
||||
"detail": 0.0,
|
||||
"player": 0.0,
|
||||
"url_check": 0.0,
|
||||
"total": 426.891
|
||||
"home": 2.614,
|
||||
"category": 1484.602,
|
||||
"detail": 810.049,
|
||||
"player": 0.002,
|
||||
"url_check": 1255.49,
|
||||
"total": 3596.175
|
||||
},
|
||||
"counts": {
|
||||
"classes": 10,
|
||||
"category_videos": 0,
|
||||
"detail_videos": 0,
|
||||
"episodes": 0
|
||||
"category_videos": 70,
|
||||
"detail_videos": 1,
|
||||
"episodes": 2
|
||||
},
|
||||
"samples": {
|
||||
"tid": "site_wanou",
|
||||
"vod_id": null,
|
||||
"flag": null,
|
||||
"play_id": null
|
||||
"vod_id": "site:wanou:/voddetail/124186.html",
|
||||
"flag": "百度#玩偶",
|
||||
"play_id": "https://pan.baidu.com/s/17YPFM4QzzANNPXtsORGeHA?pwd=zhfc"
|
||||
},
|
||||
"player": {
|
||||
"parse": null,
|
||||
"url": "",
|
||||
"valid": false,
|
||||
"reachable": null,
|
||||
"status_code": null,
|
||||
"final_url": "",
|
||||
"parse": 0,
|
||||
"url": "https://pan.baidu.com/s/17YPFM4QzzANNPXtsORGeHA?pwd=zhfc",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://pan.baidu.com/share/init?surl=7YPFM4QzzANNPXtsORGeHA&pwd=zhfc",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -2055,14 +2055,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 7.001,
|
||||
"init": 0.002,
|
||||
"home": 0.026,
|
||||
"category": 552.603,
|
||||
"detail": 1021.17,
|
||||
"player": 534.192,
|
||||
"url_check": 321.038,
|
||||
"total": 2437.357
|
||||
"module_load": 5.355,
|
||||
"init": 0.001,
|
||||
"home": 0.011,
|
||||
"category": 1905.263,
|
||||
"detail": 2275.239,
|
||||
"player": 1119.091,
|
||||
"url_check": 383.218,
|
||||
"total": 5689.167
|
||||
},
|
||||
"counts": {
|
||||
"classes": 5,
|
||||
@@ -2078,11 +2078,11 @@
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://vd.hxcztech.com/2dc8157b2eea1dfbd8f2ea1b2ae2be05/20260524192105/decry/vd/20260311/MjYwZjE1YTRkO/172631/1998_1080/aac/h264/hls/decrypt/index.m3u8",
|
||||
"url": "https://vd.jiunuow.com/ade2f8c0a1bd5a306e19a435a9693c4d/20260525190903/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/2dc8157b2eea1dfbd8f2ea1b2ae2be05/20260524192105/decry/vd/20260311/MjYwZjE1YTRkO/172631/1998_1080/aac/h264/hls/decrypt/index.m3u8",
|
||||
"final_url": "https://vd.jiunuow.com/ade2f8c0a1bd5a306e19a435a9693c4d/20260525190903/decry/vd/20260311/MjYwZjE1YTRkO/172631/1998_1080/aac/h264/hls/decrypt/index.m3u8",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -2094,14 +2094,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 9.179,
|
||||
"module_load": 7.742,
|
||||
"init": 0.001,
|
||||
"home": 373.279,
|
||||
"category": 269.325,
|
||||
"detail": 677.451,
|
||||
"player": 292.28,
|
||||
"url_check": 40.343,
|
||||
"total": 1662.496
|
||||
"home": 388.222,
|
||||
"category": 259.812,
|
||||
"detail": 589.556,
|
||||
"player": 252.33,
|
||||
"url_check": 47.15,
|
||||
"total": 1545.25
|
||||
},
|
||||
"counts": {
|
||||
"classes": 29,
|
||||
@@ -2117,11 +2117,11 @@
|
||||
},
|
||||
"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",
|
||||
"url": "http://vd3.bdstatic.com/mda-rgu31fx13xnschwc/1080p/mv_cae264_backtrack_1080p_normal/1753858859061604699/mda-rgu31fx13xnschwc.mp4?v_from_s=haokan-ui-video-hna",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "http://vd3.bdstatic.com/mda-rgu31fx13xnschwc/1080p/mv_cae264_backtrack_1080p_normal/1753858859061604699/mda-rgu31fx13xnschwc.mp4?v_from_s=haokan-ui-video-hnb",
|
||||
"final_url": "http://vd3.bdstatic.com/mda-rgu31fx13xnschwc/1080p/mv_cae264_backtrack_1080p_normal/1753858859061604699/mda-rgu31fx13xnschwc.mp4?v_from_s=haokan-ui-video-hna",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -2133,14 +2133,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 10.653,
|
||||
"module_load": 10.281,
|
||||
"init": 0.001,
|
||||
"home": 332.532,
|
||||
"category": 254.394,
|
||||
"detail": 221.903,
|
||||
"player": 0.024,
|
||||
"url_check": 136.029,
|
||||
"total": 956.226
|
||||
"home": 268.956,
|
||||
"category": 253.187,
|
||||
"detail": 232.374,
|
||||
"player": 0.021,
|
||||
"url_check": 458.247,
|
||||
"total": 1223.632
|
||||
},
|
||||
"counts": {
|
||||
"classes": 8,
|
||||
@@ -2167,39 +2167,39 @@
|
||||
{
|
||||
"spider": "盘聚",
|
||||
"file": "盘聚.txt",
|
||||
"success": true,
|
||||
"failed_stage": null,
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"success": false,
|
||||
"failed_stage": "unexpected",
|
||||
"error": "HTTPSConnectionPool(host='www.seedhub.cc', port=443): Max retries exceeded with url: /?page=1 (Caused by SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1081)')))",
|
||||
"traceback": "Traceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 464, in _make_request\n self._validate_conn(conn)\n ~~~~~~~~~~~~~~~~~~~^^^^^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 1093, in _validate_conn\n conn.connect()\n ~~~~~~~~~~~~^^\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 796, in connect\n sock_and_verified = _ssl_wrap_socket_and_match_hostname(\n sock=sock,\n ...<14 lines>...\n assert_fingerprint=self.assert_fingerprint,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connection.py\", line 975, in _ssl_wrap_socket_and_match_hostname\n ssl_sock = ssl_wrap_socket(\n sock=sock,\n ...<8 lines>...\n tls_in_tls=tls_in_tls,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/ssl_.py\", line 483, in ssl_wrap_socket\n ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls, server_hostname)\nssl.SSLEOFError: [SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1081)\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 787, in urlopen\n response = self._make_request(\n conn,\n ...<10 lines>...\n **response_kw,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 488, in _make_request\n raise new_e\nurllib3.exceptions.SSLError: [SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1081)\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/requests/adapters.py\", line 645, in send\n resp = conn.urlopen(\n method=request.method,\n ...<9 lines>...\n chunked=chunked,\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/connectionpool.py\", line 841, in urlopen\n retries = retries.increment(\n method, url, error=new_e, _pool=self, _stacktrace=sys.exc_info()[2]\n )\n File \"/home/harold/workspace/atv-spiders/py/.venv/lib/python3.14/site-packages/urllib3/util/retry.py\", line 535, in increment\n raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nurllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='www.seedhub.cc', port=443): Max retries exceeded with url: /?page=1 (Caused by SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1081)')))\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File \"/home/harold/workspace/atv-spiders/py/validate_spiders.py\", line 721, 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 417, 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 296, in _run_timed\n return func(*args, **kwargs)\n File \"/home/harold/workspace/tvbox-resources/py/盘聚.txt\", line 144, in categoryContent\n File \"/home/harold/workspace/tvbox-resources/py/盘聚.txt\", line 99, in _request_html\nrequests.exceptions.SSLError: HTTPSConnectionPool(host='www.seedhub.cc', port=443): Max retries exceeded with url: /?page=1 (Caused by SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1081)')))\n",
|
||||
"timings_ms": {
|
||||
"module_load": 5.499,
|
||||
"module_load": 6.695,
|
||||
"init": 0.001,
|
||||
"home": 0.0,
|
||||
"category": 205.735,
|
||||
"detail": 238.511,
|
||||
"player": 196.64,
|
||||
"url_check": 1139.278,
|
||||
"total": 1786.328
|
||||
"home": 0.001,
|
||||
"category": 5012.399,
|
||||
"detail": 0.0,
|
||||
"player": 0.0,
|
||||
"url_check": 0.0,
|
||||
"total": 5022.863
|
||||
},
|
||||
"counts": {
|
||||
"classes": 4,
|
||||
"category_videos": 20,
|
||||
"detail_videos": 1,
|
||||
"episodes": 2
|
||||
"category_videos": 0,
|
||||
"detail_videos": 0,
|
||||
"episodes": 0
|
||||
},
|
||||
"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】更新于 ✅ 今天"
|
||||
"vod_id": null,
|
||||
"flag": null,
|
||||
"play_id": null
|
||||
},
|
||||
"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",
|
||||
"parse": null,
|
||||
"url": "",
|
||||
"valid": false,
|
||||
"reachable": null,
|
||||
"status_code": null,
|
||||
"final_url": "",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -2211,14 +2211,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 10.706,
|
||||
"init": 0.04,
|
||||
"module_load": 7.467,
|
||||
"init": 0.03,
|
||||
"home": 0.001,
|
||||
"category": 1597.828,
|
||||
"detail": 357.828,
|
||||
"category": 1290.472,
|
||||
"detail": 244.581,
|
||||
"player": 0.002,
|
||||
"url_check": 1750.246,
|
||||
"total": 3717.222
|
||||
"url_check": 1247.515,
|
||||
"total": 2790.571
|
||||
},
|
||||
"counts": {
|
||||
"classes": 5,
|
||||
@@ -2250,18 +2250,18 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 20.21,
|
||||
"init": 743.62,
|
||||
"home": 0.096,
|
||||
"category": 493.41,
|
||||
"detail": 315.368,
|
||||
"module_load": 18.446,
|
||||
"init": 549.45,
|
||||
"home": 0.113,
|
||||
"category": 701.349,
|
||||
"detail": 655.112,
|
||||
"player": 0.002,
|
||||
"url_check": 106.93,
|
||||
"total": 1680.383
|
||||
"url_check": 497.286,
|
||||
"total": 2422.422
|
||||
},
|
||||
"counts": {
|
||||
"classes": 11,
|
||||
"category_videos": 77,
|
||||
"category_videos": 73,
|
||||
"detail_videos": 1,
|
||||
"episodes": 1
|
||||
},
|
||||
@@ -2289,34 +2289,34 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 6.02,
|
||||
"init": 0.001,
|
||||
"module_load": 3.932,
|
||||
"init": 0.0,
|
||||
"home": 0.001,
|
||||
"category": 383.39,
|
||||
"detail": 349.739,
|
||||
"player": 0.005,
|
||||
"url_check": 159.802,
|
||||
"total": 899.513
|
||||
"category": 232.512,
|
||||
"detail": 261.879,
|
||||
"player": 0.008,
|
||||
"url_check": 920.094,
|
||||
"total": 1418.903
|
||||
},
|
||||
"counts": {
|
||||
"classes": 2,
|
||||
"category_videos": 20,
|
||||
"detail_videos": 1,
|
||||
"episodes": 1
|
||||
"episodes": 2
|
||||
},
|
||||
"samples": {
|
||||
"tid": "1",
|
||||
"vod_id": "https://sm3.cc/?id=52147",
|
||||
"flag": "夸克",
|
||||
"play_id": "https://pan.quark.cn/s/c953c0afd454"
|
||||
"vod_id": "https://sm3.cc/?id=52305",
|
||||
"flag": "百度",
|
||||
"play_id": "https://pan.baidu.com/s/15WnDe2sc1UFF2R91mnX8zg?pwd=6666"
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://pan.quark.cn/s/c953c0afd454",
|
||||
"url": "https://pan.baidu.com/s/15WnDe2sc1UFF2R91mnX8zg?pwd=6666",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://pan.quark.cn/s/c953c0afd454",
|
||||
"final_url": "https://pan.baidu.com/share/init?surl=5WnDe2sc1UFF2R91mnX8zg&pwd=6666",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -2328,18 +2328,18 @@
|
||||
"error": "HTTPSConnectionPool(host='vip.123pan.cn', port=443): Max retries exceeded with url: /1853039965/202510/%E4%B8%BB%E8%A7%92/%E4%B8%BB%E8%A7%92EP01.m3u8 (Caused by SSLError(SSLError(1, '[SSL: RECORD_LAYER_FAILURE] record layer failure (_ssl.c:1081)')))",
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 5.902,
|
||||
"module_load": 5.469,
|
||||
"init": 0.001,
|
||||
"home": 817.801,
|
||||
"category": 847.266,
|
||||
"detail": 172.27,
|
||||
"player": 279.587,
|
||||
"url_check": 54.668,
|
||||
"total": 4271.496
|
||||
"home": 953.329,
|
||||
"category": 1227.854,
|
||||
"detail": 155.902,
|
||||
"player": 279.968,
|
||||
"url_check": 53.564,
|
||||
"total": 5252.838
|
||||
},
|
||||
"counts": {
|
||||
"classes": 7,
|
||||
"category_videos": 47,
|
||||
"category_videos": 45,
|
||||
"detail_videos": 1,
|
||||
"episodes": 2
|
||||
},
|
||||
@@ -2367,14 +2367,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 8.812,
|
||||
"module_load": 5.093,
|
||||
"init": 0.001,
|
||||
"home": 390.656,
|
||||
"category": 410.52,
|
||||
"detail": 0.009,
|
||||
"player": 1121.557,
|
||||
"url_check": 41.367,
|
||||
"total": 1974.06
|
||||
"home": 632.628,
|
||||
"category": 400.173,
|
||||
"detail": 0.005,
|
||||
"player": 1653.163,
|
||||
"url_check": 780.557,
|
||||
"total": 3472.54
|
||||
},
|
||||
"counts": {
|
||||
"classes": 62,
|
||||
@@ -2384,17 +2384,17 @@
|
||||
},
|
||||
"samples": {
|
||||
"tid": "/discover/toplist?id=19723756",
|
||||
"vod_id": "3356975915@Montagem pitty@见过夏天P👉MP3",
|
||||
"vod_id": "3383232912@如果是我@余宇涵👉MP3",
|
||||
"flag": "网易云音乐",
|
||||
"play_id": "3356975915"
|
||||
"play_id": "3383232912"
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://iot102.music.126.net/Yml6PWlvdCZjaGFubmVsPW5ldGVhc2Umc2NlbmU9YW5kcmNhcg/20260524194606/a3801aa71e6570d6ea6504bf7771df19/jdymusic/obj/wo3DlMOGwrbDjj7DisKw/78836438796/af82/828d/c0e5/0f114dda22328c5aa6de7d46c0c3442c.mp3",
|
||||
"url": "https://iot202.music.126.net/Yml6PWlvdCZjaGFubmVsPW5ldGVhc2Umc2NlbmU9YW5kcmNhcg/20260525193402/b7990b7b569d26c2860c3c7d98f4072b/jdymusic/obj/wo3DlMOGwrbDjj7DisKw/80373858734/0344/c1cb/f368/efa3d8f5ae91e134bd9eec734e0d1797.mp3",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://iot102.music.126.net/Yml6PWlvdCZjaGFubmVsPW5ldGVhc2Umc2NlbmU9YW5kcmNhcg/20260524194606/a3801aa71e6570d6ea6504bf7771df19/jdymusic/obj/wo3DlMOGwrbDjj7DisKw/78836438796/af82/828d/c0e5/0f114dda22328c5aa6de7d46c0c3442c.mp3",
|
||||
"final_url": "https://iot202.music.126.net/Yml6PWlvdCZjaGFubmVsPW5ldGVhc2Umc2NlbmU9YW5kcmNhcg/20260525193402/b7990b7b569d26c2860c3c7d98f4072b/jdymusic/obj/wo3DlMOGwrbDjj7DisKw/80373858734/0344/c1cb/f368/efa3d8f5ae91e134bd9eec734e0d1797.mp3",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -2406,14 +2406,14 @@
|
||||
"error": "分类视频列表为空",
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 6.595,
|
||||
"module_load": 4.597,
|
||||
"init": 0.001,
|
||||
"home": 0.0,
|
||||
"category": 1284.141,
|
||||
"home": 0.001,
|
||||
"category": 4160.227,
|
||||
"detail": 0.0,
|
||||
"player": 0.0,
|
||||
"url_check": 0.0,
|
||||
"total": 2640.621
|
||||
"total": 14896.854
|
||||
},
|
||||
"counts": {
|
||||
"classes": 6,
|
||||
@@ -2445,14 +2445,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 6.271,
|
||||
"module_load": 9.226,
|
||||
"init": 0.001,
|
||||
"home": 133.331,
|
||||
"category": 337.931,
|
||||
"detail": 1110.758,
|
||||
"player": 0.003,
|
||||
"url_check": 240.663,
|
||||
"total": 1829.697
|
||||
"home": 475.433,
|
||||
"category": 278.006,
|
||||
"detail": 1569.04,
|
||||
"player": 0.002,
|
||||
"url_check": 200.832,
|
||||
"total": 2533.597
|
||||
},
|
||||
"counts": {
|
||||
"classes": 7,
|
||||
@@ -2484,14 +2484,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 9.847,
|
||||
"module_load": 10.626,
|
||||
"init": 0.001,
|
||||
"home": 0.001,
|
||||
"category": 379.127,
|
||||
"detail": 284.522,
|
||||
"player": 0.036,
|
||||
"url_check": 162.528,
|
||||
"total": 838.814
|
||||
"category": 479.899,
|
||||
"detail": 451.83,
|
||||
"player": 0.011,
|
||||
"url_check": 158.248,
|
||||
"total": 1101.056
|
||||
},
|
||||
"counts": {
|
||||
"classes": 7,
|
||||
@@ -2523,34 +2523,34 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 10.412,
|
||||
"init": 0.001,
|
||||
"home": 217.641,
|
||||
"category": 457.597,
|
||||
"detail": 323.497,
|
||||
"player": 606.721,
|
||||
"url_check": 1270.846,
|
||||
"total": 2887.566
|
||||
"module_load": 7.083,
|
||||
"init": 0.0,
|
||||
"home": 423.852,
|
||||
"category": 520.631,
|
||||
"detail": 273.211,
|
||||
"player": 691.375,
|
||||
"url_check": 161.783,
|
||||
"total": 2078.605
|
||||
},
|
||||
"counts": {
|
||||
"classes": 4,
|
||||
"category_videos": 35,
|
||||
"detail_videos": 1,
|
||||
"episodes": 2
|
||||
"episodes": 1
|
||||
},
|
||||
"samples": {
|
||||
"tid": "1",
|
||||
"vod_id": "detail/video/121157",
|
||||
"flag": "FF有广",
|
||||
"play_id": "play/121157-1-1"
|
||||
"vod_id": "detail/video/121197",
|
||||
"flag": "BF有广",
|
||||
"play_id": "play/121197-1-1"
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://vip.ffzy-play10.com/20260522/66759_da5f7764/index.m3u8",
|
||||
"url": "https://v10.baofeng10.com/video/diyu/6e1cfef27217/index.m3u8",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://vip.ffzy-play10.com/20260522/66759_da5f7764/index.m3u8",
|
||||
"final_url": "https://v10.baofeng10.com/video/diyu/6e1cfef27217/index.m3u8",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -2562,14 +2562,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 7.579,
|
||||
"module_load": 7.884,
|
||||
"init": 0.001,
|
||||
"home": 0.001,
|
||||
"category": 3829.204,
|
||||
"detail": 3879.633,
|
||||
"category": 3204.526,
|
||||
"detail": 3784.945,
|
||||
"player": 0.009,
|
||||
"url_check": 931.585,
|
||||
"total": 8648.801
|
||||
"url_check": 1237.243,
|
||||
"total": 8235.03
|
||||
},
|
||||
"counts": {
|
||||
"classes": 7,
|
||||
@@ -2579,17 +2579,17 @@
|
||||
},
|
||||
"samples": {
|
||||
"tid": "1",
|
||||
"vod_id": "462748",
|
||||
"vod_id": "460085",
|
||||
"flag": "百度#虎斑",
|
||||
"play_id": "https://pan.baidu.com/s/1YSfhei2ni1eaGRcDcMOBDA?pwd=9937"
|
||||
"play_id": "https://pan.baidu.com/s/1bW6l6bn2ManRsl581WP7RA?pwd=4832"
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://pan.baidu.com/s/1YSfhei2ni1eaGRcDcMOBDA?pwd=9937",
|
||||
"url": "https://pan.baidu.com/s/1bW6l6bn2ManRsl581WP7RA?pwd=4832",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://pan.baidu.com/share/init?surl=YSfhei2ni1eaGRcDcMOBDA&pwd=9937",
|
||||
"final_url": "https://pan.baidu.com/share/init?surl=bW6l6bn2ManRsl581WP7RA&pwd=4832",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -2601,14 +2601,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 6.871,
|
||||
"module_load": 10.989,
|
||||
"init": 0.001,
|
||||
"home": 0.001,
|
||||
"category": 594.415,
|
||||
"detail": 335.324,
|
||||
"category": 624.183,
|
||||
"detail": 1221.948,
|
||||
"player": 0.003,
|
||||
"url_check": 1593.306,
|
||||
"total": 2530.464
|
||||
"url_check": 1022.611,
|
||||
"total": 2880.63
|
||||
},
|
||||
"counts": {
|
||||
"classes": 7,
|
||||
@@ -2640,14 +2640,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 5.306,
|
||||
"module_load": 6.413,
|
||||
"init": 0.001,
|
||||
"home": 0.001,
|
||||
"category": 737.065,
|
||||
"detail": 224.423,
|
||||
"player": 203.309,
|
||||
"url_check": 1116.399,
|
||||
"total": 2287.201
|
||||
"category": 1347.413,
|
||||
"detail": 939.914,
|
||||
"player": 913.466,
|
||||
"url_check": 1059.79,
|
||||
"total": 4267.725
|
||||
},
|
||||
"counts": {
|
||||
"classes": 4,
|
||||
@@ -2679,14 +2679,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 19.295,
|
||||
"module_load": 5.887,
|
||||
"init": 0.0,
|
||||
"home": 362.575,
|
||||
"category": 230.243,
|
||||
"detail": 314.738,
|
||||
"player": 629.384,
|
||||
"url_check": 460.26,
|
||||
"total": 2017.435
|
||||
"home": 401.979,
|
||||
"category": 285.828,
|
||||
"detail": 258.238,
|
||||
"player": 730.322,
|
||||
"url_check": 606.487,
|
||||
"total": 2289.711
|
||||
},
|
||||
"counts": {
|
||||
"classes": 6,
|
||||
@@ -2713,39 +2713,39 @@
|
||||
{
|
||||
"spider": "路漫漫",
|
||||
"file": "路漫漫.txt",
|
||||
"success": false,
|
||||
"failed_stage": "category",
|
||||
"error": "分类视频列表为空",
|
||||
"success": true,
|
||||
"failed_stage": null,
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 4.69,
|
||||
"init": 0.001,
|
||||
"module_load": 4.124,
|
||||
"init": 0.0,
|
||||
"home": 0.001,
|
||||
"category": 209.732,
|
||||
"detail": 0.0,
|
||||
"player": 0.0,
|
||||
"url_check": 0.0,
|
||||
"total": 470.036
|
||||
"category": 819.024,
|
||||
"detail": 635.172,
|
||||
"player": 1738.644,
|
||||
"url_check": 578.864,
|
||||
"total": 3776.567
|
||||
},
|
||||
"counts": {
|
||||
"classes": 6,
|
||||
"category_videos": 0,
|
||||
"detail_videos": 0,
|
||||
"episodes": 0
|
||||
"category_videos": 20,
|
||||
"detail_videos": 1,
|
||||
"episodes": 2
|
||||
},
|
||||
"samples": {
|
||||
"tid": "7",
|
||||
"vod_id": null,
|
||||
"flag": null,
|
||||
"play_id": null
|
||||
"tid": "6",
|
||||
"vod_id": "detail/7976.html",
|
||||
"flag": "播放节点列表X dev云播 聚合线路",
|
||||
"play_id": "play/7976_1_1.html"
|
||||
},
|
||||
"player": {
|
||||
"parse": null,
|
||||
"url": "",
|
||||
"valid": false,
|
||||
"reachable": null,
|
||||
"status_code": null,
|
||||
"final_url": "",
|
||||
"parse": 1,
|
||||
"url": "https://www.lmm85.com/play/7976_1_1.html",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://www.lmm85.com/play/7976_1_1.html",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -2757,14 +2757,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 5.757,
|
||||
"module_load": 5.106,
|
||||
"init": 0.001,
|
||||
"home": 391.399,
|
||||
"category": 101.866,
|
||||
"detail": 3488.778,
|
||||
"player": 145.823,
|
||||
"url_check": 43.374,
|
||||
"total": 4178.585
|
||||
"home": 701.406,
|
||||
"category": 102.168,
|
||||
"detail": 3541.782,
|
||||
"player": 368.528,
|
||||
"url_check": 53.522,
|
||||
"total": 4773.56
|
||||
},
|
||||
"counts": {
|
||||
"classes": 4,
|
||||
@@ -2780,11 +2780,11 @@
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "http://car-lv.kuwo.cn/7f7f823b239331d3559332b41b4b0cb3/6a12df27/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$",
|
||||
"url": "http://car-lv.kuwo.cn/25cf6cef96856badc8dfac1bf2b10350/6a142dd3/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/7f7f823b239331d3559332b41b4b0cb3/6a12df27/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$",
|
||||
"final_url": "http://car-lv.kuwo.cn/25cf6cef96856badc8dfac1bf2b10350/6a142dd3/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
|
||||
}
|
||||
},
|
||||
@@ -2796,34 +2796,34 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 7.924,
|
||||
"init": 423.186,
|
||||
"home": 256.204,
|
||||
"category": 263.054,
|
||||
"detail": 270.816,
|
||||
"player": 318.171,
|
||||
"url_check": 28.007,
|
||||
"total": 1568.592
|
||||
"module_load": 7.373,
|
||||
"init": 1058.203,
|
||||
"home": 285.15,
|
||||
"category": 246.704,
|
||||
"detail": 277.624,
|
||||
"player": 305.236,
|
||||
"url_check": 41.023,
|
||||
"total": 2222.651
|
||||
},
|
||||
"counts": {
|
||||
"classes": 12,
|
||||
"category_videos": 15,
|
||||
"category_videos": 14,
|
||||
"detail_videos": 1,
|
||||
"episodes": 1
|
||||
},
|
||||
"samples": {
|
||||
"tid": "recommend",
|
||||
"vod_id": "516619275",
|
||||
"vod_id": "276470230",
|
||||
"flag": "酷狗音乐",
|
||||
"play_id": "516619275"
|
||||
"play_id": "276470230"
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "http://fsdg360.tx.kugou.com/202605241921/f22722932bc0ec674834e2e288a7d7a7/v3/bdef1289fab9bf110bcf3144cb8ae850/yp/p_0_960183/ap1013_us0_mic85f71c379c462618de1399950957c33_pi6101_mx516619275_qu128_s4043407878.mp3?ft=car_203559_10049&fts=b05bb02d44717442054bac7624ed9a29&ext=.mp3",
|
||||
"url": "http://fsdg360.tx.kugou.com/202605251909/3d6e18d7079e6a0feb77a47dc14bb864/v3/5246d7ade6e9854a47093541e7d913d6/yp/p_0_960127/ap1013_us0_mic85f71c379c462618de1399950957c33_pi6101_mx276470230_qu128_s1831941621.mp3?ft=car_203559_10049&fts=b05bb02d44717442054bac7624ed9a29&ext=.mp3",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "http://fsdg360.tx.kugou.com/202605241921/f22722932bc0ec674834e2e288a7d7a7/v3/bdef1289fab9bf110bcf3144cb8ae850/yp/p_0_960183/ap1013_us0_mic85f71c379c462618de1399950957c33_pi6101_mx516619275_qu128_s4043407878.mp3?ft=car_203559_10049&fts=b05bb02d44717442054bac7624ed9a29&ext=.mp3",
|
||||
"final_url": "http://fsdg360.tx.kugou.com/202605251909/3d6e18d7079e6a0feb77a47dc14bb864/v3/5246d7ade6e9854a47093541e7d913d6/yp/p_0_960127/ap1013_us0_mic85f71c379c462618de1399950957c33_pi6101_mx276470230_qu128_s1831941621.mp3?ft=car_203559_10049&fts=b05bb02d44717442054bac7624ed9a29&ext=.mp3",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -2835,14 +2835,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 8.137,
|
||||
"init": 0.002,
|
||||
"home": 1101.932,
|
||||
"category": 1245.752,
|
||||
"detail": 216.251,
|
||||
"player": 218.227,
|
||||
"url_check": 1125.254,
|
||||
"total": 3917.18
|
||||
"module_load": 3.815,
|
||||
"init": 0.001,
|
||||
"home": 603.295,
|
||||
"category": 201.751,
|
||||
"detail": 198.962,
|
||||
"player": 208.162,
|
||||
"url_check": 733.048,
|
||||
"total": 1950.607
|
||||
},
|
||||
"counts": {
|
||||
"classes": 4,
|
||||
@@ -2858,11 +2858,11 @@
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://ppvod011.blbtgg.com/splitOut/20260318/1267932/V20260318194542050871267932/index.m3u8?auth_key=1779621670-32eaf16ade5441d5924eea05394ecc60-0-589e234b6e754a1991e9c863f329c668",
|
||||
"url": "https://ppvod011.blbtgg.com/splitOut/20260318/1267932/V20260318194542050871267932/index.m3u8?auth_key=1779707345-88e6724108ca41f3bd64ed68e6dd92b2-0-47c796f1fa64511e614cac923bc863d9",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://ppvod011.blbtgg.com/splitOut/20260318/1267932/V20260318194542050871267932/index.m3u8?auth_key=1779621670-32eaf16ade5441d5924eea05394ecc60-0-589e234b6e754a1991e9c863f329c668",
|
||||
"final_url": "https://ppvod011.blbtgg.com/splitOut/20260318/1267932/V20260318194542050871267932/index.m3u8?auth_key=1779707345-88e6724108ca41f3bd64ed68e6dd92b2-0-47c796f1fa64511e614cac923bc863d9",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -2874,14 +2874,14 @@
|
||||
"error": "分类视频列表为空",
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 6.543,
|
||||
"module_load": 6.341,
|
||||
"init": 0.001,
|
||||
"home": 0.001,
|
||||
"category": 1474.473,
|
||||
"category": 1213.701,
|
||||
"detail": 0.0,
|
||||
"player": 0.0,
|
||||
"url_check": 0.0,
|
||||
"total": 3149.906
|
||||
"total": 2359.404
|
||||
},
|
||||
"counts": {
|
||||
"classes": 5,
|
||||
@@ -2913,14 +2913,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 3.827,
|
||||
"module_load": 3.789,
|
||||
"init": 0.001,
|
||||
"home": 0.0,
|
||||
"category": 1058.333,
|
||||
"detail": 1012.339,
|
||||
"player": 1000.137,
|
||||
"url_check": 979.722,
|
||||
"total": 4055.667
|
||||
"home": 0.001,
|
||||
"category": 1231.298,
|
||||
"detail": 1289.217,
|
||||
"player": 1232.69,
|
||||
"url_check": 835.224,
|
||||
"total": 4593.011
|
||||
},
|
||||
"counts": {
|
||||
"classes": 4,
|
||||
@@ -2930,17 +2930,17 @@
|
||||
},
|
||||
"samples": {
|
||||
"tid": "1",
|
||||
"vod_id": "821",
|
||||
"flag": "茅台资源1",
|
||||
"play_id": "/vodplay/821-5-1.html"
|
||||
"vod_id": "240991",
|
||||
"flag": "高清31",
|
||||
"play_id": "/vodplay/240991-2-1.html"
|
||||
},
|
||||
"player": {
|
||||
"parse": 0,
|
||||
"url": "https://vodcnd10.myqqdd.com/20250114/replUa4Y/index.m3u8",
|
||||
"url": "https://player.yzzyvip-35.com/20260524/7506_4b2ae7d9/index.m3u8",
|
||||
"valid": true,
|
||||
"reachable": true,
|
||||
"status_code": 200,
|
||||
"final_url": "https://vodcnd10.myqqdd.com/20250114/replUa4Y/index.m3u8",
|
||||
"final_url": "https://player.yzzyvip-35.com/20260524/7506_4b2ae7d9/index.m3u8",
|
||||
"reason": null
|
||||
}
|
||||
},
|
||||
@@ -2952,14 +2952,14 @@
|
||||
"error": "分类列表为空",
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 6.398,
|
||||
"module_load": 7.096,
|
||||
"init": 0.001,
|
||||
"home": 162.329,
|
||||
"home": 104.485,
|
||||
"category": 0.0,
|
||||
"detail": 0.0,
|
||||
"player": 0.0,
|
||||
"url_check": 0.0,
|
||||
"total": 168.978
|
||||
"total": 111.793
|
||||
},
|
||||
"counts": {
|
||||
"classes": 0,
|
||||
@@ -2991,14 +2991,14 @@
|
||||
"error": null,
|
||||
"traceback": null,
|
||||
"timings_ms": {
|
||||
"module_load": 5.502,
|
||||
"module_load": 3.493,
|
||||
"init": 0.001,
|
||||
"home": 0.0,
|
||||
"category": 239.88,
|
||||
"detail": 273.635,
|
||||
"player": 0.038,
|
||||
"url_check": 435.052,
|
||||
"total": 955.681
|
||||
"category": 454.904,
|
||||
"detail": 158.02,
|
||||
"player": 0.018,
|
||||
"url_check": 344.53,
|
||||
"total": 962.23
|
||||
},
|
||||
"counts": {
|
||||
"classes": 6,
|
||||
@@ -3030,14 +3030,14 @@
|
||||
"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 705, 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 296, 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": 6.281,
|
||||
"module_load": 5.598,
|
||||
"init": 0.001,
|
||||
"home": 148.258,
|
||||
"home": 5013.399,
|
||||
"category": 0.0,
|
||||
"detail": 0.0,
|
||||
"player": 0.0,
|
||||
"url_check": 0.0,
|
||||
"total": 157.604
|
||||
"total": 5021.056
|
||||
},
|
||||
"counts": {
|
||||
"classes": 0,
|
||||
|
||||
Reference in New Issue
Block a user