java1234开源博客系统
博客信息

Jsoup使用选择器语法查找DOM元素

0
发布时间:『 2017-02-17 16:16』  博客类别:jsoup  阅读(2912)

Jsoup使用选择器语法查找DOM元素


我们前面通过标签名,Id,Class样式等来搜索DOM,这些是不能满足实际开发需求的,

很多时候我们需要寻找有规律的DOM集合,很多个有规律的标签层次;

这时候,选择器就用上了 css jquery都有,Jsoup支持css,jquery类似的选择器语法;


这里给下实例:

package com.open1111.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 Demo03 {

	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); // 解析网页 得到文档对象
       
        Elements linkElements=doc.select(".post_item .post_item_body h3 a"); // 查找所有帖子DOM
        for(Element e:linkElements){
        	System.out.println("博客标题:"+e.text());
        	System.out.println("-------------");
        }
        
        Elements hrefElements=doc.select("a[href]"); // 带有href属性的a元素
        for(Element e:hrefElements){
        	System.out.println(e.toString());
        	System.out.println("-------------");
        }
        
        Elements imgElements=doc.select("img[src$=.png]"); // 查找扩展名为.png的图片DOM节点
        for(Element e:imgElements){
        	System.out.println(e.toString());
        	System.out.println("-------------");
        }
        
        Element element=doc.getElementsByTag("title").first(); // 获取tag是title的所有DOM元素
        String title=element.text(); // 返回元素的文本
        System.out.println("网页标题是:"+title);
	}
}




关键字:   Jsoup     选择器  
关注Java1234微信公众号
博主信息
Java1234_小锋
(知识改变命运,技术改变世界)
Powered by Java1234 V3.0 Copyright © 2012-2016 Java知识分享网 版权所有