您的位置:首页 > Web前端 > JavaScript

Jsoup 学习笔记

2014-11-26 09:39 232 查看
今天学习一个Jsoup jar包,做点笔记加强记忆 http://jsoup.org/,主要是翻译这里的

jsoup: Java HTML解析器的主要作用

scrape and
parse HTML from a URL, file, or string  从URL,文件,字符冲中抓取并解析HTML

find and extract data, using DOM traversal or CSS selectors 查找和提取数据,使用DOM遍历 或者CSS选择器

manipulate the HTML elements, attributes, and text 操作HTML元素,属性和文本

clean user-submitted content against a safe white-list, to preventXSS attacks 清除用户提交的内容,阻止XSS攻击

output tidy HTML HTML格式化输出

举个例子Jsoup如何查找数据:

Document doc = Jsoup.connect("http://www.baidu.com").get();//取到baidu页面,解析成DOM文件
Elements newsHeadlines = doc.select("#span input");//通过elements列表中选中搜索框

通过Jsoup解析出来的DOM文件继承图如下: 该DOM文件包含 Elements 和 TextNodes
Document
继承自
Element
继承自Node
.
TextNode
继承自Node
.
一个Element 包含很多子 Nodes, 但只有一个父Element.



解析HTML 文件

从String中解析HTML文件

使用静态方法
Jsoup.parse(String html)
或者 网页文件
Jsoup.parse(String
html, String baseUri)

String html = "<html><head><title>First parse</title></head>"
+ "<body><p>Parsed HTML into a doc.</p></body></html>";
Document doc = Jsoup.parse(html);


解析HTML中的BODY段部分 使用 
Jsoup.parseBodyFragment(String
html)
方法

String html = "<div><p>Lorem ipsum.</p>";
Document doc = Jsoup.parseBodyFragment(html);
Element body = doc.body();


从某个URL中加载

Document doc = Jsoup.connect("http://example.com/").get();
String title = doc.title();


从某个文件中加载

File input = new File("/tmp/input.html");
Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/");

使用类似DOM的方法才获取页面元素
使用CSS 或JQuery 选择器来获取所有页面元素
从DOM文件中获取属性,文本等页面元素


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: