Jsoup的简易使用示例
生活随笔
收集整理的這篇文章主要介紹了
Jsoup的简易使用示例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
http://www.open-open.com/jsoup/parsing-a-document.htm
?
測試用網頁
<!doctype html><!-- http://jwc.yangtzeu.edu.cn/ --><html class="outlin colo"><head><meta charset="utf-8"><title>長江大學</title><link type="text/css" rel="stylesheet" href="./css/reset.css"><link type="text/css" rel="stylesheet" href="./css/layout.css"><link type="text/css" rel="stylesheet" href="./css/yangtze.css"><script src="base.js"></script><script src="./js/nodeObject.js"></script><script src="./js/yangtze.js"></script> </head><body><div id="content"><!-- 頂部圖片div --><div id="header-imageDiv"></div><!-- 頂部菜單div --><div id="header-menuDiv"><div id="header-menu-table"><div class="header-menu-cell"><a href="#" title="首頁">首頁</a></div><div class="header-menu-cell"><a href="#" title="機構設置">機構設置</a></div><div class="header-menu-cell"><a href="#" title="規章制度">規章制度</a></div><div class="header-menu-cell"><a href="#" title="教學建設">教學建設</a></div><div class="header-menu-cell"><a href="#" title="教務管理">教務管理</a></div><div class="header-menu-cell"><a href="#" title="考務管理">考務管理</a></div><div class="header-menu-cell"><a href="#" title="實踐創新">實踐創新</a></div><div class="header-menu-cell"><a href="#" title="質量評估">質量評估</a></div><div class="header-menu-cell"><a href="#" title="學務管理">學務管理</a></div><div class="header-menu-cell"><a href="#" title="服務指南">服務指南</a></div><div class="header-menu-cell"><a href="#" title="下載中心">下載中心</a></div></div></div><div class="space"></div><!-- 頂部時間div --><div id="header-dateDiv"></div><div class="space"></div><!-- 中間的tableDiv --><div id="table"><!-- 左側table-cell --><div id="table-left"><div id="table-left-imageDiv"></div><div class="space"></div><h2 class="h2-style">高教信息<a href="#">+MORE</a></h2><ul class="ul-type-1"><li style="color : red;"><img src="./images/li_bg.jpg"> <a href="#">教育部高等教育司2016年工作要點</a></li><li><img src="./images/li_bg.jpg"> <a href="#">湖北省教育廳高等教育處2016年工作要點</a></li><li><img src="./images/li_bg.jpg"> <a href="#">湖北省教育廳高等教育處2015年工作要點</a></li><li><img src="./images/li_bg.jpg"> <a href="#">省委高校工委 省教育廳關于印發201</a></li><li><img src="./images/li_bg.jpg"> <a href="#">教育部2015年工作要點</a></li><li><img src="./images/li_bg.jpg"> <a href="#">近兩年就業率較低的本科專業名單</a></li></ul><div class="space"></div><h2 class="h2-style">友情鏈接</h2><div id="select-type"></div></div><div class="space"></div><!-- 中間table-cell --><div id="table-center"><div id="table-center-topLineDiv"><span id="notice" onmouseover="switchTab(this)">教務通知</span><span id="thisweek" onmouseover="switchTab(this)">本周事務</span></div><ul id="notice-ul"><li>關于組織2017年(第十二屆)長江大學大學生化學實驗<span>2017-03-30</span></li><li>關于核查文科相關學院2013級畢業班學生成績的通知<span>2017-03-30</span></li><li>關于組織申報第二批校級雙語教學示范課程的通知<span>2017-03-30</span></li><li>查看更多...</li></ul><ul id="thisweek-ul"><li>2016~2017學年第二學期6~7月份主要教學工作安排<span>2017-03-30</span></li><li>2016~2017學年第二學期5月份主要教學工作安排<span>2017-03-30</span></li><li>2016~2017學年第二學期4月份主要教學工作安排<span>2017-03-30</span></li><li>2016~2017學年第二學期3月份主要教學工作安排<span>2017-03-30</span></li><li>查看更多...</li></ul><div class="chooseTab"><span>教務通知</span><span>本周事務</span></div></div><!-- 右側table-cell --><div id="table-right"></div></div><div class="space"></div><!-- 底部的menuDiv --><div id="bottom-menuDiv"></div><div class="space"></div></div><!-- 最底部的div --><div id="footer"></div><script>setup();switchTab(elementById("notice"));addEventss();</script></body></html>?
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<Element> list = doc.getElementsByClass("space");for (Element element : list) {System.out.println(element + "\n");}}// 根據標簽獲取元素數組 {ArrayList<Element> list = doc.getElementsByTag("div");for (Element element : list) {System.out.println(element + "\n");}}// 根據元素中含有的屬性值獲取元素數組 {ArrayList<Element> 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
總結
以上是生活随笔為你收集整理的Jsoup的简易使用示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: laravel中的多对多关系详解
- 下一篇: zznu 1996 : 正三角形和圆的爱