Jsoup 学习笔记

来源:互联网 发布:淘宝店被关闭 编辑:程序博客网 时间:2024/06/04 00:28

今天学习一个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文件中获取属性,文本等页面元素

0 0