'commit'
This commit is contained in:
@@ -44,9 +44,14 @@
|
||||
2. **用户体验**: UI 操作(点击、滑动、返回)是连续的,不会因为网络请求波动而卡顿。
|
||||
- **任务追踪**: 在 `Crawler.py` 中维护 `background_tasks` 列表,在每页结束时清理已完成任务,并在整个爬取结束时使用 `asyncio.gather` 等待残余任务。
|
||||
|
||||
### 3.2 智能去重机制
|
||||
- **Redis 模糊匹配**: 针对小程序中场站名称可能被省略号截断(如“万达茂...”)的情况,不仅存储全名,还存储场站名称的前 6 位作为前缀索引。
|
||||
- **逻辑**: 先查全名,再查前缀索引。如果前缀匹配成功,则视为已爬取,跳过重复工作。
|
||||
### 3.2 场站去重策略
|
||||
- **按名称去重**: 仅依据列表显示的场站名称进行去重,不再使用前缀或模糊匹配。
|
||||
- **处理规则**:
|
||||
- 名称先经 `clean_station_name` 去掉尾部省略号与空格,例如 `AAABBB...` → `AAABBB`;
|
||||
- 首次遇到该名称时处理并写入 Redis 键 `crawled:aite:{name}`;
|
||||
- 后续再遇到同名(包括省略号截断的同名)直接跳过,不再点击进入详情页。
|
||||
- **设计原因**: 逻辑直白、符合业务预期,降低模糊匹配带来的误判风险。
|
||||
- **一致性说明**: 新电途项目采用同样的按名称去重策略以保持跨项目行为一致。
|
||||
|
||||
### 3.3 坐标系转换
|
||||
- **VL 坐标**: 0-1000 的归一化坐标。
|
||||
|
||||
Reference in New Issue
Block a user