更新README: 精简版说明文档,突出核心功能
This commit is contained in:
168
README.md
168
README.md
@@ -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
|
||||||
Reference in New Issue
Block a user