(二)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
Jsoup查找DOM元素
Jsoup提供了丰富的API来给我们查找我们需要的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
实例代码:
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 Demo2 { 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); // 解析网页 得到文档对象 Element navTopElement=doc.getElementById("site_nav_top"); // 根据id来查询DOM
String navTop=navTopElement.text(); // 返回元素的文本
System.out.println("口号:"+navTop); Elements titleElements=doc.getElementsByTag("title"); // 根据tag名称来查询DOM
Element titleElement=titleElements.get(0); // 获取第1个元素
String title=titleElement.text(); // 返回元素的文本
System.out.println("网页标题是:"+title); Elements postItemElements=doc.getElementsByClass("post_item"); // 根据样式名称来查询DOM
System.out.println("=======输出post_item==============");
for(Element e:postItemElements){
System.out.println(e.html());
System.out.println("================");
} Elements widthElements=doc.getElementsByAttribute("width"); // 根据属性名来查询DOM
System.out.println("=======输出with的DOM==============");
for(Element e:widthElements){
System.out.println(e.toString());
System.out.println("================");
} System.out.println("target-_blank");
Elements targetElements=doc.getElementsByAttributeValue("target", "_blank"); // 根据属性名和属性值来查询DOM
System.out.println("=======输出target-_blank的DOM==============");
for(Element e:targetElements){
System.out.println(e.toString());
System.out.println("================");
} }
}
(二)Jsoup 查找 DOM 元素的更多相关文章
- Jsoup(二)-- Jsoup查找DOM元素
一.Jsoup查找DOM元素的方法 getElementById(String id) 根据id 来查询DOM getElementsByTag(String tagName) 根据tag 名称来查询 ...
- Jsoup查找dom元素
package com.open1111.jsoup; import org.apache.http.HttpEntity;import org.apache.http.client.methods. ...
- (三)Jsoup 使用选择器语法查找 DOM 元素
第一节: Jsoup 使用选择器语法查找 DOM 元素 Jsoup使用选择器语法查找DOM元素 我们前面通过标签名,Id,Class样式等来搜索DOM,这些是不能满足实际开发需求的, 很多时候我们需要 ...
- (四)Jsoup 获取 DOM 元素属性值
第一节: Jsoup 获取 DOM 元素属性值 Jsoup获取DOM元素属性值 比如我们要获取博客的href属性值: 我们这时候就要用到Jsoup来获取属性的值 : 我们给下示例代码: package ...
- Jsoup(三)-- Jsoup使用选择器语法查找DOM元素
1.Jsoup可以使用类似于CSS或jQuery的语法来查找和操作元素. 2.实例如下: public static void main(String[] args) throws Exception ...
- Jsoup获取DOM元素
(1)doc.getElementsByTag(String tagName); (2)doc.getElementById(String id); (3)doc.getElementsByClass ...
- jQuery常用的查找Dom元素方法
废话不多说,先来个总结,然后下面是demo 一. 同级节点之间的检索(检索深度N=0) next()是在兄弟节点中,往后匹配; prev()是在兄弟节点中,往前匹配. 二. 父级/子级节点的检索(检索 ...
- Jsoup(四)-- Jsoup获取DOM元素属性值
1.获取博客园的博客标题以及博客地址,获取友情链接 2.代码实现: public static void main(String[] args) throws Exception{ // 创建http ...
- Python笔记(二)查找重复元素
一.查找数列重复元素---count() >>> list = [,,,,,,,,,,,] >>> set = set(list) >>> for ...
随机推荐
- [POI2015]WIL-Wilcze doły
题目描述 给定一个长度为n的序列,你有一次机会选中一段连续的长度不超过d的区间,将里面所有数字全部修改为0.请找到最长的一段连续区间,使得该区间内所有数字之和不超过p. 输入格式: 第一行包含三个整数 ...
- HDU 3943 数位dp+二分
K-th Nya Number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 125536/65536 K (Java/Others) ...
- Nginx Configuration 免费HTTPS加密证书
Linux就该这么学 2018-05-11 实验环境:CentOS Linux release 7.3.1611 (Core) 内核版本:Linux version 3.10.0-514.el7.x8 ...
- 2017年Java面试题整理
原文出处:CSDN邓帅 面试是我们每个人都要经历的事情,大部分人且不止一次,这里给大家总结最新的2016年面试题,让大家在找工作时候能够事半功倍. 1.Switch能否用string做参数? a.在 ...
- Shell记录-Shell命令(find)
Linux中的find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花 ...
- IIS错误整理收集【持续更新】
一.HTTP 错误 403.14 - Forbidden HTTP 错误 403.14 - Forbidden,Web 服务器被配置为不列出此目录的内容. 解决方案:修改程序池.NET Framewo ...
- SDOI2017 Round1 起点
第二次打酱油了 高一两次考试以打两瓶酱油告终 来的时候明知自己没戏,却总存有一丝希望 NOIP连200都没考到,是不是有点儿不自量力 如果我真的去争取那一丝希望的话,该有多好 先简单分析下考试 Day ...
- Git之简介及安装
简介 Git是一个分布式版本控制系统,GitHub相当于一个远程仓库,注册账号可免费获得Git远程仓库. GitHub使用参考:https://guides.github.com/activities ...
- 流媒体技术学习笔记之(十六)H264编码profile & level控制
H.264有四种画质级别,分别是baseline, extended, main, high: 1.Baseline Profile:基本画质.支持I/P 帧,只支持无交错(Progressive)和 ...
- python学习笔记2--list
一.list操作 list=['xiaohei','xiaobai','xiaohong']#定义一个数组 name=[]#定义一个空数组 #查 #下标是从0开始 print(list[1]) #-1 ...