第一节: Jsoup 使用选择器语法查找 DOM 元素

Jsoup使用选择器语法查找DOM元素

我们前面通过标签名,Id,Class样式等来搜索DOM,这些是不能满足实际开发需求的,

很多时候我们需要寻找有规律的DOM集合,很多个有规律的标签层次;

这时候,选择器就用上了 css jquery都有,Jsoup支持css,jquery类似的选择器语法;

这里给下实例:

 package com.javaxk.jsoup;

 import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements; public class Demo3 { public static void main(String[] args) throws Exception{
CloseableHttpClient httpclient = HttpClients.createDefault(); // 创建httpclient实例
HttpGet httpget = new HttpGet("http://www.cnblogs.com/"); // 创建httpget实例 CloseableHttpResponse response = httpclient.execute(httpget); // 执行get请求
HttpEntity entity=response.getEntity(); // 获取返回实体
String content=EntityUtils.toString(entity, "utf-8");
response.close(); // 关闭流和释放系统资源 Document doc=Jsoup.parse(content); // 解析网页 得到文档对象 Elements linkElements=doc.select(".post_item .post_item_body h3 a"); // 查找所有帖子DOM
for(Element e:linkElements){
System.out.println("博客标题:"+e.text());
System.out.println("-------------");
} Elements hrefElements=doc.select("a[href]"); // 带有href属性的a元素
for(Element e:hrefElements){
System.out.println(e.toString());
System.out.println("-------------");
} Elements imgElements=doc.select("img[src$=.png]"); // 查找扩展名为.png的图片DOM节点
for(Element e:imgElements){
System.out.println(e.toString());
System.out.println("-------------");
} Element element=doc.getElementsByTag("title").first(); // 获取tag是title的所有DOM元素
String title=element.text(); // 返回元素的文本
System.out.println("网页标题是:"+title);
}
}

(三)Jsoup 使用选择器语法查找 DOM 元素的更多相关文章

  1. Jsoup(三)-- Jsoup使用选择器语法查找DOM元素

    1.Jsoup可以使用类似于CSS或jQuery的语法来查找和操作元素. 2.实例如下: public static void main(String[] args) throws Exception ...

  2. Jsoup(二)-- Jsoup查找DOM元素

    一.Jsoup查找DOM元素的方法 getElementById(String id) 根据id 来查询DOM getElementsByTag(String tagName) 根据tag 名称来查询 ...

  3. (二)Jsoup 查找 DOM 元素

    第一节: Jsoup 查找 DOM 元素 getElementById(String id) 根据 id 来查询 DOM getElementsByTag(String tagName) 根据 tag ...

  4. jsoup使用选择器语法来查找元素

    问题 你想使用类似于CSS或jQuery的语法来查找和操作元素. 方法 可以使用Element.select(String selector) 和 Elements.select(String sel ...

  5. Jsoup查找dom元素

    package com.open1111.jsoup; import org.apache.http.HttpEntity;import org.apache.http.client.methods. ...

  6. JavaScript的基础语法及DOM元素和事件

    一,JavaScript是什么? 1,JavaScript简称:js,是一种浏览器解释型语言,嵌套在HTML文件中交给浏览器解释执行.主要用来实现网页的动态效果,用户交互及前后端的数据传输等. 2,J ...

  7. jQuery常用的查找Dom元素方法

    废话不多说,先来个总结,然后下面是demo 一. 同级节点之间的检索(检索深度N=0) next()是在兄弟节点中,往后匹配; prev()是在兄弟节点中,往前匹配. 二. 父级/子级节点的检索(检索 ...

  8. jQuery 数据 DOM 元素 核心 属性

    jQuery 参考手册 - 数据 .clearQueue() 从序列中删除仍未运行的所有项目 .clearQueue(queueName) $("div").clearQueue( ...

  9. JS选取DOM元素的方法

    摘自JavaScript权威指南(jQuery根据样式选择器查找元素的终极方式是 先用getElementsByTagName(*)获取所有DOM元素,然后根据样式选择器对所有DOM元素进行筛选) 今 ...

随机推荐

  1. bzoj 3779: 重组病毒

    一道好题~~ 一个点到根传染需要的时间是这段路径上不同颜色的数目,一个点子树到根平均传染时间就是加权平均数了(好像是废话). 所以只要用线段树维护dfs序就这个可以了,换根的话一个点的子树要么在dfs ...

  2. HDU 6040 stl

    Hints of sd0061 Time Limit: 5000/2500 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others ...

  3. Python3 笨方法 练习41(面向对象)详解及运行结果

    #无尽模式训练你,检验所掌握的面向对象的单词和短语. import random from urllib.request import urlopen import sys WORD_URL = &q ...

  4. linux命令总结之seq命令

    功能: seq命令用于产生从某个数到另外一个数之间的所有整数. 语法: seq [选项]... 尾数 seq [选项]... 首数 尾数 seq [选项]... 首数 增量 尾数 选项: -f, -- ...

  5. Hadoop生态圈-Hbase的协处理器(coprocessor)应用

    Hadoop生态圈-Hbase的协处理器(coprocessor)应用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  6. C# 在程序中控制IIS服务或应用程序池关闭重启

    //停止IIS服务 ServiceController sc = new ServiceController("iisadmin"); if(sc.Status=ServiceCo ...

  7. [Java] 集合框架原理之二:锁、原子更新、线程池及并发集合

    java.util.concurrent 包是在 Java5 时加入的,与 concurrent 的相关的有 JMM及 AbstractQueuedSynchronizer (AQS),两者是实现 c ...

  8. (转) 经典功率谱估计及Matlab仿真

    原文出自:http://www.cnblogs.com/jacklu/p/5140913.html 功率谱估计在分析平稳各态遍历随机信号频率成分领域被广泛使用,并且已被成功应用到雷达信号处理.故障诊断 ...

  9. jvm如何判断对象是否可以被回收

    内容基本来自周志明 深入理解Java虚拟机 第二版 第三章 .这本书还可以,不过好像也没什么其他中文的关于jvm比较好的书了 jvm要做垃圾回收时,首先要判断一个对象是否还有可能被使用.那么如何判断一 ...

  10. Packet Tracer 5.0实验(一) 交换机的Telnet远程登录设置

    一.实验目标 掌握采用telnet方式配置交换机的方法 二.技术原理 配置交换机的管理IP地址(计算机的IP地址与交换机管理IP地址在同一网段): 为telnet用户配置用户名和登录口令: enabl ...