更新README: 精简版说明文档,突出核心功能

This commit is contained in:
赵杰
2025-09-29 15:42:56 +01:00
parent 42c8412f07
commit b6aea82627

168
README.md
View File

@@ -1,78 +1,122 @@
# 批量查询工具使用说明 # 批量查询工具
## 问题解决方案 一个基于Selenium的自动化批量查询工具用于处理大量ICCID数据的批量查询。
由于网站需要手动打开批量查询弹窗,我们提供了以下解决方案: ## 功能特点
### 方案1: 改进的自动化脚本 (pa.py) -**自动化批量查询**支持每批最多50个查询项
- **优点**: 尝试多种方式自动打开弹窗 - **智能批次分割**:自动处理超过限制的大批次
- **缺点**: 如果自动方式失败,需要手动操作 - **实时结果保存**查询结果立即保存到CSV文件
- **使用**: 直接运行 `python pa.py` - **重试机制**:失败批次自动重试
-**Chrome优化**:解决浏览器日志错误,提高性能
### 方案2: API接口调用 (pa_api.py) ## 快速开始
- **优点**: 完全自动化,无需浏览器操作
- **缺点**: 需要先找到正确的API端点
- **使用**: 运行 `python pa_api.py`
### 方案3: API端点发现工具 ### 1. 安装依赖
- **用途**: 帮助找到正确的API端点
- **使用**: 运行 `python api_discovery.py``python simple_api_test.py`
## 推荐使用流程
### 步骤1: 尝试API方案
```bash
python simple_api_test.py
```
### 步骤2: 如果API方案失败使用改进的自动化脚本
```bash
python pa.py
```
当程序提示需要手动操作时:
1. 在浏览器中找到"批量查询"按钮
2. 点击打开弹窗
3. 按回车键继续
### 步骤3: 如果需要找到API端点
1. 在浏览器中手动执行一次批量查询
2. 打开开发者工具 -> Network标签
3. 查看XHR/Fetch请求
4. 找到批量查询的API端点
5. 更新 `pa_api.py` 中的 `API_ENDPOINT` 变量
## 文件说明
- `pa.py`: 改进的Selenium自动化脚本
- `pa_api.py`: API接口调用脚本
- `api_discovery.py`: API端点发现工具
- `simple_api_test.py`: 简单API测试工具
- `text.txt`: 查询数据文件1138行
- `requirements.txt`: 依赖包列表
## 安装依赖
```bash ```bash
pip install -r requirements.txt pip install -r requirements.txt
``` ```
## 注意事项 ### 2. 准备数据
将查询项ICCID放入 `text.txt` 文件,每行一个。
1. **Cookie有效期**: 如果Cookie过期需要重新获取 ### 3. 运行程序
2. **网络连接**: 确保能正常访问目标网站 ```bash
3. **页面结构变化**: 如果网站更新可能需要调整XPath选择器 python pa.py
4. **API端点**: 不同网站可能有不同的API端点格式 ```
## 配置说明
### 主要配置项
- `MAX_PER_BATCH = 50`:每批最大查询项数
- `OUTPUT_CSV = "results.csv"`:结果输出文件
- `ICCID_FILE = "text.txt"`:输入数据文件
- `HEADLESS = False`:是否无头模式运行
### Cookie配置
程序已内置有效的Cookie如需更新请修改 `COOKIES` 字典。
## 输出结果
查询结果将保存到 `results.csv` 文件,包含以下列:
- `batch`:批次号
- `ICCID`ICCID号码
- `租户`:租户信息
- `列3+`:其他查询结果列
## 文件结构
```
pa/
├── pa.py # 主程序文件
├── requirements.txt # 依赖包列表
├── text.txt # 输入数据文件
├── results.csv # 输出结果文件
└── README.md # 说明文档
```
## 使用示例
```python
# 程序运行示例输出
总共读取到 1138 个查询项
将分为 23 个批次处理
=== 处理批次 1/23 ===
本批次包含 50 个查询项
本批次获得 45 条结果
已保存 45 条结果到 results.csv
📊 批量查询完成报告
总查询项: 1138
总批次数: 23
成功批次: 23
失败批次: 0
成功率: 100.0%
总保存结果数: 1089
```
## 故障排除 ## 故障排除
### 问题1: 找不到输入框 ### 常见问题
**解决方案**: 手动打开批量查询弹窗,然后按回车继续
### 问题2: API返回404 1. **Chrome驱动问题**
**解决方案**: 使用浏览器开发者工具找到正确的API端点 - 程序会自动下载ChromeDriver
- 确保Chrome浏览器已安装
### 问题3: Cookie过期 2. **Cookie过期**
**解决方案**: 重新登录网站获取新Cookie - 重新登录网站获取新Cookie
- 更新 `COOKIES` 配置
### 问题4: 页面加载失败 3. **网络连接问题**
**解决方案**: 检查网络连接和网站状态 - 检查网络连接
- 确认目标网站可访问
4. **页面结构变化**
- 检查XPath选择器是否有效
- 必要时更新选择器路径
## 技术栈
- **Python 3.7+**
- **Selenium WebDriver**
- **Chrome浏览器**
- **Pandas数据处理**
## 更新日志
### v2.0 (当前版本)
- 🚀 代码精简从600行减少到280行
- ⚡ 性能优化解决Chrome浏览器错误
- 💾 实时保存:查询结果立即保存
- 🔄 智能重试:失败批次自动重试
- 📊 详细报告:完整的处理统计信息
### v1.0
- 基础批量查询功能
- 多线程处理支持
- 基础错误处理
## 许可证
MIT License