闲来无事,做个快速收集企业信息导出Excel表的程序。所以...嘿嘿,开始对天眼查进行研究,废话不多说。

一、天眼查网站地址:https://www.tianyancha.com,到天眼查网站后例如:查询关键字:教育,天眼查说查询到100000+条企业信息,但是当你去翻页看的时候会发现在不登录的时候只能查看2页,后面就提示你登录查看更多了,那就登录一下,反正天眼查有短信快捷登录,登陆后,着手分析,(建议使用谷歌浏览器)F12调出开发者工具,Ctrl+Shift+C 点击咱们需要拿下来的信息块,嘿嘿...嘻嘻原来全在下图红框节点中啊!

然后知道它在这个区域,那么怎么把这个网页拿下来呢?

Java自带类就能实现这个问题!java.net.HttpURLConnection包就能模拟浏览器访问,直接上代码:

package com.zsx.crawler.utils.TianYanChaCompanyCrawler;import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;public class WebUtil {public static String getPageContent(String url){StringBuffer sb = new StringBuffer();try {// 建立连接URL u = new URL(url);HttpURLConnection httpUrlConn = (HttpURLConnection) u.openConnection();httpUrlConn.setDoInput(true);httpUrlConn.setRequestMethod("GET");//设置请求头
//            httpUrlConn.setRequestProperty("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8");
//            httpUrlConn.setRequestProperty("Accept-Encoding","gzip, deflate, br");
//            httpUrlConn.setRequestProperty("Accept-Language", "zh-CN,zh;q=0.9");
//            httpUrlConn.setRequestProperty("Connection", "keep-alive");//            httpUrlConn.setRequestProperty("Host", "www.tianyancha.com");
//            httpUrlConn.setRequestProperty("Referer", "https://www.tianyancha.com/");
//            httpUrlConn.setRequestProperty("Upgrade-Insecure-Requests", "1");httpUrlConn.setRequestProperty("Cookie",这里就写使用浏览器访问天眼查携带的"小点心");httpUrlConn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.67 Safari/537.36");// 获取输入流InputStream is = httpUrlConn.getInputStream();// 将字节输入流转换为字符输入流InputStreamReader isr = new InputStreamReader(is, "utf-8");// 为字符输入流添加缓冲BufferedReader br = new BufferedReader(isr);// 读取返回结果String data = null;while ((data = br.readLine()) != null) {sb.append(data);System.out.println(data);}// 释放资源br.close();isr.close();is.close();httpUrlConn.disconnect();} catch (Exception e) {e.printStackTrace();}return sb.toString();}
}

调用该方法打印返回值或者保存到txt文件就能看到,成功将该网站代码获取到,拿到后分析网站代码发现,噢.......原来还有隐藏域啊,隐藏域中竟然放了该页企业信息JSON数据,那就更简单了,直接从JSON数据中拿出想要的数据,存到Excel表就OK了!哈哈

上代码:

package com.zsx.crawler.utils.TianYanChaCompanyCrawler;import org.json.JSONObject;import java.util.regex.Matcher;
import java.util.regex.Pattern;public class CrawlerCompanyUtil {public static void main(String []args){String web = WebUtil.getPageContent("https://www.tianyancha.com/search?key=%E6%95%99%E8%82%B2%E7%A7%91%E6%8A%80&base=bj");Pattern pageCount = Pattern.compile("<div class=\"result-footer\">.*?</div>");Matcher matcher1 = pageCount.matcher(web);while (matcher1.find()){String group =  matcher1.group();System.out.println("页数:" + group);}Pattern companyInfo = Pattern.compile("<span class=\"tt hidden\">.*?</span>");Matcher matcher = companyInfo.matcher(web);while(matcher.find()){String group = matcher.group();
//            System.out.println(group);String eachGroup = group.substring(group.indexOf("<span class=\"tt hidden\">")+24,group.indexOf("</span>"));
//            System.out.println(eachGroup);JSONObject json = new JSONObject(eachGroup);
//            System.out.println(json);//公司名称String companyName = json.get("name").toString();//法人String legalperson = json.get("legalPersonName").toString();//注册资本String registeredfund = json.get("regCapital").toString();//注册时间String registeredtime = json.get("estiblishTime").toString();//电话列表String phone = json.get("phoneList").toString();//邮箱列表String email = json.get("emailList").toString();//注册地址String address = json.get("regLocation").toString();String qita = "经营领域:"+ json.get("businessScope") + "\n"+json.get("matchField");System.out.println(companyName);System.out.println(legalperson);System.out.println(registeredfund);System.out.println(registeredtime);System.out.println(email);System.out.println(address);System.out.println(qita);System.out.println();}}}

将代码存入数据库或者导出Excel表就看咱们的心情了!

不过天眼查只允许普通用户查看前5页内容,所以我又去研究了启信宝网站,下篇咱们说说启信宝!爬虫启信宝文章中富含详细数据导出Excel表格代码,并且无限爬取数据,传送门——>Java爬虫启信宝

最后给各位看官来波福利!

阿里云服务器代金券和折扣免费领:https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=ypbt9nme

性能级主机2-5折:https://promotion.aliyun.com/ntms/act/enterprise-discount.html?userCode=ypbt9nme

新用户云通讯专享8折:https://www.aliyun.com/acts/alicomcloud/new-discount?userCode=ypbt9nme

新老用户云主机低4折专项地址:https://promotion.aliyun.com/ntms/act/qwbk.html?userCode=ypbt9nme

680元即可注册商标专项地址:https://tm.aliyun.com/?userCode=ypbt9nme

17元/月云主机:https://promotion.aliyun.com/ntms/act/qwbk.html?spm=5176.11533447.1097531.13.22805cfaiTv7SN&userCode=ypbt9nme

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

  1. C端企业信息查询网站对比分析:企查查vs天眼查vs启信宝

    近年来随着商业环境向好,伴随着国家暖企稳企利好政策的实施,新增企业数量逐年增加,中小微企业的增速尤其明显.但新增企业相关信息查找难度大,越来越多的个人用户和企业对于获取和查询企业信息的需求日益增长,因 ...

  2. 企查查、天眼查、启信宝API怎么批量操作调用,API接口应用场景。

    企查查API:企业工商信用信息API数据接口 - 企查查开放平台 天眼查API:天眼查开放平台 | API数据接口 | 企业数据 - 天眼查 (tianyancha.com) 启信宝API:启信宝数据 ...

  3. 2018信用服务业市场:天眼查、企查查、启信宝、企查猫处第一梯队

    信用服务业概况及特征 信用服务本质上是帮助市场交易主体解决信息不对称的一种信息咨询活动.在国外,信用服务业可细分为十个分支行业,即企业资信调查(企业征信).消费者征信(个人征信).财产征信.资信征信. ...

  4. 最新2018我破解了天某查 企某查 启某宝 企某猫和全国源站工商企业大数据爬虫系统

    Python爬虫-2018年-我破解天某查和启某宝企业数据爬虫--破解反爬技术那些事情 最近在自己用python+mongdb写了一套分布式多线程的天某查爬虫系统,实现了对天某查整个网站的全部数据各种 ...

  5. 启信宝发布植树节产业洞察:超2000家绿色造纸企业,造纸业迭代落后产能

    植树节将近,合合信息旗下启信宝以产业大数据技术洞察木材行业背后的深层格局.洞察显示,中国现存约116万家树木相关企业,且近10年,相关企业数量稳步增加:其中,造纸作为主要以木材为原材料的产业正在更新迭 ...

  6. 产品3周迭代一次,启信宝驾驭8000万企业征信的平台架构

    11+大数据行业应用实践请见https://yq.aliyun.com/activity/156,同时这里还有流计算.机器学习.性能调优等技术实践.此外,通过Maxcompute及其配套产品,低廉的大 ...

  7. 启信宝牵手国家队,征信服务进化再加速

    配图来自Canva可画 近日启信宝宣布和人民网·人民数据(国家大数据灾备中心)达成合作,双方共同成立"人民数据金融数据中心".启信宝成为人民数据的技术及产品合作伙伴. 除了与人民数 ...

  8. 启信宝CEO陈青山:AI+大数据驱动下的金融新生态

    人工智能怎样潜移默化影响金融业务?合合信息联合创始人.启信宝CEO陈青山在2020世界人工智能大会云端峰会.未来金融论坛上做了"AI+大数据,共创金融新生态"的主题演讲,讲述了如何 ...

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

    java对接天眼查接口 1.先了解天眼查是用来做什么的 2.确定账号 3.登录账号,找到数据接口,找到token,调用示例 1.先了解天眼查是用来做什么的 天眼查,是中国领先的商业查询平台 ,已收录全 ...

  10. 启信宝受益所有人界面_希望您的项目成功吗? 然后确保其他人也可以从您的想法中受益。...

    启信宝受益所有人界面 Most of us are aware of the benefits commercial openness has brought to the world. 我们大多数人 ...

最新文章

  1. 先进一站式IP及定制
  2. Javascript框架的自定义事件(转)
  3. 从壹开始前后端分离 40 || 完美基于AOP的接口性能分析
  4. 关于make *.img时没有权限的问题
  5. python numpy.meshgrid() 函数的用法(快速生成坐标矩阵)
  6. 通过FFMPEG代码学习函数指针和指针函数
  7. 大数据WEB阶段(十二)会话技术、Cookie、Session及两者的区别
  8. 通过调色板(QPalette)将readonly为true的QLineEdit颜色设置为灰色
  9. 使用 CodeIgniter 框架快速开发 PHP 应用(一)
  10. python 识别图形验证码_Python图片验证码降噪处理实例!此乃识别验证码神技!...
  11. Java中HashMap的原理
  12. 语言与哲学 —— 维特根斯坦
  13. 炮爽2 html5,HTML5入门习作2:炮台
  14. 裁员潮下,工程师该何去何从?
  15. 银行卡Bin和Logo
  16. Kata Containers用例
  17. 机器学习之你不懂的 sigmoid函数
  18. ZOJ Yukari's Birthday
  19. 嗅图狗——更新与反馈专贴
  20. 杨毅:不够优秀就不要腆着脸继续占便宜

热门文章

  1. 如何用 Unity 编写像炸弹人一样的游戏
  2. 报错 Tensorflow 2.0 Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
  3. PostgreSQL视图和物化视图
  4. 计算机模拟自由落体,CSS3 方块自由落体运动模拟
  5. 前端开发SEO搜索引擎优化方案
  6. 高端时尚简历PPT模板-优页文档
  7. java treemap 排序原理_Java TreeMap排序算法实例
  8. 微信支付 APP端 第三弹 申请退款
  9. linux内网劫持教程,利用kali进行dns劫持入侵局域网
  10. 三星手机开发游戏工具 提升游戏体验