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 ...
随机推荐
- <编译原理 - 函数绘图语言解释器(3)解释器 - python>
<编译原理 - 函数绘图语言解释器(3)解释器 - python> <编译原理 - 函数绘图语言解释器(2)词法分析器 - python> <编译原理 - 函数绘图语言解 ...
- [Python3 填坑] 007 多才多艺的 len()
目录 1. print( 坑的信息 ) 2. 开始填坑 (1) 总的来说 (2) 举例说明 (3) 后记 1. print( 坑的信息 ) 挖坑时间:2019/01/10 明细 坑的编码 内容 Py0 ...
- Java方法多态性——方法的重载Overload和重写Override
方法的重写(Overriding)和重载(Overloading)是java多态性的不同表现,重写是父类与子类之间多态性的一种表现,重载可以理解成多态的具体表现形式. 重写(Override) 重写是 ...
- 一个 Java 字符串到底有多少个字符?
来源:http://dwz.win/jqd 依照Java的文档, Java中的字符内部是以UTF-16编码方式表示的,最小值是 \u0000 (0),最大值是\uffff(65535), 也就是一个字 ...
- 大数加减(51nod)
1005 大数加法 给出2个大整数A,B,计算A+B的结果. 输入 第1行:大数A 第2行:大数B (A,B的长度 <= 10000 需注意:A B有可能为负数) 输出 输出A + B ...
- Tornado 的核是什么??
Tornado 的核心是 ioloop 和 iostream 这两个模块,前者提供了一个高效的 I/O 事件循环,后 者则封装了 一个无阻塞的 socket .通过向 ioloop 中添加网络 I/O ...
- java 企业 网站源码 后台 springmvc SSM 前台 静态化 代码生成器
前台: 支持四套模版, 可以在后台切换 系统介绍: 1.网站后台采用主流的 SSM 框架 jsp JSTL,网站后台采用freemaker静态化模版引擎生成html 2.因为是生成的html,所以访问 ...
- Spark2.0基于广播变量broadcast实现实时数据按天统计
package com.gm.hive.SparkHive; import java.text.SimpleDateFormat; import java.util.Arrays; import ja ...
- 总结const、readonly、static三者的区别【收藏、转载】20190614
总结const.readonly.static三者的区别 const:静态常量,也称编译时常量(compile-time constants),属于类型级,通过类名直接访问,被所有对象共享! a.叫编 ...
- Informatica ODBC的使用
1.在服务器端配置odbc.ini 注意:添加环境变量才能生效 2.测试连通性 3.使用