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 @   沽名钓誉  阅读(481)  评论(0编辑  收藏  举报
编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥
点击右上角即可分享
微信分享提示