0
点赞
收藏
分享

微信扫一扫

Jsoup标签的使用

使用该依赖呢是因为想获取网页的数据

public static void main(String[] args) throws IOException {
Document document = Jsoup.connect("url").get();

System.out.println(document.text());
//System.out.println(document.replace("<!--",""));
String title = document.select("title").text();
System.out.println(title);
//例如<div class="h-[125]" id="link"> 我想去class可以使用getElementsByClass获取
Elements mb = document.getElementsByClass("h-[125]");
//可以当前该标签的条数
System.out.println(mb.size());

for (int i = 0; i < mb.size(); i++) {
//例如 <div class="" id="link-index-26"> 我想去获取id 可以使用getElementById去获取
Element elementById = document.getElementById("link-index-" + i);
String toString = elementById.toString();
String replaceLeft = toString.replace("<!--", "");
String replaceRight = replaceLeft.replace("-->", "");
elementById = Jsoup.parse(replaceRight, "", Parser.xmlParser());

//System.out.println("elementById.text()================>"+elementById.text());
// 这里的意思是获取标签 比如该标签下只有a标签可以使用getElementsByTag来获取 <a href="/md5/e90bb9b7983f4d2c217ee29daa9ae068"/></a>
Elements element2 = elementById.getElementsByTag("a");
for(Element element3 : element2) {
Elements content = element3.getElementsByClass("relative top-[-1] pl-4 grow overflow-hidden");
for(Element element4 : content) {
Elements content1 = element4.getElementsByClass("truncate text-xs text-gray-500");
Elements content2 = element4.getElementsByClass("truncate text-xl font-bold");
Elements content3 = element4.getElementsByClass("truncate text-sm");
Elements content4 = element4.getElementsByClass("truncate italic");
System.out.println(content1.text());
System.out.println(content2.text());
System.out.println(content3.text());
System.out.println(content4.text());
System.out.println("======================================");
}
}

}
}

  • Jsoup封装并实现了DOM里面常用的元素遍历方法:
    根据id查找元素: getElementById(String id)
    根据标签查找元素: getElementsByTag(String tag)
    根据class查找元素: getElementsByClass(String className)
    根据属性查找元素: getElementsByAttribute(String key)
    兄弟遍历方法: siblingElements(), firstElementSibling(), lastElementSibling(); nextElementSibling(), previousElementSibling()
    层级之间遍历: parent(), children(), child(int index)
    这些方法会返回Element或者Elements节点对象,这些对象可以使用下面的方法获取一些属性:
    attr(String key): 获取某个属性值
    attributes(): 获取节点的所有属性
    id(): 获取节点的id
    className(): 获取当前节点的class名称
    classNames(): 获取当前节点的所有class名称
    text(): 获取当前节点的textNode内容
    html(): 获取当前节点的 inner HTML
    outerHtml(): 获取当前节点的 outer HTML
    data(): 获取当前节点的内容,用于script或者style标签等
    tag(): 获取标签
    tagName(): 获取当前节点的标签名称
    有了这些API,就像JQuery一样很便利的操作DOM。



举报

相关推荐

0 条评论