篇四:Jsoup处理界面

学习地址:http://www.jb51.net/article/43485.htm

一、引入Jsoup jar包

<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.8.1</version>
</dependency>

二、通过Jsoup获取Document

  1、爬取的page对象获取

//import org.jsoup.nodes.Document;
Document doc = Jsoup.parse(page.getHtml().toString());

  2、从一个URL加载一个Document

Document doc = Jsoup.connect("http://www.jb51.net/").get();
String title = doc.title();

  3、从一个文件加载一个文档

    Jsoup.parse(File in, String charsetName, String baseUri) 方法

   baseUri 参数用于解决文件中URLs是相对路径的问题。如果不需要可以传入一个空的字符串。
File input = new File("/tmp/input.html");
Document doc = Jsoup.parse(input, "UTF-8", "http://www.jb51.net/");

三、使用DOM操作Document

  查找可以叠加,即doc.getElementById(String id).getElementsByTag(String tag);

Element ele = doc.getElementById(String id);//通过节点id获取节点
Element ele = getElementsByTag(String tag);//通过节点名获取节点
Element ele = getElementsByClass(String className);//通过class获取节点
Elements ele = getElementsByTag(String tag);//通过节点名获取节点列表

四、使用选择器select操作Document

Element ele = doc.select("div#keywordList");//通过id获取,id唯一
Elements eles = doc.select("dic.ps-content");//通过class属性获取,存在多个用Elements接收
Element ele = doc.select("div.main-content").select("ul").select("li");//逐级获取
Elements links = doc.select("a[href]"); //带有href属性的a元素
Elements pngs = doc.select("img[src$=.png]");//扩展名为.png的图片


//完整例子--获取值
String url =ele.select("div.published").select("span.content-title").select("a").attr("href");
String publishDate =ele.select("div.published").select("span.time").text();
String browseCount = ele.select("td").get(2).text();

 

五、获取元素数据

element.attr(String key);//获取属性attr(String key, String value)设置属性
element.attributes();//获取所有属性
element.id();//获取节点id
element.className();//获取class属性名
element.classNames();//获取节点所有class属性
element.text();//获取文本内容
element.text(String value);// 设置文本内容
element.html();//获取元素内HTML
element.html(String value);//设置元素内的HTML内容
element.outerHtml();//获取元素外HTML内容
element.data();//获取数据内容(例如:script和style标签)
element.tag();//获取标签对象
element.tagName();//获取标签名

 

posted @ 2016-12-19 19:15  刘广平  阅读(195)  评论(0)    收藏  举报