🎉 主要更新:
后端:
- 全新华为应用市场爬虫系统
- 三表分离数据库设计 (app_info, app_metrics, app_rating)
- 完整的API接口 (搜索、分类、热门、上新等)
- 元服务自动识别和分类
- 智能Token管理和数据处理
- 修复热门应用重复显示问题
前端:
- 全新首页设计 (今日上架、热门应用)
- 应用页面 (彩色分类磁贴、智能图标匹配)
- 今日上新页面 (日期切换)
- 热门应用页面 (卡片布局)
- 应用详情页面 (完整信息展示)
- Apple风格搜索栏
- Footer组件
- 底部导航栏优化 (4个导航项)
- 骨架屏加载效果
- FontAwesome图标集成
UI/UX:
- 统一浅色背景 (#F5F5F7)
- 流畅的过渡动画
- 响应式设计
- 毛玻璃效果
文档:
- CHANGELOG.md - 完整更新日志
- QUICKSTART.md - 快速开始
- 多个技术文档和使用指南
版本: v2.0.0
2.9 KiB
2.9 KiB
升级后使用指南
✅ 已完成的升级
1. 数据库迁移
所有新字段已成功添加到数据库:
- ✓ dev_id, supplier(开发者信息)
- ✓ kind_id, tag_name(分类信息)
- ✓ price(价格)
- ✓ main_device_codes(设备支持)
- ✓ target_sdk, min_sdk等(SDK信息)
- ✓ ctype, app_level, packing_type(其他信息)
2. 并发爬取
- ✓ 默认5个并发
- ✓ 速度提升约5倍
使用方法
方式1:在backend根目录运行
cd backend
# 爬取前10个应用
python3 crawl.py --limit 10
# 爬取所有应用
python3 crawl.py
方式2:在crawler目录运行
cd backend/app/crawler
# 爬取前10个应用
python3 crawl.py --limit 10
# 爬取所有应用
python3 crawl.py
性能对比
| 应用数量 | 旧版(串行) | 新版(并发5) | 提升 |
|---|---|---|---|
| 10个 | ~5秒 | ~1秒 | 5倍 |
| 100个 | ~50秒 | ~10秒 | 5倍 |
| 962个 | ~8分钟 | ~2分钟 | 4倍 |
输出示例
================================================================================
开始爬取 2 个应用(并发数: 5)
================================================================================
[1/2] C6917559067092904725 ✓ 突击射击 → 无更新
[2/2] C6917559133889396578 ✓ 欢乐麻将 → 无更新
================================================================================
爬取完成: 成功 2 个, 失败 0 个
================================================================================
新增功能
前端应用详情页
现在会显示:
- ✅ 支持平台(手机、平板、智慧屏等)
- ✅ 目标SDK版本
- ✅ 最低API级别
- ✅ 价格信息
设备类型映射
- 0 → 手机
- 1 → 平板
- 2 → 智慧屏
- 3 → 手表
- 4 → 车机
- 5 → PC
注意事项
-
数据库连接警告:运行结束时可能会看到
RuntimeError: Event loop is closed警告,这是 aiomysql 的已知问题,不影响功能。 -
并发数调整:如果遇到网络问题,可以在
crawler.py中调整batch_size参数(建议5-10之间)。 -
重新爬取:升级后建议重新爬取一次数据,以获取所有新字段的信息。
完整流程
# 1. 数据库迁移(已完成)
cd backend
python3 migrate_db.py
# 2. 启动后端服务(新终端)
python3 -m uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
# 3. 爬取数据(新终端)
python3 crawl.py --limit 10
# 4. 启动前端(新终端)
cd frontend
npm run dev
# 5. 访问
# http://localhost:5173
故障排查
Q: 爬虫提示找不到文件
A: 确保在 backend 目录下运行 python3 crawl.py
Q: 数据库连接失败
A: 检查 .env 文件中的数据库配置
Q: 并发爬取失败率高
A: 降低并发数,修改 crawler.py 中的 batch_size=5 改为 batch_size=3