更新README: 精简版说明文档,突出核心功能
This commit is contained in:
168
README.md
168
README.md
@@ -1,78 +1,122 @@
|
||||
# 批量查询工具使用说明
|
||||
# 批量查询工具
|
||||
|
||||
## 问题解决方案
|
||||
一个基于Selenium的自动化批量查询工具,用于处理大量ICCID数据的批量查询。
|
||||
|
||||
由于网站需要手动打开批量查询弹窗,我们提供了以下解决方案:
|
||||
## 功能特点
|
||||
|
||||
### 方案1: 改进的自动化脚本 (pa.py)
|
||||
- **优点**: 尝试多种方式自动打开弹窗
|
||||
- **缺点**: 如果自动方式失败,需要手动操作
|
||||
- **使用**: 直接运行 `python pa.py`
|
||||
- ✅ **自动化批量查询**:支持每批最多50个查询项
|
||||
- ✅ **智能批次分割**:自动处理超过限制的大批次
|
||||
- ✅ **实时结果保存**:查询结果立即保存到CSV文件
|
||||
- ✅ **重试机制**:失败批次自动重试
|
||||
- ✅ **Chrome优化**:解决浏览器日志错误,提高性能
|
||||
|
||||
### 方案2: API接口调用 (pa_api.py)
|
||||
- **优点**: 完全自动化,无需浏览器操作
|
||||
- **缺点**: 需要先找到正确的API端点
|
||||
- **使用**: 运行 `python pa_api.py`
|
||||
## 快速开始
|
||||
|
||||
### 方案3: API端点发现工具
|
||||
- **用途**: 帮助找到正确的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`: 依赖包列表
|
||||
|
||||
## 安装依赖
|
||||
### 1. 安装依赖
|
||||
```bash
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
### 2. 准备数据
|
||||
将查询项(ICCID)放入 `text.txt` 文件,每行一个。
|
||||
|
||||
1. **Cookie有效期**: 如果Cookie过期,需要重新获取
|
||||
2. **网络连接**: 确保能正常访问目标网站
|
||||
3. **页面结构变化**: 如果网站更新,可能需要调整XPath选择器
|
||||
4. **API端点**: 不同网站可能有不同的API端点格式
|
||||
### 3. 运行程序
|
||||
```bash
|
||||
python pa.py
|
||||
```
|
||||
|
||||
## 配置说明
|
||||
|
||||
### 主要配置项
|
||||
- `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
|
||||
**解决方案**: 使用浏览器开发者工具找到正确的API端点
|
||||
1. **Chrome驱动问题**
|
||||
- 程序会自动下载ChromeDriver
|
||||
- 确保Chrome浏览器已安装
|
||||
|
||||
### 问题3: Cookie过期
|
||||
**解决方案**: 重新登录网站,获取新的Cookie
|
||||
2. **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