java对接天眼查接口,天眼查提供案例方法过期最新案例

news/2024/12/22 18:35:23/

java对接天眼查接口

  • 1、先了解天眼查是用来做什么的
  • 2、确定账号
  • 3、登录账号,找到数据接口,找到token,调用示例

1、先了解天眼查是用来做什么的

天眼查,是中国领先的商业查询平台 ,已收录全国近3亿家社会实体信息,300多种维度信息及时更新 。截至2020年,天眼查用户覆盖超3亿 ,长期稳居行业第一。2021年3月,旗下可信企业服务平台天眼企服升级发布,天眼查正在加速构建以“查公司、开公司”为核心的的天眼生态。(内容来自百度百科)

2、确定账号

确定账号这一步非常的重要,这个账号必须要已经和天眼查官方那边进行合作了,天眼查官方会根据你们公司提供的业务需求信息,提供你们需要的接口。每个账号都会有不同的官方特制的token,这个token就是你访问天眼查接口的关键。

3、登录账号,找到数据接口,找到token,调用示例

登录账号以后进入首页进入数据接口
在这里插入图片描述
这里面是这个账号已开通的接口,我这里随便点一个进去
在这里插入图片描述
进来后里面有接口地址,接口信息这里点击测试API进去获取我们的token如下下图
在这里插入图片描述在这里插入图片描述
这里简单介绍下这五块的内容
在这里插入图片描述

上图里面一共有五大块,接口信息、错误代码、示例代码、接口文档、升级版本。
这里只介绍下前三块内容,后面二块可以自己去了解下。
1、接口信息:包含接口地址,接口参数,请求方式,接口返回类型案例。
2、错误代码:这个里面是你调用这个接口返回的错误代码,可以根据错误代码做异常处理。
3、示例代码:(java)

在这里插入图片描述
这里将上图的官方给的Demo复制出来,如下图案例,这里面使用的方法很多都划线了,java不推荐使用了,说不定哪天就下架了!
在这里插入图片描述
优化后的方法:

