Jsoup获取DOM元素
(1)doc.getElementsByTag(String tagName);
(2)doc.getElementById(String id);
(3)doc.getElementsByClass(String className);
(4)doc.getElementsByAttribute(String key);
elements=document.getElementsByAttribute("width");
for(Element e:elements){
System.out.println(e.toString());
}
(5)doc.getElementsByAttributeValue(String key,String value);
示例:通过key-value查找src=“/images/logo_small.gif”的元素
//根据key-value名称来查询DOM(查找src="")
elements=document.getElementsByAttributeValue("src", "/images/logo_small.gif");
System.out.println(elements.get(0).toString());
示例:通过key-value查找target=“_blank”的元素
elements=document.getElementsByAttributeValue("target","_blank");
for(Element e:elements){
System.out.println(e.toString());
}
使用document.select();选择元素
通过class一级一级往下找
package com.oracle.zibo; import org.apache.http.HttpEntity;
import org.apache.http.HttpHost;
import org.apache.http.client.config.RequestConfig;
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 closeableHttpClient=HttpClients.createDefault();
HttpGet httpGet=new HttpGet("http://www.bootcss.com/"); CloseableHttpResponse closeableHttpResponse=closeableHttpClient.execute(httpGet);
HttpEntity httpEntity=closeableHttpResponse.getEntity(); //获取实体、网页内容 String str=EntityUtils.toString(httpEntity, "utf-8"); closeableHttpResponse.close();
closeableHttpClient.close(); Document document=Jsoup.parse(str); //解析网页 //查找bootstrap主页下的所有标题
Elements elements=document.select(".row .thumbnail .caption h3 a");
for(Element e:elements){
System.out.println(e.text());
}
} }
使用a["href"]
查找所有带href属性的a标签
//查找a[href]
Elements elements=document.select("a[href]");
for(Element e:elements){
System.out.println(e.html());
}
使用"img[src$=.png]"
查找扩展名为.png的图片的元素
Elements elements=document.select("img[src$=.png]");
for(Element e:elements){
System.out.println(e.toString());
}
取得我们需要的信息
Elements elements=document.select("img[src$=.png]");
for(Element e:elements){
System.out.println(e.toString());
System.out.println(e.text()); //取得标签中的内容
System.out.println(e.html()); //取得标签中的html代码
System.out.println(e.attr("src")); //取得某属性的属性值
}
e.attr(属性),返回属性值
.first()取得第一个
.last()取得最后一个
Element element=document.select("img[src$=.gif]").first();
System.out.println(element.attr("src")); //取得某属性的属性值
Jsoup获取DOM元素的更多相关文章
- (四)Jsoup 获取 DOM 元素属性值
第一节: Jsoup 获取 DOM 元素属性值 Jsoup获取DOM元素属性值 比如我们要获取博客的href属性值: 我们这时候就要用到Jsoup来获取属性的值 : 我们给下示例代码: package ...
- Jsoup(四)-- Jsoup获取DOM元素属性值
1.获取博客园的博客标题以及博客地址,获取友情链接 2.代码实现: public static void main(String[] args) throws Exception{ // 创建http ...
- Jsoup(二)-- Jsoup查找DOM元素
一.Jsoup查找DOM元素的方法 getElementById(String id) 根据id 来查询DOM getElementsByTag(String tagName) 根据tag 名称来查询 ...
- (二)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. ...
- 通过class和id获取DOM元素的区别
1.通过id获取DOM元素的方法:document.getElementById("id名") 2.通过class获取DOM元素的方法:document.getElementsBy ...
- JS1 js获取dom元素方法
js获取dom元素方法 1.通过ID选取元素(getElementById) 1)使用方法:document.getElementById("domId") 其 ...
- 获取DOM元素位置和尺寸大小
JavaScript获取DOM元素位置和尺寸大小 在一些复杂的页面中经常会用JavaScript处理一些DOM元素的动态效果,这种时候我们经常会用到一些元素位置和尺寸的计算,浏览器兼容性问题也是不可忽 ...
- vue获取dom元素内容
通过ref来获取dom元素 在vue官网上对ref的解释 ref 被用来给元素或子组件注册引用信息.引用信息将会注册在父组件的 $refs 对象上.如果在普通的 DOM 元素上使用,引用指向的就是 D ...
随机推荐
- 001--PowerDesigner连接MySQL
PowerDesigner连接MySQL(一) 博客地址:https://blog.csdn.net/codemonkey_king/article/details/53263597 https:// ...
- Java 位运算符和移位运算符
一,运算的位运算符: & ~ | ^ 主要是对二进制的位计算 : & : 两个操作数中位都为1 结果才为1 其他结果为0 forExample: 128 ...
- TCP通信 - 服务器开启多线程与read()导致服务器阻塞问题
TCP通信的文件上传案例 本地流:客户端和服务器和本地硬盘进行读写,需要使用自己创建的字节流 网络流:客户端和服务器之间读写,必须使用Socket中提供的字节流对象 客户端工作:读取本地文件,上传到服 ...
- 使用TreeSet对象去重排序
java对象除了采用equals和hashCode判断对象是否相等外,开发人员也可以通过其他属性判断两个对象是否相等 以下案例采用TreeSet去掉重复对象 Teacher: public class ...
- vue自定义组件(通过Vue.use()来使用)即install的使用
在vue项目中,我们可以自定义组件,像element-ui一样使用Vue.use()方法来使用,具体实现方法: 1.首先新建一个loading.vue文件 // Cmponent.vue <te ...
- 如何在nuxt中添加proxyTable代理
背景 在本地开发vue项目的时候,当你习惯了proxyTable解决本地跨域的问题,切换到nuxt的时候,你会发现,添加了proxyTable设置并没有什么作用,那是因为你是用的vue脚手架生成的vu ...
- vue+element Form键盘回车事件页面刷新解决
问题描述:如下代码所示,使用element-ui 中的el-form组件对table进行条件查询,当查询条件仅有一项时,使用@keyup.enter.native事件绑定回车事件,出现点击回车后,浏览 ...
- Python 中三大框架各自的应用场景??
django:主要是用来搞快速开发的,他的亮点就是快速开发,节约成本,正常的并发量不过 10000,如果要实现高并发的话,就要对 django 进行二次开发,比如把整个笨重的框架给拆掉,自己写 soc ...
- CSS-子盒子撑开父盒子,让父盒子的高随内容自适应
方法一: height:auto!important; height:200px; min-height:200px; ie6并不支持min-height.ie7,opera,火狐没有问题. 方法二: ...
- Math对象(min()-max()-ceil()-floor()-round()和abs())
1.Math.min() 功能:求一组数的最小值,返回值:Number 如果里面有非数字则返回NaN 2.Math.max() 功能:求一组数的最大值,返回值:Number 3.Math.ceil() ...