python切换node的版本
This commit is contained in:
@@ -1,25 +1,13 @@
|
||||
# 阿里云 APS 同步命令清单
|
||||
# 阿里云 APS Node 同步命令清单
|
||||
|
||||
本文档整理项目中常用的爬取、同步、入库、调度、增量和运行时控制命令。
|
||||
|
||||
## 1. 项目目录
|
||||
|
||||
### 前端爬取项目
|
||||
## 1. 进入项目目录
|
||||
|
||||
```powershell
|
||||
cd D:\project\python\aliyun-sync\aliyun-aps-sync
|
||||
```
|
||||
|
||||
### 后端入库项目
|
||||
|
||||
```powershell
|
||||
cd D:\project\python\aliyun-sync\aps-aliyun-sync
|
||||
```
|
||||
|
||||
## 2. 安装依赖
|
||||
|
||||
在前端爬取项目目录执行:
|
||||
|
||||
```powershell
|
||||
npm install
|
||||
```
|
||||
@@ -32,234 +20,125 @@ npm run login
|
||||
|
||||
作用:
|
||||
|
||||
- 打开浏览器。
|
||||
- 手动完成阿里云 / RAM 登录。
|
||||
- 自动验证“我的客户”和“账单查询”页面。
|
||||
- 保存登录态到 `.browser/` 和 `.browser/storage-state.json`。
|
||||
- 打开浏览器
|
||||
- 手动完成阿里云 / RAM 登录
|
||||
- 自动验证我的客户和账单查询
|
||||
- 保存登录态
|
||||
|
||||
## 4. 爬取 / 同步命令
|
||||
|
||||
### 全量同步全部模块
|
||||
## 4. 全量同步
|
||||
|
||||
```powershell
|
||||
npm run sync
|
||||
```
|
||||
|
||||
默认同步:
|
||||
默认包含:
|
||||
|
||||
- customers
|
||||
- customerDetails
|
||||
- orders
|
||||
- orderDetails
|
||||
- bills
|
||||
- messages
|
||||
|
||||
### 仅爬取账单
|
||||
并在同步过程中直接写入数据库。
|
||||
|
||||
## 5. 日增量同步
|
||||
|
||||
```powershell
|
||||
npm run incremental
|
||||
```
|
||||
|
||||
默认包含:
|
||||
|
||||
- orders
|
||||
- orderDetails
|
||||
- bills
|
||||
- messages
|
||||
|
||||
说明:
|
||||
|
||||
- 不抓 customer
|
||||
- 按数据库 watermark + overlap 抓取
|
||||
|
||||
## 6. 单独抓账单
|
||||
|
||||
```powershell
|
||||
npm run bills
|
||||
```
|
||||
|
||||
### 基于 checkpoint 断点续爬账单
|
||||
## 7. 单独抓消息
|
||||
|
||||
```powershell
|
||||
npm run messages
|
||||
```
|
||||
|
||||
## 8. 从最新 checkpoint 继续抓账单
|
||||
|
||||
```powershell
|
||||
npm run bills -- --resume
|
||||
```
|
||||
|
||||
作用:
|
||||
|
||||
- 自动读取 `data/checkpoints/bills/` 下最新 checkpoint。
|
||||
- 从 checkpoint 记录的月份和页码之后继续抓取。
|
||||
|
||||
### 启动定时同步
|
||||
## 9. 定时任务
|
||||
|
||||
```powershell
|
||||
npm run schedule
|
||||
```
|
||||
|
||||
默认 cron:
|
||||
默认读取:
|
||||
|
||||
```env
|
||||
ALIYUN_APS_CRON=0 6 * * *
|
||||
ALIYUN_APS_SCHEDULE_MODE=incremental
|
||||
```
|
||||
|
||||
表示每天早上 6 点执行。
|
||||
|
||||
## 5. 增量同步
|
||||
|
||||
### 默认增量同步
|
||||
|
||||
在 `.env` 中设置:
|
||||
|
||||
```env
|
||||
ALIYUN_APS_FULL_SYNC=false
|
||||
```
|
||||
|
||||
然后执行:
|
||||
|
||||
```powershell
|
||||
npm run sync
|
||||
```
|
||||
|
||||
默认行为:
|
||||
|
||||
- 订单只查昨天。
|
||||
- 订单详情跟随本次订单结果。
|
||||
- 账单按数据库最新消费时间增量。
|
||||
|
||||
### 指定订单 / 订单详情增量起始日期
|
||||
|
||||
临时命令方式:
|
||||
|
||||
```powershell
|
||||
npm run sync -- --incremental-order-start-date=2026-01-01
|
||||
```
|
||||
|
||||
`.env` 固定配置方式:
|
||||
|
||||
```env
|
||||
ALIYUN_APS_FULL_SYNC=false
|
||||
ALIYUN_APS_INCREMENTAL_ORDER_START_DATE=2026-01-01
|
||||
```
|
||||
|
||||
然后执行:
|
||||
|
||||
```powershell
|
||||
npm run sync
|
||||
```
|
||||
|
||||
行为:
|
||||
|
||||
- 订单从指定日期开始补抓到今天。
|
||||
- 订单详情跟随这些订单抓取。
|
||||
|
||||
### 指定账单起始月份
|
||||
|
||||
在 `.env` 中设置:
|
||||
|
||||
```env
|
||||
ALIYUN_APS_BILL_START_MONTH=2024-01
|
||||
```
|
||||
|
||||
然后执行:
|
||||
|
||||
```powershell
|
||||
npm run bills
|
||||
```
|
||||
|
||||
说明:当前账单爬取支持按月份开始;如需按具体日期开始,需要新增账单日期过滤参数。
|
||||
|
||||
## 6. 后端入库命令
|
||||
|
||||
进入后端入库项目目录:
|
||||
|
||||
```powershell
|
||||
cd D:\project\python\aliyun-sync\aps-aliyun-sync
|
||||
```
|
||||
|
||||
### 全量入库
|
||||
|
||||
```powershell
|
||||
python aps_db_sync.py
|
||||
```
|
||||
|
||||
### 增量入库
|
||||
|
||||
```powershell
|
||||
python aps_db_sync.py --incremental
|
||||
```
|
||||
|
||||
### 指定同步对象入库
|
||||
|
||||
```powershell
|
||||
python aps_db_sync.py --sync-target all
|
||||
python aps_db_sync.py --sync-target customer
|
||||
python aps_db_sync.py --sync-target order
|
||||
python aps_db_sync.py --sync-target orderdetails
|
||||
python aps_db_sync.py --sync-target bills
|
||||
```
|
||||
|
||||
### 增量只同步账单入库
|
||||
|
||||
```powershell
|
||||
python aps_db_sync.py --incremental --sync-target bills
|
||||
```
|
||||
|
||||
### 直接将最新 bills checkpoint 入库
|
||||
|
||||
```powershell
|
||||
python aps_db_sync.py --sync-target bills --from-checkpoint
|
||||
```
|
||||
|
||||
### 查询数据库最新账单消费时间
|
||||
|
||||
```powershell
|
||||
python aps_db_sync.py --latest-bill-consumption-time
|
||||
```
|
||||
|
||||
## 7. 后端调度器命令
|
||||
|
||||
进入后端入库项目目录:
|
||||
|
||||
```powershell
|
||||
cd D:\project\python\aliyun-sync\aps-aliyun-sync
|
||||
```
|
||||
|
||||
### 启动调度器
|
||||
|
||||
```powershell
|
||||
python aps_scheduler.py
|
||||
```
|
||||
|
||||
### 指定同步对象启动调度器
|
||||
|
||||
```powershell
|
||||
python aps_scheduler.py --sync-target all
|
||||
python aps_scheduler.py --sync-target customer
|
||||
python aps_scheduler.py --sync-target order
|
||||
python aps_scheduler.py --sync-target orderdetails
|
||||
python aps_scheduler.py --sync-target bills
|
||||
```
|
||||
|
||||
## 8. 常用 `.env` 示例
|
||||
|
||||
文件位置:
|
||||
|
||||
```powershell
|
||||
D:\project\python\aliyun-sync\aliyun-aps-sync\.env
|
||||
```
|
||||
|
||||
### 全量模式
|
||||
## 10. 常用 `.env` 配置
|
||||
|
||||
```env
|
||||
ALIYUN_APS_BASE_URL=https://aps.aliyun.com
|
||||
ALIYUN_APS_HEADLESS=false
|
||||
ALIYUN_APS_BROWSER_CHANNEL=
|
||||
ALIYUN_APS_BROWSER_EXECUTABLE_PATH=
|
||||
ALIYUN_APS_TIMEZONE=Asia/Shanghai
|
||||
ALIYUN_APS_CRON=0 6 * * *
|
||||
ALIYUN_APS_SCHEDULE_MODE=incremental
|
||||
ALIYUN_APS_CLOSE_BROWSER=true
|
||||
|
||||
ALIYUN_APS_FULL_SYNC=true
|
||||
ALIYUN_APS_ORDER_START_DATE=2024-01-01
|
||||
ALIYUN_APS_INCREMENTAL_ORDER_START_DATE=
|
||||
ALIYUN_APS_BILL_START_MONTH=2024-01
|
||||
|
||||
ALIYUN_APS_ORDER_INCREMENTAL_OVERLAP_DAYS=2
|
||||
ALIYUN_APS_BILL_INCREMENTAL_OVERLAP_DAYS=7
|
||||
ALIYUN_APS_MESSAGE_INCREMENTAL_OVERLAP_DAYS=7
|
||||
|
||||
ALIYUN_APS_DB_HOST=
|
||||
ALIYUN_APS_DB_PORT=3306
|
||||
ALIYUN_APS_DB_USER=
|
||||
ALIYUN_APS_DB_PASSWORD=
|
||||
ALIYUN_APS_DB_NAME=
|
||||
ALIYUN_APS_DB_CHARSET=utf8mb4
|
||||
ALIYUN_APS_DB_CONNECTION_LIMIT=5
|
||||
|
||||
ALIYUN_APS_SMTP_HOST=
|
||||
ALIYUN_APS_SMTP_PORT=465
|
||||
ALIYUN_APS_SMTP_SECURE=true
|
||||
ALIYUN_APS_SMTP_USER=
|
||||
ALIYUN_APS_SMTP_PASS=
|
||||
ALIYUN_APS_NOTIFY_EMAIL=
|
||||
|
||||
ALIYUN_APS_CLOSE_BROWSER=true
|
||||
ALIYUN_APS_DB_SYNC_SCRIPT=../aps-aliyun-sync/aps_db_sync.py
|
||||
```
|
||||
|
||||
### 增量模式:默认只查昨天订单
|
||||
浏览器选择规则:
|
||||
|
||||
```env
|
||||
ALIYUN_APS_FULL_SYNC=false
|
||||
ALIYUN_APS_INCREMENTAL_ORDER_START_DATE=
|
||||
```
|
||||
- 两项都留空:使用 Playwright 自带 Chromium
|
||||
- `ALIYUN_APS_BROWSER_CHANNEL=chrome`:使用 Chrome
|
||||
- `ALIYUN_APS_BROWSER_CHANNEL=msedge`:使用 Edge
|
||||
- `ALIYUN_APS_BROWSER_EXECUTABLE_PATH=...`:使用指定浏览器路径
|
||||
|
||||
### 增量模式:指定订单起始日期
|
||||
## 11. 推荐执行顺序
|
||||
|
||||
```env
|
||||
ALIYUN_APS_FULL_SYNC=false
|
||||
ALIYUN_APS_INCREMENTAL_ORDER_START_DATE=2026-01-01
|
||||
```
|
||||
|
||||
## 9. 常用组合
|
||||
|
||||
### 首次使用
|
||||
### 首次初始化
|
||||
|
||||
```powershell
|
||||
cd D:\project\python\aliyun-sync\aliyun-aps-sync
|
||||
@@ -268,49 +147,44 @@ npm run login
|
||||
npm run sync
|
||||
```
|
||||
|
||||
### 只抓账单
|
||||
### 日常增量
|
||||
|
||||
```powershell
|
||||
cd D:\project\python\aliyun-sync\aliyun-aps-sync
|
||||
npm run incremental
|
||||
```
|
||||
|
||||
### 单独同步消息
|
||||
|
||||
```powershell
|
||||
cd D:\project\python\aliyun-sync\aliyun-aps-sync
|
||||
npm run messages
|
||||
```
|
||||
|
||||
### 账单长任务恢复
|
||||
|
||||
```powershell
|
||||
cd D:\project\python\aliyun-sync\aliyun-aps-sync
|
||||
npm run login
|
||||
npm run bills
|
||||
npm run bills -- --resume
|
||||
```
|
||||
|
||||
### 订单 / 订单详情从指定日期补抓
|
||||
### 常驻定时任务
|
||||
|
||||
```powershell
|
||||
cd D:\project\python\aliyun-sync\aliyun-aps-sync
|
||||
npm run login
|
||||
npm run sync -- --incremental-order-start-date=2026-01-01
|
||||
npm run schedule
|
||||
```
|
||||
|
||||
### 抓完后只同步账单入库
|
||||
## 12. 错误文件
|
||||
|
||||
```powershell
|
||||
cd D:\project\python\aliyun-sync\aps-aliyun-sync
|
||||
python aps_db_sync.py --sync-target bills
|
||||
运行异常时会保存:
|
||||
|
||||
```text
|
||||
data/errors/<dataset>/
|
||||
```
|
||||
|
||||
### 抓完后增量同步账单入库
|
||||
|
||||
```powershell
|
||||
cd D:\project\python\aliyun-sync\aps-aliyun-sync
|
||||
python aps_db_sync.py --incremental --sync-target bills
|
||||
```
|
||||
|
||||
## 10. 清理登录态
|
||||
|
||||
如果登录态异常,可以删除 `.browser` 后重新登录:
|
||||
|
||||
```powershell
|
||||
cd D:\project\python\aliyun-sync\aliyun-aps-sync
|
||||
Remove-Item -Recurse -Force .browser
|
||||
npm run login
|
||||
```
|
||||
|
||||
## 11. 运行时热键
|
||||
|
||||
脚本运行时可在当前终端中使用:
|
||||
## 13. 运行时热键
|
||||
|
||||
| 按键 | 功能 |
|
||||
| --- | --- |
|
||||
@@ -318,4 +192,13 @@ npm run login
|
||||
| F8 | 继续 |
|
||||
| F9 | 终止 |
|
||||
|
||||
注意:这是当前终端进程内热键,不是系统级全局热键。
|
||||
## 14. 本地数据目录
|
||||
|
||||
```text
|
||||
data/current/
|
||||
data/history/
|
||||
data/delta/
|
||||
data/checkpoints/
|
||||
data/runs/
|
||||
data/errors/
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user