Java项目对接天眼查

news/2025/1/21 9:00:30/

Java项目对接天眼查

文章目录

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

天眼查接口以及token获取

1、登录天眼查开放平台

天眼查开放平台地址天眼查开放平台
进入之后点击有上方的登录注册,输入自己的账号密码进行登录

2、找到数据接口,找到token,调用示例

登录账号以后进入首页进入数据接口

这里面是所以的接口,因为项目需要,我这边选择搜索接口

进来后里面有接口地址,接口信息这里点击测试API进去获取我们的token如下下图。

Java代码以及返回值

1、config

package com.readao.myinfo.config;import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;@Configuration
@Data
public class TianYanChaConfig {@Value("${tianyancha.token}")private String token;@Value("${tianyancha.url}")private String url;}

2、controller层

@GetMapping("/getCorporateInformation")@ApiOperationSupport(order = 5)@ApiImplicitParams({@ApiImplicitParam(name = "current", value = "当前页", paramType = "query", dataType = "int"),@ApiImplicitParam(name = "size", value = "每页的数量", paramType = "query", dataType = "int"),@ApiImplicitParam(name = "keyWork", value = "搜索关键字(公司名称或社会统一信用代码)", paramType = "query", dataType = "String")})@ApiOperation(value = "天眼查,企业基本信息查询", notes = "传入条件")public R<IPage<TeamMiddle>> getCorporateInformation(Long current, Long size, String keyWork){IPage<TeamMiddle> teamMiddleIPage = teamMiddleService.getCorporateInformation(current, size, keyWork);return R.data(teamMiddleIPage);}

3、service层

/*** (天眼查)企业基本信息查询* @param pageNum		当前页* @param pageSize		每页多少条* @param keyWork		搜索关键字* @return*/@Overridepublic IPage<TeamMiddle> getCorporateInformation(Long pageNum, Long pageSize, String keyWork) {//	调用天眼查数据查询接口String messageByUrlToken = getMessageByUrlToken(this.getUrl(tianYanChaConfig.getUrl() + "?word=",keyWork,pageSize,pageNum));//	转换数据格式JSONObject jsonObject = JSONObject.parseObject(messageByUrlToken);//	获取数据总条数Long total = jsonObject.getJSONObject("result").getLong("total");//	获取数据信息List<TeamMiddle> teamMiddleList = (List<TeamMiddle>)jsonObject.getJSONObject("result").get("items");//	创建返回值对象IPage<TeamMiddle> teamMiddleIPage = new Page<>();//	填入返回值数据teamMiddleIPage.setCurrent(pageNum);teamMiddleIPage.setSize(pageSize);teamMiddleIPage.setTotal(total);teamMiddleIPage.setRecords(teamMiddleList);return teamMiddleIPage;}/*** 拼接URL,注意前面定义的url后面拼接的参数,因为每个接口的参数都是不同的但是企业的标准是相同的(keyWork)* @param url* @return*/public String getUrl(String url,String keyWork, Long pageSize, Long pageNum){if(ObjectUtil.isNotEmpty(keyWork)){url += keyWork;}else {//	自定义异常处理throw new ServiceException("搜索条件不能为空!!!");}if(ObjectUtil.isNotEmpty(pageSize)){url += "&pageSize=" + pageSize;}if(ObjectUtil.isNotEmpty(pageNum)){url += "&pageNum=" + pageNum;}return url;}/*** @param path 对⽅或第三⽅提供的路径* @return*/public String getMessageByUrlToken(String path){String result="";try {// 根据地址获取请求HttpGet request = new HttpGet(path);//这⾥发送get请求// 获取当前客户端对象request.setHeader("Authorization", tianYanChaConfig.getToken());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;}

4、实体类

package com.xxx.xxxx.entity;import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;import java.util.Date;@Data
public class TeamMiddle {private static final long serialVersionUID = 1L;/*** 主键id*/private Long id;/*** 公司名*/private String name;/*** 统一社会信用代码*/private String creditCode;/*** 注册号*/private String regNumber;/*** 经营状态*/private String regStatus;/*** 成立日期*/private Date estiblishTime;/*** 注册资本*/private String regCapital;/*** 机构类型-1:公司;2:香港企业;3:社会组织;4:律所;5:事业单位;6:基金会;7-不存在法人、注册资本、统一社会信用代码、经营状态;8:台湾企业;9-新机构*/private Integer companyType;/*** 组织机构代码*/private String orgNumber;/*** 1-公司 2-人*/private Integer type;/*** 省份*/private String base;/*** 法人*/private String legalPersonName;/*** 匹配原因*/private String matchType;
}

4、测试结果

总结

例如:以上就是我自己的实例,有什么不足请大家提出。
注:本文基于博客java对接天眼查接口,天眼查提供案例方法过期最新案例
以及个人使用过程中遇到的问题

参考文献:https://blog.csdn.net/adminwxc/article/details/123793608


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

相关文章

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…

采集天眼查的10个经典方法

天眼查的企业数据、工商信息、法人号码、人员名录、网页抓取数据、网页爬虫、采集网站数据、网页数据采集软件、python爬虫、HTM网页提取、一站式网站采集技术、BI数据的数据分析、数据标注等成为大数据发展中的热门技术关键词。那么采集天眼查数据的方法有哪些呢&#xff1f;我…