import org.apache.commons.httpclient.HttpStatus;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;import java.io.UnsupportedEncodingException;/*** @PACKAGE_NAME: com.eascs.scm.cms.controller* @NAME: Demo* @USER: MrWang* @DATE: 2022/3/28**/
public class Demo {/*** 主函数* @param args*/public static void main(String[] args) throws UnsupportedEncodingException {// token可以从 数据中心 -> 我的接口 中获取String token = "您的token";String url = "http://open.api.tianyancha.com/****/***/**/****/normal?keyword=中航重机股份有限公司";System.out.println(getMessageByUrlToken(url, token));}/*** @param path 对⽅或第三⽅提供的路径* @return*/public static String getMessageByUrlToken(String url,String token){String result="";try {// 根据地址获取请求HttpGet request = new HttpGet(url);//这⾥发送get请求// 设置请求头信息request.setHeader("Authorization", token);//这里我定义的token定义的全局变量CloseableHttpClient httpClient = HttpClientBuilder.create().build();// 通过请求对象获取响应对象HttpResponse response = httpClient.execute(request);// 判断⽹络连接状态码是否正常(0--200都数正常)if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {result= EntityUtils.toString(response.getEntity(),"utf-8");}} catch (Exception e) {// TODO Auto-generated catch block e.printStackTrace();e.printStackTrace();}return result;}}

成功案例:

@Data
public class SkyeyeVo implements Serializable {@ApiModelProperty(value = "搜索关键字(公司名称、公司id、注册号或社会统一信用代码)")private String keyWork;@ApiModelProperty(value = "每页条数(默认20条,最大20条)")private Integer pageSize;@ApiModelProperty(value = "当前页数(默认第1页)")private Integer pageNum;@ApiModelProperty(value = "年份(默认所有年份)")private String year;
}
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.eascs.scm.cms.model.vo.SkyeyeVo;
import io.specialrooter.message.MessageResponse;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
import org.springframework.web.bind.annotation.*;/*** @PACKAGE_NAME: com.eascs.scm.cms.controller* @NAME: SkyeyeController* @USER: MrWang* @DATE: 2022/3/25**/
@Api(tags = "天眼查接口提供")
@RestController
@Slf4j
@RequestMapping("/cms/skyeye")
public class SkyeyeController {//天眼查访问tokenprivate static final String token = "保密";//(天眼查)企业基本信息查询private static final String CORPORATE_URL = "保密?keyword=";//(天眼查)企业股东查询private static final String SHAREHOLDER_URL = "保密?keyword=";//(天眼查)供应商查询private static final String SUPPLIER_URL = "保密?keyword=";//(天眼查)客户查询private static final String CLIENT_URL = "保密?keyword=";@ApiOperation(value = "天眼查,企业基本信息查询")@PostMapping("/getSkyeyeCorporateInformation")public MessageResponse<Object> getSkyeyeCorporateInformation(@RequestBody SkyeyeVo skyeyeVo){log.info("##天眼查,查询企业信息参数={}",JSON.toJSONString(skyeyeVo));String messageByUrlToken = getMessageByUrlToken(this.getUrl(CORPORATE_URL,skyeyeVo));JSONObject jsonObject = JSONObject.parseObject(messageByUrlToken);log.info("##天眼查,查询企业信息返回参数={}", JSON.toJSONString(jsonObject));return MessageResponse.success(jsonObject);}@ApiOperation(value = "天眼查,企业股东查询")@PostMapping("/getShareholderInfo")public MessageResponse<Object> getShareholderInfo(@RequestBody SkyeyeVo skyeyeVo){log.info("##天眼查,企业股东查询={}",JSON.toJSONString(skyeyeVo));String messageByUrlToken = getMessageByUrlToken(this.getUrl(SHAREHOLDER_URL,skyeyeVo));JSONObject jsonObject = JSONObject.parseObject(messageByUrlToken);log.info("##天眼查,企业股东查询返回参数={}", JSON.toJSONString(jsonObject));return MessageResponse.success(jsonObject);}@ApiOperation(value = "天眼查,供应商查询")@PostMapping("/getSupplierInfo")public MessageResponse<Object> getSupplierInfo(@RequestBody SkyeyeVo skyeyeVo){log.info("##天眼查,供应商查询={}",JSON.toJSONString(skyeyeVo));String messageByUrlToken = getMessageByUrlToken(this.getUrl(SUPPLIER_URL,skyeyeVo));JSONObject jsonObject = JSONObject.parseObject(messageByUrlToken);log.info("##天眼查,供应商查询返回参数={}", JSON.toJSONString(jsonObject));return MessageResponse.success(jsonObject);}@ApiOperation(value = "天眼查,客户查询")@PostMapping("/getClientInfo")public MessageResponse<Object> getClientInfo(@RequestBody SkyeyeVo skyeyeVo){log.info("##天眼查,客户查询={}",JSON.toJSONString(skyeyeVo));String messageByUrlToken = getMessageByUrlToken(this.getUrl(CLIENT_URL,skyeyeVo));JSONObject jsonObject = JSONObject.parseObject(messageByUrlToken);log.info("##天眼查,客户查询返回参数={}", JSON.toJSONString(jsonObject));return MessageResponse.success(jsonObject);}/*** 拼接URL,注意前面定义的url后面拼接的参数,因为每个接口的参数都是不同的但是企业的标准是相同的(keyWork)* @param url* @param skyeyeVo* @return*/public String getUrl(String url,SkyeyeVo skyeyeVo){if(ObjectUtils.isNotEmpty(skyeyeVo.getKeyWork())){url += skyeyeVo.getKeyWork();}if(ObjectUtils.isNotEmpty(skyeyeVo.getPageSize())){url += "&pageSize=" + skyeyeVo.getPageSize();}if(ObjectUtils.isNotEmpty(skyeyeVo.getPageNum())){url += "&pageNum=" + skyeyeVo.getPageNum();}if(ObjectUtils.isNotEmpty(skyeyeVo.getYear())){url += "&year=" + skyeyeVo.getYear();}return url;}/*** @param path 对⽅或第三⽅提供的路径* @return*/public String getMessageByUrlToken(String path){String result="";try {// 根据地址获取请求HttpGet request = new HttpGet(path);//这⾥发送get请求// 获取当前客户端对象request.setHeader("Authorization", token);CloseableHttpClient httpClient = HttpClientBuilder.create().build();// 通过请求对象获取响应对象HttpResponse response = httpClient.execute(request);// 判断⽹络连接状态码是否正常(0--200都数正常)if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {result= EntityUtils.toString(response.getEntity(),"utf-8");}} catch (Exception e) {// TODO Auto-generated catch block e.printStackTrace();e.printStackTrace();}return result;}}

这里调用企业基本信息接口执行结果:
在这里插入图片描述
到这里基本这个接口已经OK了!哪里有不好的欢迎补充谢谢。


http://www.ppmy.cn/news/789502.html

相关文章

Java项目对接天眼查

Java项目对接天眼查 文章目录 Java项目对接天眼查天眼查接口以及token获取1、登录天眼查开放平台2、找到数据接口&#xff0c;找到token&#xff0c;调用示例 Java代码以及返回值1、config2、controller层3、service层4、实体类4、测试结果 总结 天眼查接口以及token获取 1、登…

Python访问天眼查

还是今年暑假实习&#xff0c;老板让爬公开的企业联系方式数据&#xff0c;还对天眼查这个网站青眼有加。大家都知道&#xff0c;从不知什么时候开始&#xff0c;政府的企业信用公开平台采取了反爬措施&#xff0c;每次搜索都需通过机器人验证&#xff0c;而很多其他的企业信息…

d3 企业图谱 仿天眼查 企查查

最近接到一个需求&#xff0c;终端要加入企业图谱的功能、能无线穿透下去&#xff0c;之前写过一个类似树形图但是节点长度没有自适应&#xff08;如下图&#xff09;&#xff0c;样式也不够好看&#xff0c;产品提出做一个类似企查查那种的企业图谱&#xff0c;能更直观的展示…

仿企查查、天眼查股权穿透d3

企业图谱做出来了&#xff0c;接下来仿企查查写个股权穿透的图谱 企查查股权穿透 自己的 首先使用的方法以及生成图的方法 跟企业图谱类似 也是用的d3官方demo给出的生成双向树的方法&#xff0c;不过版本是d3.v3 相比企业图谱 股权穿透就简单了&#xff0c;不需要计算文字长…

python天眼查爬虫_普通用户的天眼查爬取

[Python] 纯文本查看 复制代码#-*- coding:utf-8 -*- import requests from lxml import etree import json import time import random from copy import deepcopy class Tianyan(): def __init__(self): self.url https://www.tianyancha.com/search/ola3/p{}?key%E6%B2%A7…

JAVA爬虫天眼查、启信宝...企业信息查询网站

闲来无事&#xff0c;做个快速收集企业信息导出Excel表的程序。所以...嘿嘿&#xff0c;开始对天眼查进行研究&#xff0c;废话不多说。 一、天眼查网站地址&#xff1a;https://www.tianyancha.com&#xff0c;到天眼查网站后例如&#xff1a;查询关键字&#xff1a;教育&…

天眼查 Authorized和企查查 sign破解

目前天眼查、企查查APP均使用了ndk 天眼查 很早之前研究的。。。 1.使用爱加密进行加固 2.使用爱加密so&#xff0c;sm4进行加密 3.Authorized使用imei、设备id等作为验证 4.Authorized大概5分钟过期 5.抓包可以使用手机端抓包工具和justtruestme 6.破解Authorized&#xff0…

爬虫-天眼查数据

前两天收到一个公司的笔试题&#xff1a; 从结果页面中提取股东信息&#xff0c;如&#xff1a;http://www.tianyancha.com/company/9519792 中展示的”许晨晔”等姓名 oh 我还不会爬虫&#xff0c;吓的我赶紧刷了刷知乎&#xff0c;找到一个例子&#xff0c;大体是个模板&am…