首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Java网络爬虫技术《二》Jsoup

Java网络爬虫技术《二》Jsoup

作者头像
用户1422397
修改2026-01-07 14:40:18
修改2026-01-07 14:40:18
9210
举报
文章被收录于专栏:centosDaicentosDai

Jsoup

当我们成功抓取到页面数据了之后,还需要对抓取的数据进行解析,而刚好,Jsoup 是一款专门解析 html 页面的技术。Jsoup是一款基于 Java 的HTML 解析器,可直接解析某个 URL 地址、HTML 、文本内容。可以通过DOM、CSS以及类似于JQuery的操作方法来取出和操作数据

DOM 方式遍历文档

元素获取

  1. 根据id查询元素getElementById document.getElementById("id");
  2. 根据标签获取元素getElementsByTag document.getElementsByTag("title").first();
  3. 根据class获取元素getElementsByClass document.getElementsByClass("item_name").last();
  4. 根据属性获取元素getElementsByAttribute document.getElementsByAttribute("abc").first();

使用选择器语法查找元素

Jsoup elements 对象支持类似于CSS (或JQuery)的选择器语法,来实现非常强大和灵活的查找功能。这个select 方法在Document, Element,或Elements对象中都可以使用。且是上下文相关的,因此可实现指定元素的过滤,或者链式选择访问。Select方法将返回一个Elements集合,并提供一组方法来抽取和处理结果。

Selector选择器概述

  1. tagname: 通过标签查找元素,比如:li Elements span = document.select("li");
  2. #id: 通过 ID 查找元素,比如:# id document.select("#id").text();
  3. .class: 通过 class 名称查找元素,比如:.class_a (class标签前面有个 别忘记) document.select(".class_a").text();
  4. [attribute]: 利用属性查找元素,比如:[abc] document.select("[abc]").text();
  5. [attr=value]: 利用属性值来查找元素,比如:[class=item_name] document.select("[class=item_name]").text();

Selector选择器组合使用

el#id : 元素 + ID,例如 p#id

el.class : 元素 + class,例如 div.class_a

el[attr] : 元素 + 属性名,例如 span[abc]

任意组合 : span[abc].class_a

代码语言:javascript
复制
查找某个元素下子元素:比如;.class_a li  就是查找 .class_a 下的所有 li 标签的内容
查找某个父元素下的直接子元素:比如  div#J_goodsList > ul > li  查找 div id为 J_goodsList  第一级(直接子元素)的ul,再找所有ul下的第一级li
父元素>*:  比如 ul > *   查找 ul 标签下所有直接子元素 

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Jsoup
    • DOM 方式遍历文档
    • 使用选择器语法查找元素
    • Selector选择器组合使用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档