天眼查

/**
* 根据公司名称获取统一社会信用代码
*
* @author xiaofei.xian 日期:2019年3月20日 上午11:12:41
*/
public class GetTaxNumber {
/**
* @param args
*/
public static void main(String[] args) { String companyNames[] = {"深圳市九象展览科技有限公司","深证市中智兴展览工程有限公司","上海汉得信息技术股份有限公司","智奥会展(深圳)有限公司"};
Map<String,String> companyMap = new HashMap<>(companyNames.length);
Document doc = null;
for (String companyName : companyNames) {
try {
// 获取公司详情页
doc = Jsoup.connect("https://www.tianyancha.com/search?key="+companyName).validateTLSCertificates(false).get();
Elements elements = doc.getElementsByAttributeValue("tyc-event-ch", "CompanySearch.Company");
Elements links = elements.select("a[href]");
if(!links.isEmpty()) {
String subUrl = links.get(0).attr("href");
doc = Jsoup.connect(subUrl).validateTLSCertificates(false).get();
Element divElement = doc.getElementById("containerbaseInfo");
divElement = divElement.select("table").get(1);
Element tr = divElement.select("tbody").select("tr").get(3);
companyMap.put(companyName, tr.child(1).text());
}
} catch (IOException e) {
e.printStackTrace();
}
}
System.out.println(companyMap);
}
}

百度企业信用

/**
* 根据公司名称获取统一社会信用代码
*
* @author xiaofei.xian 日期:2019年3月20日 上午11:12:41
*/
public class GetTaxNumber {
public static void main(String[] args) {
String url = "https://xin.baidu.com/";
String companyNames[] = {"深圳市九象展览科技有限公司", "深圳市中智兴展览工程有限公司", "上海汉得信息技术股份有限公司", "智奥会展(深圳)有限公司"};
Map<String, String> companyMap = new HashMap<>(companyNames.length);
Document doc = null;
for (String companyName : companyNames) {
try {
doc = Jsoup.connect(url+"s?q=" + companyName).validateTLSCertificates(false).get();
Element element = doc.select("a.zx-list-item-url").get(0);
String subUrl = element.attr("href");
String pid = subUrl.substring(subUrl.indexOf("?"));
doc = Jsoup.connect(url+"detail/basicAjax" + pid).validateTLSCertificates(false).get();
Elements body = doc.select("body");
JsonParser parser = new JsonParser();
JsonObject jsonObject = parser.parse(body.text()).getAsJsonObject();
companyMap.put(jsonObject.get("data").getAsJsonObject().get("entName").getAsString(),
jsonObject.get("data").getAsJsonObject().get("regNo").getAsString());
} catch (IOException e) {
e.printStackTrace();
}
}
System.out.println(companyMap);
}
}

