Jsoup爬虫获取公司纳税识别号
天眼查
/**
* 根据公司名称获取统一社会信用代码
*
* @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爬虫获取公司纳税识别号的更多相关文章
- 【Java】Jsoup爬虫,一个简单获取京东商品信息的小Demo
简单记录 - Jsoup爬虫入门实战 数据问题?数据库获取,消息队列中获取中,都可以成为数据源,爬虫! 爬取数据:(获取请求返回的页面信息,筛选出我们想要的数据就可以了!) 我们经常需要分析HTML网 ...
- (java)Jsoup爬虫学习--获取智联招聘(老网站)的全国java职位信息,爬取10页
Jsoup爬虫学习--获取智联招聘(老网站)的全国java职位信息,爬取10页,输出 职位名称*****公司名称*****职位月薪*****工作地点*****发布日期 import java.io.I ...
- (java)Jsoup爬虫学习--获取网页所有的图片,链接和其他信息,并检查url和文本信息
Jsoup爬虫学习--获取网页所有的图片,链接和其他信息,并检查url和文本信息 此例将页面图片和url全部输出,重点不太明确,可根据自己的需要输出和截取: import org.jsoup.Jsou ...
- jsoup爬虫简书首页数据做个小Demo
代码地址如下:http://www.demodashi.com/demo/11643.html 昨天LZ去面试,遇到一个大牛,被血虐一番,发现自己基础还是很薄弱,对java一些原理掌握的还是不够稳固, ...
- Jsoup问题---获取http协议请求失败 org.jsoup.UnsupportedMimeTypeException: Unhandled content type. Must be text/*, application/xml, or application/xhtml+xml.
Jsoup问题---获取http协议请求失败 1.问题:用Jsoup在获取一些网站的数据时,起初获取很顺利,但是在访问某浪的数据是Jsoup报错,应该是请求头里面的请求类型(ContextType)不 ...
- Java 网络爬虫获取网页源代码原理及实现
Java 网络爬虫获取网页源代码原理及实现 1.网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成.传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL ...
- sap 如何获取公司间采购订单或销售订单的交货状态
在上SAP项目过程,上了SD模块的企业一般都要做一些跟公司间采购订单或销售订单的交货状态的报表,通过这些报表可以经客户的业务上提供很大的灵活性,至于如何的灵活,还是那句老话“谁用谁知道".1 ...
- 02_使用WebMagic爬虫获取CSDN推荐专家的个人博客信息
本来是想抓取博客园的博客推荐的页面的,但由于一些博客进去的页面格式都不太相同,一时不想花时间去寻找规律,发现CSDN上面的格式较为单一,就决定以CSDN推荐专家的个人博客信息作为爬虫抓取的目标. [首 ...
- 进程识别号(PID)的理解
PID(Process Identification)操作系统里指进程识别号,也就是进程标识符.操作系统里每打开一个程序都会创建一个进程ID,即PID. PID(进程控制符)英文全称为Process ...
随机推荐
- 初遇Java
什么是JVM?JVM是java虚拟机(JVM Java Virtual Machine),java程序需要运行在虚拟机上,不同平台有自己的虚拟机,因此java语言可以跨平台. 什么是JRE?包括Jav ...
- 三 , lnmp 一键包安装使用
安装打包环境 #https://lnmp.org/----------------------------------------------------#安装wget -c http://soft ...
- js之获取html标签的值
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 第七节:web爬虫之urllib(三)
第二个模块 error : 即异常处理模块,如果出现请求错误,我们可以捕获这些异常,然后进行重试或其他操作保证程序不会意外终止.
- BZOJ 5106 [CodePlus2017]汀博尔
[题解] 二分答案.r要设好,不能随便设置为max(s,len),不然check的时候会爆long long #include<cstdio> #include<algorithm& ...
- 【瞎扯】 About Me
手动博客搬家: 本文发表于20181218 13:54:31, 原地址https://blog.csdn.net/suncongbo/article/details/85063885 来了?坐,欢迎来 ...
- [K/3Cloud] K/3 Cloud1.0怎样和2.0共存在一台服务器上
第一步:安装Cloud1.0,创建管理中心,创建业务数据中心,备份管理数据库和业务数据库,并且备份安装目录: 第二步:卸载Cloud1.0,清理安装目录,安装Cloud2.0,创建管理中心,创建业务数 ...
- ECMAScript 6 入门学习笔记(二)——变量的解构赋值
一.数组的解构赋值 let [foo, [[bar], baz]] = [1, [[2], 3]]; ①可多不可少,等号的右边是数组 let [x, y] = [1, 2, 3]; //可以 let ...
- java中static学习总结
<<java编程思想>>: 1.static方法就是没有this的方法. 2.在static方法内部非静态方法. 3.在没有创建对象的前提下,可以通过类本身来调用static修 ...
- vue2的简单时间选择组件
github: https://github.com/longfei59418888/vui (记得给一个 start,以后有一起讨论,各种好组件) demo : http://60.205.2 ...