Jsoup的操作使用
jsoup可以直接直接解析url地址或者html文本内容,以及xml文件。
jsoup是sun公司开发的一款Java的html解析器。
jsoup的主要功能如下:
1. 从一个URL,文件或字符串中解析HTML;
2. 使用DOM或CSS选择器来查找、取出数据;
3. 可操作HTML元素、属性、文本;
jsoup 可以从包括字符串、URL地址以及本地文件来加载 HTML 文档,并生成 Document 对象实例。
具体代码:
Document document= Jsoup.parse(new File(path),"utf-8");
//查找此元素下的所有元素
Elements elements = document.getAllElements();
System.out.println(elements);
System.out.println("--------------------");
//根据id查找元素
Element elementbyid = document.getElementById("1");
System.out.println(elementbyid);
System.out.println("--------------------");
//查找具有命名属性的元素
Elements elementbyat=document.getElementsByAttribute("sex");
System.out.println(elementbyat);
System.out.println("--------------------");
//查找具有特定值的属性的元素。
Elements elementbyvalue= document.getElementsByAttributeValue("class","1912ja");
System.out.println(elementbyvalue);
System.out.println("--------------------");
//查找具有其值包含匹配字符串的属性的元素
Elements elements1=document.getElementsByAttributeValueContaining("class","1912");
System.out.println(elements1);
System.out.println("_________________________________");
//查找具有以值后缀结尾的属性的元素。
Elements elements2=document.getElementsByAttributeValueEnding("class","na");
System.out.println(elements2);
System.out.println("_________________________________");
//获取此元素的第一个同级元素
Element element= elementbyid.firstElementSibling();
System.out.println(element);
System.out.println("_________________________________");
//获取此元素的最后一个同级元素
Element element2= elementbyid.lastElementSibling();
System.out.println(element);
System.out.println("_________________________________");
//查找包含指定字符串的元素
Elements elements3= document.getElementsContainingText("l");
System.out.println(elements3);
System.out.println("##################");
//获取此元素的下一个同级元素
Element element1=element.nextElementSibling();
System.out.println(element1);
System.out.println("+++++++++++++++");
//获取此节点的父节点
Element element3= element1.parent();
System.out.println(element3);
System.out.println("+++++++++++++++");
//获取此元素的前一个同级元素.
Element element4=element1.previousElementSibling();
System.out.println(element4);
System.out.println("=============");
你可能会觉得 jsoup 的方法似曾相识,没错,像 getElementById 和 getElementsByTag 方法跟 JavaScript 的方法名称是一样的,功能也完全一致。你可以根据节点名称或者是 HTML 元素的 id 来获取对应的元素或者元素列表。
与 htmlparser 项目不同的是,jsoup 并没有为 HTML 元素定义一个对应的类,一般一个 HTML 元素的组成部分包括:节点名、属性和文本,jsoup 提供简单的方法供你自己检索这些数据,这也是 jsoup 保持瘦身的原因。