# Api Crawler **Repository Path**: examples_for_dev/api-crawler ## Basic Information - **Project Name**: Api Crawler - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-16 - **Last Updated**: 2025-06-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 接口数据爬虫 ## 功能说明 这个Python脚本用于爬取 `https://pmos.sx.sgcc.com.cn/px-shop/unLoginController/getPackages` 接口的数据。 ## 主要特性 - 支持分页爬取(默认19页) - 自动保存数据到JSON文件 - 生成爬取摘要报告 - 支持数据预览 - 异常处理和错误重试 - 请求间隔控制避免过频访问 ## 安装依赖 ```bash pip install -r requirements.txt ``` ## 运行方式 ```bash python api_crawler.py ``` ## 输出文件 运行完成后会生成以下文件: 1. `api_data_YYYYMMDD_HHMMSS.json` - 完整的爬取数据(JSON格式) 2. `api_data_YYYYMMDD_HHMMSS.csv` - 所有页面的结构化数据(CSV格式) ## 接口参数 脚本使用的POST请求参数: - `pageNum`: 页码(1-19) - `pageSize`: 每页数量(10) - `ratioId`: 固定ID - 其他参数保持默认值 ## CSV功能特性 - **自动数据扁平化**: 将嵌套的JSON数据转换为平面CSV格式 - **多种数据结构支持**: 自动识别`records`、`data`、`list`、`items`等常见数据字段 - **元数据添加**: 为每条记录添加爬取页码和时间戳信息 - **备用保存机制**: 如果pandas保存失败,自动使用csv模块备用方案 - **统一保存**: 将所有19页数据合并保存到一个CSV文件中 - **中文支持**: 使用UTF-8-BOM编码确保中文正确显示 ## 注意事项 - 脚本会在每次请求之间等待1秒,避免对服务器造成过大压力 - 如果某页请求失败,会继续爬取其他页面 - 所有数据都会保存在test目录下 - CSV文件使用UTF-8-BOM编码,确保在Excel中正确显示中文 - 嵌套的JSON对象和数组会被转换为JSON字符串保存在CSV中