Python实现企业名称查询:爱企查详情信息自动化获取指南
2025.09.18 16:01浏览量:14简介:本文详细介绍如何使用Python根据输入的企业名称,通过爱企查API自动化查询企业详情信息,包括关键字段提取、API调用技巧及异常处理。
Python实现企业名称查询:爱企查详情信息自动化获取指南
引言:企业信息查询的自动化需求
在商业分析、尽职调查、市场研究等场景中,快速获取企业基础信息(如工商注册信息、股东结构、法律诉讼等)是关键环节。传统方式依赖人工网页搜索,存在效率低、信息不完整等问题。通过Python结合爱企查API,可实现企业信息的自动化批量查询,显著提升工作效率。本文将详细介绍从API接入到数据解析的全流程实现。
一、爱企查API接入准备
1.1 API服务开通
爱企查提供企业信息查询API接口,需通过官方渠道申请API密钥。申请流程包括:
- 注册爱企查开发者账号
- 提交应用信息(如应用名称、使用场景)
- 获取API Key及Secret
- 了解服务等级(免费版/付费版)及调用限制(如QPS、每日调用次数)
1.2 接口文档解读
关键接口包括:
- 企业基础信息查询:
/api/company/search- 输入参数:企业名称(支持模糊匹配)、地区码
- 输出字段:统一社会信用代码、法定代表人、注册资本、成立日期等
- 企业详情查询:
/api/company/detail- 输入参数:企业ID或统一社会信用代码
- 输出字段:股东信息、变更记录、分支机构等
二、Python实现核心代码
2.1 环境配置
# 安装必要库pip install requests pandas
2.2 API请求封装
import requestsimport jsonfrom typing import Dict, Optionalclass AiqichaAPI:def __init__(self, api_key: str, api_secret: str):self.api_key = api_keyself.api_secret = api_secretself.base_url = "https://api.aiqicha.cn" # 示例域名,需替换为实际API地址def _get_access_token(self) -> str:"""获取API访问令牌"""url = f"{self.base_url}/auth/token"params = {"api_key": self.api_key,"api_secret": self.api_secret}response = requests.get(url, params=params)return response.json().get("access_token")def search_company(self, company_name: str, region_code: str = "110000") -> Optional[Dict]:"""企业名称搜索"""token = self._get_access_token()url = f"{self.base_url}/api/company/search"headers = {"Authorization": f"Bearer {token}"}params = {"keyword": company_name,"region_code": region_code}response = requests.get(url, headers=headers, params=params)return response.json().get("data", [])[0] if response.json().get("data") else Nonedef get_company_detail(self, company_id: str) -> Optional[Dict]:"""获取企业详情"""token = self._get_access_token()url = f"{self.base_url}/api/company/detail"headers = {"Authorization": f"Bearer {token}"}params = {"company_id": company_id}response = requests.get(url, headers=headers, params=params)return response.json().get("data")
2.3 完整查询流程
def query_company_info(api_client: AiqichaAPI, company_name: str) -> Optional[Dict]:"""完整查询流程"""# 1. 搜索企业search_result = api_client.search_company(company_name)if not search_result:print(f"未找到企业: {company_name}")return None# 2. 获取企业IDcompany_id = search_result.get("company_id")# 3. 查询详情detail = api_client.get_company_detail(company_id)if not detail:print(f"获取企业详情失败: {company_id}")return Nonereturn {"basic_info": search_result,"detail_info": detail}
三、关键字段解析与处理
3.1 基础信息字段
- 统一社会信用代码:企业的唯一标识,需验证长度(18位)及校验位
- 注册资本:需处理单位(万元/元)及币种
- 成立日期:转换为datetime对象便于计算企业存续时间
3.2 股东信息处理
def parse_shareholders(detail_info: Dict) -> list:"""解析股东信息"""shareholders = detail_info.get("shareholders", [])parsed = []for sh in shareholders:parsed.append({"name": sh.get("shareholder_name"),"type": sh.get("shareholder_type"), # 法人/自然人"equity_ratio": float(sh.get("equity_ratio", 0)), # 股权比例"subscribe_amount": sh.get("subscribe_amount") # 出资额})return parsed
3.3 法律诉讼信息
def parse_lawsuits(detail_info: Dict) -> list:"""解析法律诉讼信息"""lawsuits = detail_info.get("lawsuits", [])parsed = []for case in lawsuits:parsed.append({"case_no": case.get("case_no"),"court": case.get("court"),"case_type": case.get("case_type"), # 民事/刑事"status": case.get("status"), # 已结案/审理中"date": case.get("filing_date")})return parsed
四、异常处理与优化
4.1 常见异常场景
- API限流:通过
try-except捕获429错误,实现指数退避重试 - 数据缺失:检查关键字段是否存在,提供默认值
- 网络超时:设置合理的
timeout参数
4.2 性能优化建议
- 批量查询:对大量企业名称,使用多线程/异步请求
- 缓存机制:对已查询企业建立本地缓存(如SQLite)
- 日志记录:记录查询失败的企业名称及错误原因
五、完整示例与输出
5.1 示例代码
if __name__ == "__main__":# 替换为实际API密钥api_key = "your_api_key"api_secret = "your_api_secret"client = AiqichaAPI(api_key, api_secret)company_name = "阿里巴巴"result = query_company_info(client, company_name)if result:# 保存到CSVimport pandas as pddf = pd.DataFrame([{"企业名称": result["basic_info"].get("company_name"),"统一社会信用代码": result["basic_info"].get("credit_code"),"法定代表人": result["basic_info"].get("legal_person"),"注册资本": result["basic_info"].get("reg_capital"),"成立日期": result["basic_info"].get("establish_date"),"股东数量": len(parse_shareholders(result["detail_info"])),"诉讼数量": len(parse_lawsuits(result["detail_info"]))}])df.to_csv("company_info.csv", index=False, encoding="utf-8-sig")print("查询成功,结果已保存到company_info.csv")
5.2 输出示例
企业名称,统一社会信用代码,法定代表人,注册资本,成立日期,股东数量,诉讼数量阿里巴巴集团控股有限公司,913301087934503888,张勇,1000000万元人民币,1999-09-09,5,12
六、注意事项与合规性
- API使用限制:严格遵守爱企查API的调用频率限制,避免被封禁
- 数据隐私:不得将查询结果用于非法用途,尤其是涉及个人隐私的信息
- 错误处理:对API返回的错误码(如404、500)进行分类处理
- 版本更新:定期检查API文档更新,适配字段变更
结论
通过Python结合爱企查API,可实现企业信息的自动化高效查询。本文提供的代码框架覆盖了从API接入到数据解析的全流程,开发者可根据实际需求扩展功能(如添加更多字段解析、实现可视化展示等)。在实际应用中,建议结合异常处理机制和性能优化策略,确保系统的稳定性和可扩展性。

发表评论
登录后可评论,请前往 登录 或 注册