ICP 批处理工作流
此技能封装了整套批量查询流程,适用于类似 domains.xlsx 的表格:
- •从表头含“链接”的列提取域名(保留去重,非标准值也保留)。
- •优先使用本地缓存
icp_results.csv;仅对缺失或失败记录调用 API。 - •写回/更新:
- •
icp_results.csv:完整原始响应缓存(domain,status_code,error_header,body)。 - •
icp_success.csv:解析后的成功条目(code=1)。 - •原始 Excel 在末尾追加两列:备案主体、备案号。
- •
运行前准备
- •Python 3.9+,依赖:
pip install openpyxl requests。 - •AppCode 可通过环境变量、
--appcode、或appcode.txt(同目录一行内容)提供;未提供会提示输入。 - •默认文件:
domains.xlsx,若找不到会弹出文件选择器;执行过程中会显示进度与错误提示。
快速使用
bash
python icp-batch-skill/scripts/run_icp_batch.py \ --workbook domains.xlsx \ --cache icp_results.csv \ --success icp_success.csv
参数说明(均有默认,可省略):
- •
--workbook:待处理 Excel(默认 domains.xlsx)。 - •
--cache:缓存文件(默认 icp_results.csv)。 - •
--success:成功解析输出(默认 icp_success.csv)。
过程要点
- •提取域名:优先匹配表头等于“链接”的列,否则使用首列。对每行提取正则域名;无匹配则使用原文本。
- •缓存策略:
- •命中且
status_code=200且响应code=1→ 直接复用。 - •其他情况 → 调用 API
GET https://domainicp.market.alicloudapi.com/do?domain=...,头Authorization: APPCODE <APP_CODE>。
- •命中且
- •写回:
- •追加两列表头:
备案主体、备案号,按行填充命中数据(无则留空)。 - •
icp_results.csv覆盖写入完整域名顺序。 - •
icp_success.csv写入成功解析条目,便于后续复用。
- •追加两列表头:
常见问题
- •403/鉴权失败:检查 APP_CODE 是否有效、套餐授权正常。
- •非标准域名:脚本保留并尝试查询,若返回 code=0 / 字段为空,输出空。
- •如需更换 API Host/Path,可用参数
--host、--path(见脚本)。
资源
- •脚本:
scripts/run_icp_batch.py