首页 > 其他分享 >无涯教程-jsoup - 使用选择器语法

无涯教程-jsoup - 使用选择器语法

时间:2024-01-03 21:32:15浏览次数:44  
标签:document JsoupTester 无涯 jsoup println Document 选择器 select

以下示例将HTML解析为Document对象之后使用Selector方法操作元素, jsoup支持类似于CSS Selector选择器。

Document document=Jsoup.parse(html);
//a with href
Elements links=document.select("a[href]");

document.select(expression)方法解析给定的CSS Selector表达式,以选择html dom元素。

Document.select 示例

使用您选择的任何编辑器在C:/> jsoup中创建以下Java程序。

JsoupTester.java

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class JsoupTester {
   public static void main(String[] args) {
   
      String html = "<html><head><title>Sample Title</title></head>"
         + "<body>"
         + "<p>Sample Content</p>"
         + "<div id='sampleDiv'><a href='www.google.com'>Google</a>"
         + "<h3><a>Sample</a><h3>"
         +"</div>"
         + "<div id='imageDiv' class='header'><img name='google' src='google.png' />"
         + "<img name='yahoo' src='yahoo.jpg' />"
         +"</div>"
         +"</body></html>";
      Document document = Jsoup.parse(html);

      //一个带href的标签
      Elements links = document.select("a[href]");

      for (Element link : links) {
         System.out.println("Href: " + link.attr("href"));
         System.out.println("Text: " + link.text());
      }

      //以 .png 结尾的 src 的 img
      Elements pngs = document.select("img[src$=.png]");

      for (Element png : pngs) {
         System.out.println("Name: " + png.attr("name"));
      }

      //div with class=header
      Element headerDiv = document.select("div.header").first();
      System.out.println("Id: " + headerDiv.id());
   
      //a 在 h3 后面
      Elements sampleLinks = document.select("h3 > a"); 

      for (Element link : sampleLinks) {
         System.out.println("Text: " + link.text());
      }
   }
}

使用 javac 编译器编译类,如下所示:

C:\jsoup>javac JsoupTester.java

现在运行JsoupTester以查看输出。

C:\jsoup>java JsoupTester

查看输出。

Href: www.google.com
Text: Google
Name: google
Id: imageDiv
Text: Sample

参考链接

https://www.learnfk.com/jsoup/jsoup-use-selector.html

标签:document,JsoupTester,无涯,jsoup,println,Document,选择器,select
From: https://blog.51cto.com/u_14033984/9089346

相关文章

  • 无涯教程-jsoup - 加载文件
    以下示例将从本地文件加载HTML文件,返回一个Document文档,然后查找其数据。Fileinput=newFile(xxxxx);Documentdocument=Jsoup.parse(input,"UTF-8");Jsoup.parse示例使用您选择的任何编辑器在C:/>jsoup中创建以下Java程序。JsoupTester.javaimportjava.io.File;impo......
  • 无涯教程-Java 正则 - XY 匹配函数
    逻辑运算符[XY]匹配X,后跟Y。XY-示例以下示例显示了逻辑运算符的用法。packagecom.learnfk;importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassLogicalOperatorDemo{privatestaticfinalStringREGEX="to";privatestaticfin......
  • 无涯教程-Java 正则 - X|Y 匹配函数
    逻辑运算符[X|Y]匹配X或Y。X|Y-示例以下示例显示了逻辑运算符的用法。packagecom.learnfk;importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassLogicalOperatorDemo{privatestaticfinalStringREGEX="t|o";privatestatic......
  • 无涯教程-Java 正则 - X{n}+ 匹配函数
    PossesiveQuantifier[X{n}+]与存在的X个精确匹配n次。X{n}+-示例packagecom.learnfk;importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassPossesiveQuantifierDemo{privatestaticfinalStringREGEX="T{2}+";privatestat......
  • 无涯教程-Java 正则 - X++ 匹配函数
    PossesiveQuantifier[X++]与X匹配一次或多次。X++-示例packagecom.learnfk;importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassPossesiveQuantifierDemo{privatestaticfinalStringREGEX="T++";privatestaticfinalS......
  • 无涯教程-Java 正则 - X*+ 匹配函数
    PossesiveQuantifier[X*+]匹配X出现零次或多次。X*+-示例packagecom.learnfk;importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassPossesiveQuantifierDemo{privatestaticfinalStringREGEX="T*+";privatestaticfinal......
  • 无涯教程-Java 正则 - X?+ 匹配函数
    PossesiveQuantifier匹配一次存在的X或根本不存在的X。X?+-示例以下示例显示了所有格修饰符的用法。packagecom.learnfk;importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassPossesiveQuantifierDemo{privatestaticfinalStringRE......
  • 无涯教程-Java 正则 - X?? 匹配函数
    ReluctantQuantifier[X??]匹配存在一次或根本不存在的X。X??-示例以下示例显示了用法。packagecom.learnfk;importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassReluctantQuantifierDemo{privatestaticfinalStringREGEX="T?......
  • 无涯教程-Java 正则 - X{n,}匹配函数
    贪婪量词[X{n,}]与存在的X匹配至少n次。X{n,}-示例以下示例显示了贪婪量词的用法。packagecom.learnfk;importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassGreedyQuantifierDemo{privatestaticfinalStringREGEX="T{2,}";pr......
  • 无涯教程-Java 正则 - X{n}匹配函数
    贪婪匹配[X{n}]与存在的X个精确匹配n次。X{n}-示例以下示例显示了贪婪匹配的用法。packagecom.learnfk;importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassGreedyQuantifierDemo{privatestaticfinalStringREGEX="T{2}";pr......