Jsoup解析html页面,爬虫必备

介绍

Jsoup用于解析html页面,对于爬虫来说,会有大量的html页面反馈回来,解析出特定的信息和内容是非常繁琐的,Jsoup是解析html的神奇工具,可以大大减少工作量

使用方式
  1. Jsoup将html封装成为document,操作起来像 js 和 jqurey 一样,可以使用document.getElementById()、document.getElementsByTagName()等等一系列命令都可以在jsoup中使用
  2. 具有完备的 api 文档
    地址:https://jsoup.org/apidocs/org/jsoup/nodes/Element.html
    ps:可以利用浏览器的翻译变成中文哦~
  3. maven依赖
<!-- html页面解析依赖 -->
<dependency>
  <groupId>org.jsoup</groupId>
  <artifactId>jsoup</artifactId>
  <version>1.7.2</version>
</dependency>
示例
//将html页面解析成document
Document userDocument = Jsoup.parse(html);
        //获取所有tagname为table的元素
        Elements tableElements = userDocument.getElementsByTag("table");
        for(Element tableElement : tableElements){
            //获取所有table元素下的子元素(不包括孩子的孩子)
            Elements tbodyElements = tableElement.children();
            for(Element tbodyElement : tbodyElements){
                Elements trElements = tbodyElement.children();
                for(Element trElement : trElements){
                    Elements tdElements = trElement.children();
                    String key = tdElements.get(0).text();
                    String value = tdElements.get(1).text();
                    System.out.println("key=="+key.trim());
                    System.out.println("value=="+value);
                }
            }
        }

控台输出结果

key==  余额:
value==259.01
key==  上笔发生日:
value==2018-03-21
key==  未登折笔数:
value==2
key==  账户状态:
value==正常
常用api
1. Jsoup.parse(String html);//解析一个html页面,返回document类型
eg:Document document = Jsoup.parse(html);
2.通过tagname获取所有相同标签document.getEleementsByTag(String name);
 Elements elements = document.getElementsByTag("table");
3. element.children();//获取所有的子元素
eg:Elements elements = element.children();
4.element.attributies();// 获取当前元素的属性
eg: Attributes attributes = element.attributies();
//遍历属性并获得属性名和值
for(Attribute attr : attributes){
  //属性名
  String propertyName = attr.getKey();
  //属性值
  String propertyValue = attr.getVlaue();
}
(未完待续)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本章内容 理解包含不同层次节点的 DOM 使用不同的节点类型 克服浏览器兼容性问题及各种陷阱 DOM 是针对 HT...
    闷油瓶小张阅读 3,952评论 0 1
  •   DOM(文档对象模型)是针对 HTML 和 XML 文档的一个 API(应用程序编程接口)。   DOM 描绘...
    霜天晓阅读 9,068评论 0 7
  • Java爬虫入门简介(二) —— Jsoup解析HTML页面 原文链接:http://blog.csdn.net/...
    葡小萄家的猫阅读 10,380评论 0 10
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,374评论 19 139
  • “就像蝴蝶飞不过沧海,没有谁会忍心责怪”——那么,一只蝴蝶和另一条飞得过海的龙,有什么区别呢? 拐过街角,我们在拉...
    崔罗石阅读 3,663评论 1 2