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

 

posted @ 2019-05-28 15:02  沽名钓誉  阅读(478)  评论(0编辑  收藏  举报