一、Jsoup查找DOM元素的方法

  getElementById(String id) 根据id 来查询DOM

  getElementsByTag(String tagName) 根据tag 名称来查询DOM

  getElementsByClass(String className) 根据样式名称来查询DOM

  getElementsByAttribute(String key) 根据属性名来查询DOM

  getElementsByAttributeValue(String key,String value) 根据属性名和属性值来查询DOM

二、代码实现

    public static void main(String[] args) throws Exception{
// 创建httpClient实例
CloseableHttpClient httpClient = HttpClients.createDefault();
// 创建httpGet实例
HttpGet httpGet = new HttpGet("http://www.cnblogs.com");
httpGet.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0");
CloseableHttpResponse response = httpClient.execute(httpGet);
String content = null;
if(response != null){
HttpEntity entity = response.getEntity();
content = EntityUtils.toString(entity, "UTF-8"); // 获取网页内容 Document document = Jsoup.parse(content); // 解析网页,得到文档对象 /**
* 1.根据tag获取元素
*/
Elements elements = document.getElementsByTag("title"); // 获取 tag为 title的DOM元素
Element element = elements.get(0); // 获取第一个DOM元素
String title = element.text(); // 返回元素的文本
System.out.println("博客园的标题:" + title); /**
* 2.根据 id获取元素
*/
Element element2 = document.getElementById("site_nav_top");
String navTop = element2.text();
System.out.println("座右铭:" + navTop); /**
* 3.根据样式获取元素
*/
Elements elements3 = document.getElementsByClass("post_item");
System.out.println("============根据样式获取元素=============");
for(Element e : elements3){
System.out.println(e.html());
System.out.println("------------------------------");
} /**
* 4.根据属性名称来查询DOM
*/
Elements elements4 = document.getElementsByAttribute("width");
System.out.println("============根据属性名称来查询DOM=============");
for(Element e : elements4){
System.out.println(e.toString());
System.out.println("------------------------------");
} /**
* 5.根据属性名和属性值来查询DOM
*/
Elements elements5 = document.getElementsByAttributeValue("target", "_blank");
System.out.println("============ 根据属性名和属性值来查询DOM=============");
for(Element e : elements5){
System.out.println(e.toString());
System.out.println("------------------------------");
}
}
if(response != null){
response.close();
}
if(httpClient != null){
httpClient.close();
}
}

三.Jsoup学习地址

  开源博客系统-Jsoup

Jsoup(二)-- Jsoup查找DOM元素的更多相关文章

  1. (二)Jsoup 查找 DOM 元素

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

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

    第一节: Jsoup 使用选择器语法查找 DOM 元素 Jsoup使用选择器语法查找DOM元素 我们前面通过标签名,Id,Class样式等来搜索DOM,这些是不能满足实际开发需求的, 很多时候我们需要 ...

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

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

  4. Jsoup查找dom元素

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

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

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

  6. Python笔记(二)查找重复元素

    一.查找数列重复元素---count() >>> list = [,,,,,,,,,,,] >>> set = set(list) >>> for ...

  7. (四)Jsoup 获取 DOM 元素属性值

    第一节: Jsoup 获取 DOM 元素属性值 Jsoup获取DOM元素属性值 比如我们要获取博客的href属性值: 我们这时候就要用到Jsoup来获取属性的值 : 我们给下示例代码: package ...

  8. DOM元素查找

    一.DOM是document的缩写,他是操作html文档的方法 二.常用查找元素的方法 直接 1.document.getElementById('标签的id')   在html中标签的id是不允许重 ...

  9. jQuery使用(四):DOM操作之查找兄弟元素和父级元素

    查找兄弟元素 向下查找兄弟元素 next() nextAll() nextUntil() 向上查找兄弟元素 prev() prevAll() prevUntil() 查找所有兄弟元素 siblings ...

随机推荐

  1. Html中怎么用CSS让ul中多个li标签不换行横排显示

    布局 通常有三种方式 { 1. position 2. float: left --> 其次是这个 3. block: inline-block  --> 他们推荐我用这个 } 具体描述 ...

  2. 【转】25个非常实用的jQuery/CSS3应用组件

    今天分享25款功能十分强大的jQuery/CSS3应用插件,欢迎收藏. 1.jQuery水晶样式下拉导航 这是一款非常不错的jQuery多功能下拉菜单插件,菜单外观呈水晶样式,晶莹剔透,功能丰富,包含 ...

  3. ecmall数据库表详解 二次开发必备

    文章分类表ecm_acategory 字段 类型 Null 默认 注释 cate_id int(10) 否   自增ID号,分类ID号 cate_name varchar(100) 否   分类的名称 ...

  4. (笔记)Mysql命令show databases:显示所有数据库

    show databases命令用于显示所有数据库. show databases命令格式:show databases; (注意:最后有个s) 例如:mysql> show databases ...

  5. 网络中TCP、IP、MAC、UDP的头部格式信息

    TCP头部格式 字段名称 长度(比特) 含义 TCP头部(20字节~) 发送方端口号 16 发送网络包的程序的端口号 接收方端口号 16 网络包的接收方程序的端口号 序号(发送数据的顺序编号) 32 ...

  6. python获取代码行号

    获取行号: def get_file(): print("文件名 :",__file__,sys._getframe().f_lineno) print("函数名: &q ...

  7. c#基础操作

    内网 IPAddress ipAddr = Dns.Resolve(Dns.GetHostName()).AddressList[];//获得当前IP地址 string ip = ipAddr.ToS ...

  8. 关于HTTP Message

    HTTP Message包括JS, HTML等Resource.这些都是相对来说有代码可以写的东西,但是原理的东西是没有代码的.coding只是很少的一部分工作内容. Browser的流程.比如con ...

  9. Thinkphp5笔记二:创建模块

    系统:window 7 64位 Thinkphp版本:5.0.5 环境:wampserver集成 我的项目是部署在本地www/thinkphp  目录下.在做之前,先要考虑清楚,你需要几个模块来完成你 ...

  10. 在C++中实现不可继承的类

    逛下bbs,“在C++中实现不可继承的类”,瞒有意思的. class NoInherite { friend class Seal; private: NoInherite(void) {} ~NoI ...