Jsoup(二)-- Jsoup查找DOM元素
一、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查找DOM元素的更多相关文章
- (二)Jsoup 查找 DOM 元素
第一节: Jsoup 查找 DOM 元素 getElementById(String id) 根据 id 来查询 DOM getElementsByTag(String tagName) 根据 tag ...
- (三)Jsoup 使用选择器语法查找 DOM 元素
第一节: Jsoup 使用选择器语法查找 DOM 元素 Jsoup使用选择器语法查找DOM元素 我们前面通过标签名,Id,Class样式等来搜索DOM,这些是不能满足实际开发需求的, 很多时候我们需要 ...
- Jsoup(三)-- Jsoup使用选择器语法查找DOM元素
1.Jsoup可以使用类似于CSS或jQuery的语法来查找和操作元素. 2.实例如下: public static void main(String[] args) throws Exception ...
- Jsoup查找dom元素
package com.open1111.jsoup; import org.apache.http.HttpEntity;import org.apache.http.client.methods. ...
- jQuery常用的查找Dom元素方法
废话不多说,先来个总结,然后下面是demo 一. 同级节点之间的检索(检索深度N=0) next()是在兄弟节点中,往后匹配; prev()是在兄弟节点中,往前匹配. 二. 父级/子级节点的检索(检索 ...
- Python笔记(二)查找重复元素
一.查找数列重复元素---count() >>> list = [,,,,,,,,,,,] >>> set = set(list) >>> for ...
- (四)Jsoup 获取 DOM 元素属性值
第一节: Jsoup 获取 DOM 元素属性值 Jsoup获取DOM元素属性值 比如我们要获取博客的href属性值: 我们这时候就要用到Jsoup来获取属性的值 : 我们给下示例代码: package ...
- DOM元素查找
一.DOM是document的缩写,他是操作html文档的方法 二.常用查找元素的方法 直接 1.document.getElementById('标签的id') 在html中标签的id是不允许重 ...
- jQuery使用(四):DOM操作之查找兄弟元素和父级元素
查找兄弟元素 向下查找兄弟元素 next() nextAll() nextUntil() 向上查找兄弟元素 prev() prevAll() prevUntil() 查找所有兄弟元素 siblings ...
随机推荐
- flush()的原理
输出流类似于一根管道,输出的时候先放到管道里,然后管道满了存到介质上(硬盘或其他地方),当我们输出完后管道里面可能还有剩余,就用flush()清空管道即全部存到介质上.Java默认的缓冲区大小一般是8 ...
- so在genymotation中错误问题
genymotation的android模拟器运行起来非常快,但是有些项目安装到上面不是crash,log一般是so文件调用失败的信息,或则直接提示INSTALL_FAILED_CPU_ABI_INC ...
- ndarray的数据类型
dtype参数 案例1: dtype(数据类型) 是一个特殊的对象,它含有ndarray , 将一块内存解释为特定数据类型所需的信息. 案例2: 利用astype 方法显式地转换其dtype 注意: ...
- C++ STL Maps
Maps定义 --> 个人理解为python的字典 C++ Maps are sorted associative containers the contian unique key/value ...
- soapui-groovy脚本中文乱码及符号乱码、响应乱码解决方案
groovy脚本中文乱码及符号乱码,解决方案: 响应乱码解决方案:
- 第三百五十七节,Python分布式爬虫打造搜索引擎Scrapy精讲—利用开源的scrapy-redis编写分布式爬虫代码
第三百五十七节,Python分布式爬虫打造搜索引擎Scrapy精讲—利用开源的scrapy-redis编写分布式爬虫代码 scrapy-redis是一个可以scrapy结合redis搭建分布式爬虫的开 ...
- C# ?? 运算符是什么?
?? 运算符定义在将可空类型分配给非可空类型时返回的默认值. int? c = null; //若 c 为 null,则 d 为 -1,否则把 c 值赋予 dint d = c ?? -1;
- Lua------------------unity与lua的热更新
[Unity3D]Unity3D游戏开发之Lua与游戏的不解之缘终结篇:UniLua热更新完全解读 标签: 游戏开发游戏解决方案用户体验unity3d 2014-10-18 23:23 7680人阅读 ...
- 模式识别之knn---KNN(k-nearest neighbor algorithm)--从原理到实现
用官方的话来说,所谓K近邻算法,即是给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例(也就是上面所说的K个邻居),这K个实例的多数属于某个类,就把该输入实例分类到这个类中 ...
- C#中按模板操作Word —— 如何向Word中插入图片
一.Word对象模型的重叠性分析 本文主要介绍通过书签Bookmark向Word文档中插入图片的方法.在此之前我们先简单讨论下Word对象模型的重叠性.如果你对Word对象模型还不熟悉,请参考本专栏第 ...