程序员阿江(Relakkes)
1e1ae64cb4
fix(ks): 视频不可用时 photo 为 null 导致整轮爬取崩溃
快手对已删除/私密/不存在的视频,返回的 visionVideoDetail 里 photo/author 是
null——key 存在、值是 null。而 detail.get("photo", {}) 只在 key 缺失时给默认值,
key 存在且为 null 时拿到的仍是 None,紧接着的 photo.get(...) 抛 AttributeError。
该异常不在 get_video_info_task 的 except 列表里(只 catch DataFetchError /
KeyError),会穿过 asyncio.gather 直接把整轮爬取带崩。
- core.py: 用 (x or {}) 兜住 null;photo 为空时打 WARNING 并跳过该视频,
不再返回半残的 detail 让下游存空记录、再去下载媒体
- 新增 tests/test_kuaishou_unavailable_video.py(不发网络请求)
验证:photo=null / photo 缺失 / visionVideoDetail 缺失 均返回 None;
真实 cookie 端到端确认不可用视频被跳过、正常视频照常返回详情。
2026-09-18 17:18:01 +08:00
..
2025-11-28 04:44:12 +01:00
2025-12-26 23:27:19 +08:00
2026-09-17 22:54:22 +08:00
2026-09-17 22:54:22 +08:00
2026-08-11 18:10:16 +08:00
2026-09-18 15:48:06 +08:00
2026-06-18 17:22:38 +08:00
2026-09-17 22:54:22 +08:00
2026-04-30 18:20:46 +08:00
2026-09-18 17:00:11 +08:00
2026-07-01 23:03:43 +08:00
2025-11-28 15:12:36 +08:00
2026-07-01 13:09:55 +08:00
2026-09-18 17:18:01 +08:00
2026-09-17 22:54:22 +08:00
2026-09-17 22:54:22 +08:00
2026-09-17 22:54:22 +08:00
2026-09-18 16:10:18 +08:00
2026-09-17 22:54:22 +08:00
2026-07-01 13:09:55 +08:00
2026-05-29 21:27:52 +08:00
2026-07-01 23:03:43 +08:00
2026-04-30 18:20:46 +08:00
2026-07-01 23:03:43 +08:00
2026-07-01 23:03:43 +08:00
2026-08-11 18:10:16 +08:00
2026-08-11 17:52:54 +08:00