Python快速上手:调用企业工商API接口,构建供应商画像
一、背景与目标
在供应链管理场景中,我们常需要对一批供应商进行快速评估。手工查询效率低下,而企业工商API提供了结构化数据获取途径。本文使用Python调用某公开企业工商API,获取企业基础信息、经营异常、行政处罚等数据,并通过简单的评分模型,为每个供应商生成一个基础画像,辅助准入决策。
二、准备工作与环境
你需要注册企业工商数据API服务(多数平台提供免费试用额度),获取AppKey和AppSecret。本文开发环境:Python 3.9,使用requests、pandas库。安装依赖:
bash
pip install requests pandas
准备一份供应商名单CSV,包含“企业名称”和“统一社会信用代码”列(两者至少有一个)。
三、API接口调用封装
我们封装一个函数,通过企业名称查询工商信息。接口通常为RESTful风格,返回JSON。以下以某开放平台为例(示例代码需替换真实endpoint):
python
import requests import hashlib import time def get_company_info(name, app_key, app_secret): url = "https://api.example.com/enterprise/detail" timestamp = str(int(time.time())) sign_str = app_key + timestamp + app_secret sign = hashlib.md5(sign_str.encode()).hexdigest() params = {"keyword": name, "appKey": app_key, "timestamp": timestamp, "sign": sign} resp = requests.get(url, params=params) if resp.status_code == 200: data = resp.json() if data["code"] == 200: return data["data"] return None实际开发中注意处理异常、超时和请求频率限制。
四、批量查询与画像构建
读取供应商列表,循环调用API,提取关键字段:注册资本、成立年限、经营状态、是否存在经营异常、行政处罚次数等。然后设计一个简单的打分模型:
注册资本≥500万:+20分
成立年限≥5年:+20分
经营状态为“存续”:+30分
无经营异常:+15分
无行政处罚:+15分
汇总得分,为每个供应商打上“优质”“一般”“高风险”标签。使用pandas将结果输出为Excel,方便业务人员查看。示例代码片段:
python
df = pd.read_csv("suppliers.csv") results = [] for _, row in df.iterrows(): info = get_company_info(row["企业名称"], APP_KEY, APP_SECRET) if info: score = 0 if info.get("regCapital") and float(info["regCapital"]) >= 500: score += 20 # ...其他评分逻辑 results.append({**info, "score": score}) pd.DataFrame(results).to_excel("supplier_profiles.xlsx", index=False)五、优化与拓展
生产环境中,建议使用异步请求(如aiohttp)提高批量处理速度,同时加入缓存机制减少重复调用。画像维度还可以扩展至司法涉诉、招投标信息、知识产权等,形成更全面的供应商风险评估。应用挖数据提供的此方案轻量且落地性强,中小团队也能快速实现。
#Python #企业工商API #供应商画像 #爬虫替代方案 #数据接口 #供应链管理