篇四: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();//获取标签名

浙公网安备 33010602011771号