Jsoup爬虫获取公司纳税识别号的更多相关文章

  1. 【Java】Jsoup爬虫,一个简单获取京东商品信息的小Demo

    简单记录 - Jsoup爬虫入门实战 数据问题?数据库获取,消息队列中获取中,都可以成为数据源,爬虫! 爬取数据:(获取请求返回的页面信息,筛选出我们想要的数据就可以了!) 我们经常需要分析HTML网 ...

  2. (java)Jsoup爬虫学习--获取智联招聘(老网站)的全国java职位信息,爬取10页

    Jsoup爬虫学习--获取智联招聘(老网站)的全国java职位信息,爬取10页,输出 职位名称*****公司名称*****职位月薪*****工作地点*****发布日期 import java.io.I ...

  3. (java)Jsoup爬虫学习--获取网页所有的图片,链接和其他信息,并检查url和文本信息

    Jsoup爬虫学习--获取网页所有的图片,链接和其他信息,并检查url和文本信息 此例将页面图片和url全部输出,重点不太明确,可根据自己的需要输出和截取: import org.jsoup.Jsou ...

  4. jsoup爬虫简书首页数据做个小Demo

    代码地址如下:http://www.demodashi.com/demo/11643.html 昨天LZ去面试,遇到一个大牛,被血虐一番,发现自己基础还是很薄弱,对java一些原理掌握的还是不够稳固, ...

  5. Jsoup问题---获取http协议请求失败 org.jsoup.UnsupportedMimeTypeException: Unhandled content type. Must be text/*, application/xml, or application/xhtml+xml.

    Jsoup问题---获取http协议请求失败 1.问题:用Jsoup在获取一些网站的数据时,起初获取很顺利,但是在访问某浪的数据是Jsoup报错,应该是请求头里面的请求类型(ContextType)不 ...

  6. Java 网络爬虫获取网页源代码原理及实现

    Java 网络爬虫获取网页源代码原理及实现 1.网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成.传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL ...

  7. sap 如何获取公司间采购订单或销售订单的交货状态

    在上SAP项目过程,上了SD模块的企业一般都要做一些跟公司间采购订单或销售订单的交货状态的报表,通过这些报表可以经客户的业务上提供很大的灵活性,至于如何的灵活,还是那句老话“谁用谁知道".1 ...

  8. 02_使用WebMagic爬虫获取CSDN推荐专家的个人博客信息

    本来是想抓取博客园的博客推荐的页面的,但由于一些博客进去的页面格式都不太相同,一时不想花时间去寻找规律,发现CSDN上面的格式较为单一,就决定以CSDN推荐专家的个人博客信息作为爬虫抓取的目标. [首 ...

  9. 进程识别号(PID)的理解

    PID(Process Identification)操作系统里指进程识别号,也就是进程标识符.操作系统里每打开一个程序都会创建一个进程ID,即PID. PID(进程控制符)英文全称为Process ...

随机推荐

  1. python3中整数和小数的转换

    在整数除法中,除法(/)总是返回一个浮点数,如果只想得到整数的结果,丢弃可能的分数部分,可以使用运算符 // : >>> 17 / 3 # 整数除法返回浮点型 5.666666666 ...

  2. LINUX-关机 (系统的关机、重启以及登出 )

     shutdown -h now 关闭系统(1) init 0 关闭系统(2) telinit 0 关闭系统(3) shutdown -h hours:minutes & 按预定时间关闭系统  ...

  3. 网络基础——TCP/IP五层模型

    TCP/IP五层模型 TCP/IP五层协议和OSI的七层协议对应关系如下 在每一层都工作着不同的设备,比如我们常用的交换机就工作在数据链路层的,一般的路由器是工作在网络层的. 在每一层实现的协议也各不 ...

  4. C++ 输入外挂

    inline int read() { int x=0;char ch=getchar(); while(ch<'0'||ch>'9')ch=getchar(); while(ch> ...

  5. Spring 4 整合RMI技术及发布多个服务(xjl456852原创)

    rmi需要建立两个项目,一个是服务端的项目,一个是客户端的项目.服务端项目启动后,再启动客户端项目去调用服务端的方法. 我们建立两个maven项目: pom.xml配置: <?xml versi ...

  6. JS权威指南笔记1

    1.JavaScript数据类型可分为两种:原始类型和对象类型.原始类型下又包括数字.字符串和布尔值,以及null和undefined这两个特殊的:对象是属性的集合,且每个属性都有自己的"名 ...

  7. 【Codeforces 1019A】Elections

    [链接] 我是链接,点我呀:) [题意] 每个人都有自己喜欢的队员 但是如果贿赂他们可以让他们更改自己喜欢的队员 问你最少要花多少钱贿赂队员才能让1号队员严格有最多的人喜欢? [题解] 除了1号之外, ...

  8. Uva548 Tree

    Tree You are to determine the value of the leaf node in a given binary tree that is the terminal nod ...

  9. 夜话JAVA设计模式之策略模式

    策略模式     定义了算法簇,分别封装起来,让他们之间可以互相替换,让算法簇的变化独立于使用算法的客户.设计原则1     找出应用中可能需要变化之处,把他们独立出来,不要和那些不需要变化的代码混在 ...

  10. CentosOS 7: 创建Nginx+Https网站

    参考文章: 1. https://github.com/Neilpang/acme.sh/wiki/%E8%AF%B4%E6%98%8E 2. http://songchenwen.com/tech/ ...