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 ...
随机推荐
- 每日命令:(8)cp
cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一.一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数.但是如果是 ...
- Linux学习笔记(五) 账号管理
1.用户与组账号 用户账号:包括实际人员和逻辑性对象(例如应用程序执行特定工作的账号) 每一个用户账号包含一个唯一的用户 ID 和组 ID 标准用户是系统安装过程中自动创建的用户账号,其中除 root ...
- JS权威指南笔记1
1.JavaScript数据类型可分为两种:原始类型和对象类型.原始类型下又包括数字.字符串和布尔值,以及null和undefined这两个特殊的:对象是属性的集合,且每个属性都有自己的"名 ...
- 【08】AngularJS XMLHttpRequest
AngularJS XMLHttpRequest $http 是 AngularJS 中的一个核心服务,用于读取远程服务器的数据. 读取 JSON 文件 以下是存储在web服务器上的 JSON 文件: ...
- 从一行代码开始,浅谈python字符串格式化
今天看到了一行这样的代码: boundary = '%.32x' % random.randint(0, 256**16) 我知道这是一个生成格式化字符串的语句,它将随机生成的一个32位16进制数,将 ...
- codevs1226 倒水问题
题目描述 Description 有两个无刻度标志的水壶,分别可装 x 升和 y 升 ( x,y 为整数且均不大于 100 )的水.设另有一水 缸,可用来向水壶灌水或接从水壶中倒出的水, 两水壶间,水 ...
- 关于使用CELERY的一点心得
使用也有大半年了.稳定性没话说啊. 但有一个坑,是我以前没注意的,记录下来. 就是本来一个任务是可以异步并行执行的..但如何需要CELERY的执行结果来作判断的话,就会变得异步串行的. 这要值得注意. ...
- I - Navigation Nightmare 并查集
Farmer John's pastoral neighborhood has N farms (2 <= N <= 40,000), usually numbered/labeled 1 ...
- vue2的简单Popup (Confirm,Alert)组件
github: https://github.com/longfei59418888/vui (记得给一个 start,以后有一起讨论,各种好组件) demo :http://60.205.20 ...
- [Dart] Understand Variables and Constants in Dart
In this lesson, we will look at how to create variables and constants. These are containers that sto ...