企业司法风险批量查询:Python + 企业数据API,半小时搭建自动化排查脚本

作者:袖梨 2026-08-24

企业司法风险批量查询:Python + 企业数据API,半小时搭建自动化排查脚本

{"type":"doc","content":[{"type":"paragraph","attrs":{"id":"2fa429a5-ea10-4b8f-8cfb-5297486845d5","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"做采购、供应链或者金融风控的朋友,应该都遇到司法风险排查的场景:例如查供应商或合作企业是否被列入了被执行人、失信被执行人名单。"}]},{"type":"paragraph","attrs":{"id":"fe994e01-b948-4529-bdfe-944885f2f7a1","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"和手动查、爬数据比起来,最稳最快的方法还是通过企业数据API来批量查询,把这项工作做成自动化脚本,定时跑一遍,又快又不会遗漏。"}]},{"type":"paragraph","attrs":{"id":"d091e41a-98f2-4552-a03e-ade110f6b141","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"下面把实测过程分享给大家,供参考。"}]},{"type":"heading","attrs":{"id":"7728c380-f776-41e5-bd8a-9715efaf9282","textAlign":"inherit","indent":0,"level":1,"isHoverDragHandle":false},"content":[{"type":"text","text":"一、环境准备与凭证获取"}]},{"type":"paragraph","attrs":{"id":"84b1a582-9d0c-45e8-9ded-c7e27c9a3dd3","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"本次实测调用的API来自鲸海数据,注册完成实名认证后即可获得测试额度。"}]},{"type":"heading","attrs":{"id":"21cef590-c612-448d-8476-1135b7043bf4","textAlign":"inherit","indent":0,"level":1,"isHoverDragHandle":false},"content":[{"type":"text","text":"二、司法风险接口实测"}]},{"type":"paragraph","attrs":{"id":"370e8cdc-510b-4b87-94eb-8ad68581bb01","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"拿到凭证之后,重点测了一下司法风险相关的接口,这部分是风控场景下最刚需的。"}]},{"type":"paragraph","attrs":{"id":"8345e3de-020d-4437-893d-647a80e59603","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"bold"}],"text":"1.数据维度"}]},{"type":"paragraph","attrs":{"id":"587dbd80-1ae9-46db-bf94-6a4f31dee797","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":" 被执行人、失信被执行人、限制高消费、裁判文书、法院公告、开庭公告、立案信息全部都有。"}]},{"type":"image","attrs":{"id":"430b506b-601a-4ed2-82e6-04178465c97d","src":"https://developer.qcloudimg.com/http-save/audit-12643190/9f430d0d3d0a00ba40c7a81b16095102.png","extension":"png","align":"center","alt":"","showAlt":false,"href":"","boxShadow":"","width":1100,"aspectRatio":"1.456522","status":"success","showText":true,"isPercentage":false,"percentage":0,"isHoverDragHandle":false}},{"type":"paragraph","attrs":{"id":"d99182b3-6a8e-455a-9d34-36154d97a689","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"随机抽了几家有公开司法记录的企业测试,跟官方数据交叉比对,数据准确度和及时性都OK。"}]},{"type":"paragraph","attrs":{"id":"335b3566-6915-4ea0-bb5a-d9cc93093e5f","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"bold"}],"text":"2.接口设计"}]},{"type":"paragraph","attrs":{"id":"a678254e-f7bc-44f9-95df-4a97f37b014c","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"市面上很多风控接口喜欢把所有数据塞进一个包里,不仅慢,而且很多字段根本用不上。实测这家API数据维度分得很细,而且很多数据都被拆成了列表和详情两个层级,按需取用。"}]},{"type":"paragraph","attrs":{"id":"c3045a01-d79a-4c26-8caf-2ad83084d8be","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"举个例子:"}]},{"type":"bulletList","attrs":{"id":"87f37ed9-1117-42f7-8c2e-1a8901f5bcb2","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"fd919995-09c6-47ff-b9ec-54667b68896f"},"content":[{"type":"paragraph","attrs":{"id":"d7e15910-58f0-45df-9b36-921a57ada269","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"只需要确认有没有失信记录 → 调用司法信息计数接口就行,成本极低"}]}]}]},{"type":"bulletList","attrs":{"id":"1ef56d41-4392-4afb-8510-f2ea25a5d4e2","isHoverDragHandle":false},"content":[{"type":"listItem","attrs":{"id":"73a3a5ce-0599-47dd-bead-a2bfdad74cf5"},"content":[{"type":"paragraph","attrs":{"id":"a44356af-18bc-4dfe-b436-80a1e79e7ada","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"针对有记录的企业 → 再调用失信被执行人详情接口获取完整信息"}]},{"type":"paragraph","attrs":{"id":"5ab59d77-debe-4a4d-b311-d3d2f3a49120","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false}}]}]},{"type":"paragraph","attrs":{"id":"4d1fa0e8-e9d4-41a8-be38-72ec83d179fb","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"这种设计在实际开发中很方便,可以节省大量冗余请求,响应速度明显更快。"}]},{"type":"paragraph","attrs":{"id":"d11bfc04-f778-45e6-a4d7-2cc6e74de229","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","marks":[{"type":"bold"}],"text":"3.开发文档"}]},{"type":"paragraph","attrs":{"id":"48e5f357-51ca-4bbc-8adb-e752dd71fdfd","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"每个细分接口都有详细的说明文档,请求参数、响应示例、状态码都写得很详细。接口总述已按 Markdown CLI 调用格式整理,可直接复制给 AI 或下载使用。"}]},{"type":"image","attrs":{"id":"c2f2b5a6-8010-4b8d-894f-b5702f119ecd","src":"https://developer.qcloudimg.com/http-save/audit-12643190/19d7a2987473189c8aaa55cb3874e953.png","extension":"png","align":"center","alt":"","showAlt":false,"href":"","boxShadow":"","width":692,"aspectRatio":"0.892903","status":"success","showText":true,"isPercentage":false,"percentage":0,"isHoverDragHandle":false}},{"type":"paragraph","attrs":{"id":"0797ce59-f1c1-4968-8bbc-bee9beec20b5","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false}},{"type":"heading","attrs":{"id":"8607e469-34c4-41b5-b8e9-ab07bc98ae5a","textAlign":"inherit","indent":0,"level":1,"isHoverDragHandle":false},"content":[{"type":"text","text":"三、Python代码示例:批量查询失信被执行人"}]},{"type":"paragraph","attrs":{"id":"847841c1-6693-4aa2-a3fa-e55bfb7cce3e","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"下面以「失信被执行人」接口为例,实现批量查询多家企业的失信被执行人记录。输入企业名称列表,输出有失信记录的企业及其案号、立案时间、执行标的等关键信息。"}]},{"type":"codeBlock","attrs":{"id":"f7a43b76-d95b-488f-98cf-df3d80d0068e","language":"python","theme":"atom-one-dark","runtimes":0,"isHoverDragHandle":false,"key":"e4453","languageByAi":"python"},"content":[{"type":"text","text":"import osnnimport timennimport requestsnnfrom datetime import datetimennnn# ----- 配置 -----nnBASE = os.getenv("JINGHAI_API_BASE", "https://www.kqdaas.com")nnAPP_ID = os.getenv("JINGHAI_APP_ID")nnAPI_KEY = os.getenv("JINGHAI_API_KEY")nnnnif not APP_ID or not API_KEY:nnraise ValueError("请设置 JINGHAI_APP_ID 和 JINGHAI_API_KEY")nnnnHEADERS = {nn"X-Jinghai-App-Id": APP_ID,nn"X-Jinghai-Api-Key": API_KEY,nn"Accept": "application/json",nn"Content-Type": "application/json"nn}nnnn# ----- 核心函数 -----nndef query_company(name, tag=0):nn"""nn查询单个企业的失信记录,返回记录列表(空列表表示无数据或异常)nnnn接口:POST /DataService/judicial/breach-of-trust/{id}nn参数:nn- companyId: 企业名称(通过queryType=1指定)nn- tag: 0-失信被执行人,1-历史失信被执行人nn- pageIndex: 页码nn- pageSize: 每页条数nn"""nn# 使用企业名称查询,将name拼接到path中nnurl = f"{BASE}/DataService/judicial/breach-of-trust/{name}"nnpayload = {nn"queryType": 1,# 1-企业名称nn"tag": tag,nn"pageIndex": 1,nn"pageSize": 20nn}nntry:nnresp = requests.post(url, headers=HEADERS, json=payload, timeout=10)nndata = resp.json()nn# 判断业务状态码:errcode=200 或 status=200 均为成功nnif data.get("errcode") != 200 and data.get("status") != 200:nnreturn []nn# data字段可能在顶层也可能在嵌套中,兼容处理nnresult_data = data.get("data", {})nnreturn result_data.get("records", [])nnexcept Exception as e:nnprint(f"查询 {name} 时发生异常: {e}")nnreturn []nnnndef batch_query(names, tag=0):nn"""批量查询并打印结果"""nnprint(f"{'='*50}")nnprint(f"开始批量查询,共 {len(names)} 家企业")nnprint(f"{'='*50}n")nnnnfor name in names:nnrecords = query_company(name, tag)nnif not records:nnprint(f"企业:{name} ------ 无失信记录")nncontinuennprint(f"企业:{name}(共 {len(records)} 条记录)")nnfor idx, r in enumerate(records, 1):nndate_str = datetime.fromtimestamp(r.get("date", 0)).strftime("%Y-%m-%d") if r.get("date") else "未知"nnprint(f"{idx}. 案号: {r.get('caseNumber', '')}")nnprint(f" 立案时间: {date_str}")nnprint(f" 执行标的: {r.get('executionTarget', '无')}")nnprint(f" 法院: {r.get('court', '')}")nnprint(f" 履行状态: {r.get('executionStatus', '')}")nnprint()# 空行分隔nntime.sleep(0.5)# 避免频率超限nnnn# ----- 调用示例 -----nnif __name__ == "__main__":nncompanies = [nn"廊坊万盛金属制品有限公司",nn"深圳腾讯计算机系统有限公司"nn]nnbatch_query(companies, tag=0)# tag=0 失信,tag=1 历史失信nn"}]},{"type":"paragraph","attrs":{"id":"d287f152-ba51-40fa-ba91-f2b91e030e6d","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false}},{"type":"paragraph","attrs":{"id":"721fdab2-499c-4384-9448-5fdd15a989bf","textAlign":"inherit","indent":0,"color":null,"background":null,"isHoverDragHandle":false},"content":[{"type":"text","text":"跑完这段代码,几十家企业的失信情况几分钟就能出结果,不用人工一个一个去公开网站查。再做个定时任务,每周或每个月自动跑一趟,合作企业的风险排查起来就更自动化了。"}]}]}","createTime":1786353360,"ext":{"closeTextLink":0,"comment_ban":0,"description":"","focusRead":0},"favNum":0,"html":"","isOriginal":0,"likeNum":0,

相关文章

精彩推荐