2025-09-29 15:42:56 +01:00
|
|
|
|
# 批量查询工具
|
2025-09-29 15:41:29 +01:00
|
|
|
|
|
2025-09-29 15:42:56 +01:00
|
|
|
|
一个基于Selenium的自动化批量查询工具,用于处理大量ICCID数据的批量查询。
|
2025-09-29 15:41:29 +01:00
|
|
|
|
|
2025-09-29 15:42:56 +01:00
|
|
|
|
## 功能特点
|
2025-09-29 15:41:29 +01:00
|
|
|
|
|
2025-09-29 15:42:56 +01:00
|
|
|
|
- ✅ **自动化批量查询**:支持每批最多50个查询项
|
|
|
|
|
|
- ✅ **智能批次分割**:自动处理超过限制的大批次
|
|
|
|
|
|
- ✅ **实时结果保存**:查询结果立即保存到CSV文件
|
|
|
|
|
|
- ✅ **重试机制**:失败批次自动重试
|
|
|
|
|
|
- ✅ **Chrome优化**:解决浏览器日志错误,提高性能
|
2025-09-29 15:41:29 +01:00
|
|
|
|
|
2025-09-29 15:42:56 +01:00
|
|
|
|
## 快速开始
|
2025-09-29 15:41:29 +01:00
|
|
|
|
|
2025-09-29 15:42:56 +01:00
|
|
|
|
### 1. 安装依赖
|
2025-09-29 15:41:29 +01:00
|
|
|
|
```bash
|
2025-09-29 15:42:56 +01:00
|
|
|
|
pip install -r requirements.txt
|
2025-09-29 15:41:29 +01:00
|
|
|
|
```
|
|
|
|
|
|
|
2025-09-29 15:42:56 +01:00
|
|
|
|
### 2. 准备数据
|
|
|
|
|
|
将查询项(ICCID)放入 `text.txt` 文件,每行一个。
|
|
|
|
|
|
|
|
|
|
|
|
### 3. 运行程序
|
2025-09-29 15:41:29 +01:00
|
|
|
|
```bash
|
|
|
|
|
|
python pa.py
|
|
|
|
|
|
```
|
|
|
|
|
|
|
2025-09-29 15:42:56 +01:00
|
|
|
|
## 配置说明
|
2025-09-29 15:41:29 +01:00
|
|
|
|
|
2025-09-29 15:42:56 +01:00
|
|
|
|
### 主要配置项
|
|
|
|
|
|
- `MAX_PER_BATCH = 50`:每批最大查询项数
|
|
|
|
|
|
- `OUTPUT_CSV = "results.csv"`:结果输出文件
|
|
|
|
|
|
- `ICCID_FILE = "text.txt"`:输入数据文件
|
|
|
|
|
|
- `HEADLESS = False`:是否无头模式运行
|
2025-09-29 15:41:29 +01:00
|
|
|
|
|
2025-09-29 15:42:56 +01:00
|
|
|
|
### Cookie配置
|
|
|
|
|
|
程序已内置有效的Cookie,如需更新请修改 `COOKIES` 字典。
|
2025-09-29 15:41:29 +01:00
|
|
|
|
|
2025-09-29 15:42:56 +01:00
|
|
|
|
## 输出结果
|
2025-09-29 15:41:29 +01:00
|
|
|
|
|
2025-09-29 15:42:56 +01:00
|
|
|
|
查询结果将保存到 `results.csv` 文件,包含以下列:
|
|
|
|
|
|
- `batch`:批次号
|
|
|
|
|
|
- `ICCID`:ICCID号码
|
|
|
|
|
|
- `租户`:租户信息
|
|
|
|
|
|
- `列3+`:其他查询结果列
|
2025-09-29 15:41:29 +01:00
|
|
|
|
|
2025-09-29 15:42:56 +01:00
|
|
|
|
## 文件结构
|
2025-09-29 15:41:29 +01:00
|
|
|
|
|
2025-09-29 15:42:56 +01:00
|
|
|
|
```
|
|
|
|
|
|
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
|
|
|
|
|
|
```
|
2025-09-29 15:41:29 +01:00
|
|
|
|
|
|
|
|
|
|
## 故障排除
|
|
|
|
|
|
|
2025-09-29 15:42:56 +01:00
|
|
|
|
### 常见问题
|
|
|
|
|
|
|
|
|
|
|
|
1. **Chrome驱动问题**
|
|
|
|
|
|
- 程序会自动下载ChromeDriver
|
|
|
|
|
|
- 确保Chrome浏览器已安装
|
|
|
|
|
|
|
|
|
|
|
|
2. **Cookie过期**
|
|
|
|
|
|
- 重新登录网站获取新Cookie
|
|
|
|
|
|
- 更新 `COOKIES` 配置
|
|
|
|
|
|
|
|
|
|
|
|
3. **网络连接问题**
|
|
|
|
|
|
- 检查网络连接
|
|
|
|
|
|
- 确认目标网站可访问
|
|
|
|
|
|
|
|
|
|
|
|
4. **页面结构变化**
|
|
|
|
|
|
- 检查XPath选择器是否有效
|
|
|
|
|
|
- 必要时更新选择器路径
|
|
|
|
|
|
|
|
|
|
|
|
## 技术栈
|
|
|
|
|
|
|
|
|
|
|
|
- **Python 3.7+**
|
|
|
|
|
|
- **Selenium WebDriver**
|
|
|
|
|
|
- **Chrome浏览器**
|
|
|
|
|
|
- **Pandas数据处理**
|
|
|
|
|
|
|
|
|
|
|
|
## 更新日志
|
|
|
|
|
|
|
|
|
|
|
|
### v2.0 (当前版本)
|
|
|
|
|
|
- 🚀 代码精简:从600行减少到280行
|
|
|
|
|
|
- ⚡ 性能优化:解决Chrome浏览器错误
|
|
|
|
|
|
- 💾 实时保存:查询结果立即保存
|
|
|
|
|
|
- 🔄 智能重试:失败批次自动重试
|
|
|
|
|
|
- 📊 详细报告:完整的处理统计信息
|
2025-09-29 15:41:29 +01:00
|
|
|
|
|
2025-09-29 15:42:56 +01:00
|
|
|
|
### v1.0
|
|
|
|
|
|
- 基础批量查询功能
|
|
|
|
|
|
- 多线程处理支持
|
|
|
|
|
|
- 基础错误处理
|
2025-09-29 15:41:29 +01:00
|
|
|
|
|
2025-09-29 15:42:56 +01:00
|
|
|
|
## 许可证
|
2025-09-29 15:41:29 +01:00
|
|
|
|
|
2025-09-29 15:42:56 +01:00
|
|
|
|
MIT License
|