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 ...
随机推荐
- 以gnome-terminal为例,修改gnome3 的默认配置
gnome连续几个版本的terminal默认配置文件都是同一个配置文件“b1dcc9dd-5262-4d8d-a863-c897e6d979b9”.这是因为gnome的developers编辑了这个配 ...
- Linux—Ubuntu14.0.5配置JAVA环境
1. 前往ORACLE官网下载最新版本的Java JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html,默认下载 ...
- Vuex实践小记
1.目录结构 2.开始(安装vuex) npm install vuex --save 3.编辑store/index.js(创建一个Vuex.store状态管理对象) import Vue from ...
- POJ -棋盘问题
棋盘问题 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 60815 Accepted: 29135 Descriptio ...
- MySQL 查询状态
查询状态 SHOW FULL PROCESSLIST 对于一个连接,或者说一个线程,任何时刻都有一个状态,该状态表示了MySQL当前正在做什么. mysql>SHOW FULL PROCESSL ...
- Adobe AIR 代码签名证书使用指南
Symantec,Thawte,GlobalSign 签发的代码签名证书都可以签名AIR文件.如果您还没有代码签名证书,请联系易维信(EVTrust)购买Adobe AIR 代码签名证书. 1.签名工 ...
- Hackerrank alien-flowers(数学公式)
题意:求能够构造出的符合以下条件的字符串的数目 .字符串只由R和B组成且长度不为0 .字符串含有A个RR,B个RB,C个BB,D个BR A,B,C,D<=1e5 分析:最简单的方法就是dp,但是 ...
- ngTbale真分页实现排序、搜索等功能
一. 真分页表格基础 1. 需求:分页,排序,搜索都是需要发API到服务端. 2. JS实现代码: getStorage是localStorage一个工具方法,可以自己写这个方法. API参数如下: ...
- SQL 为SQL Server服务指定的凭据无效怎么办
如下所示,在安装SQL Server2008的时候,我随便输入了了账户名和密码,点击下一步没用 正确做法是:点击账户名右边的小三角,从下拉列表随便选一个("对所有SQL Server服务 ...
- 为XCode 6 加入新建类模板
用XCode 6在改动之前用XCode 5 的代码的时候突然间发现 XCode 6已经把新建带有 .xib 类的模板给删去了.而项目的新需求中又要用到新建带有 .xib 的类(用惯了~),全部不得不又 ...