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); } }