博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Jsoup的简易使用示例
阅读量:5046 次
发布时间:2019-06-12

本文共 6681 字,大约阅读时间需要 22 分钟。

 

 

测试用网页

长江大学
教务通知
本周事务
  • 关于组织2017年(第十二届)长江大学大学生化学实验2017-03-30
  • 关于核查文科相关学院2013级毕业班学生成绩的通知2017-03-30
  • 关于组织申报第二批校级双语教学示范课程的通知2017-03-30
  • 查看更多...
  • 2016~2017学年第二学期6~7月份主要教学工作安排2017-03-30
  • 2016~2017学年第二学期5月份主要教学工作安排2017-03-30
  • 2016~2017学年第二学期4月份主要教学工作安排2017-03-30
  • 2016~2017学年第二学期3月份主要教学工作安排2017-03-30
  • 查看更多...
教务通知
本周事务

 

Java代码

import java.io.File;import java.util.ArrayList;import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;import org.jsoup.select.Elements;public class App {    public static void main(String args[]) {        try {            File input = new File("/Users/YouXianMing/Documents/Project/HTML Project/yangtze/yangtze.html");            Document doc = Jsoup.parse(input, "UTF-8", "http://yangtze.com/");            // 根据元素id获取元素            {                Element content = doc.getElementById("content");                System.out.println(content);            }            // 根据CSS的class名获取元素数组            {                ArrayList
list = doc.getElementsByClass("space"); for (Element element : list) { System.out.println(element + "\n"); } } // 根据标签获取元素数组 { ArrayList
list = doc.getElementsByTag("div"); for (Element element : list) { System.out.println(element + "\n"); } } // 根据元素中含有的属性值获取元素数组 { ArrayList
list = doc.getElementsByAttribute("href"); for (Element element : list) { System.out.println(element + "\n"); } } // 根据元素中含有的属性值获取元素数组 { Element content = doc.getElementById("header-menu-table"); // 元素的父元素 System.out.println(content.parent()); // 元素的所有子元素 System.out.println(content.children()); // 与该元素平级的第一个兄弟元素 System.out.println(content.child(0).firstElementSibling()); // 与该元素平级的最后一个兄弟元素 System.out.println(content.child(0).lastElementSibling()); // 该元素的前一个兄弟元素 System.out.println(content.child(1).previousElementSibling()); // 该元素的下一个兄弟元素 System.out.println(content.child(0).nextElementSibling()); } // 一个元素中的数据 { Element content = doc.getElementsByClass("ul-type-1").first().child(0); // 获取文本内容 System.out.println(content.text()); // 获取tag名字 System.out.println(content.tagName()); // 获取tag对象 System.out.println(content.tag()); // 获取属性字典 System.out.println(content.attributes()); // 获取当前内容当中的html内容 System.out.println(content.html()); // 获取外部的html内容 System.out.println(content.outerHtml()); // 获取属性style的值 System.out.println(content.attr("style")); } // 使用选择器语法来查找元素 { Elements elements = null; // 通过标签查找元素 elements = doc.select("a"); System.out.println(elements); // 通过id查找元素 elements = doc.select("#content"); System.out.println(elements); // 通过class查找元素 elements = doc.select(".ul-type-1"); System.out.println(elements); // 通过属性查找元素 elements = doc.select("[href]"); System.out.println(elements); // 通过属性前缀查找元素 elements = doc.select("[^hr]"); System.out.println(elements); // 通过属性值来查找元素 elements = doc.select("[id=notice]"); System.out.println(elements); // 匹配属性值开头 elements = doc.select("[onmouseover^=swit]"); System.out.println(elements); // 匹配属性值结尾 elements = doc.select("[onmouseover$=(this)]"); System.out.println(elements); // 匹配包含了属性值 elements = doc.select("[onmouseover*=Tab]"); System.out.println(elements); // 正则表达式匹配 elements = doc.select("ul[id~=^notice]"); System.out.println(elements); } } catch (Exception e) { System.out.println(e); } }}

 

注意

以下地方请自行替换,本人是从本地加载的html

以下是获取元素的几种情形

 

转载于:https://www.cnblogs.com/YouXianMing/p/6913342.html

你可能感兴趣的文章
算法时间复杂度
查看>>
二叉树的遍历 - 数据结构和算法46
查看>>
类模板 - C++快速入门45
查看>>
centos7 搭建vsftp服务器
查看>>
RijndaelManaged 加密
查看>>
Android 音量调节
查看>>
HTML&CSS基础学习笔记1.28-给网页添加一个css样式
查看>>
windows上面链接使用linux上面的docker daemon
查看>>
Redis事务
查看>>
Web框架和Django基础
查看>>
python中的逻辑操作符
查看>>
CSS兼容性常见问题总结
查看>>
HDU 1548 A strange lift (Dijkstra)
查看>>
每天一个小程序—0005题(批量处理图片大小)
查看>>
IIS的各种身份验证详细测试
查看>>
JavaScript特效源码(3、菜单特效)
查看>>
Linux常用命令总结
查看>>
yii模型ar中备忘
查看>>
C#线程入门
查看>>
CSS清除浮动方法
查看>>