【Jsoup学习礼记】解析一个HTML字符串

存在问题

来自用户输入,一个文件或一个网站的HTML字符串,你可能需要对它进行解析并取其内容,或校验其格式是否完整,或想修改它。怎么办?jsonu能够帮你轻松解决这些问题

解决方法

使用静态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);

描述

parse(String
html, String baseUri)
 这方法能够将输入的HTML解析为一个新的文档 (Document),参数 baseUri 是用来将相对 URL 转成绝对URL,并指定从哪个网站获取文档。如这个方法不适用,你可以使用 parse(String
html)
 方法来解析成HTML字符串如上面的示例。.

只要解析的不是空字符串,就能返回一个结构合理的文档,其中包含(至少) 一个head和一个body元素。

一旦拥有了一个Document,你就可以使用Document中适当的方法或它父类 ElementNode中的方法来取得相关数据。

时间: 2024-07-31 13:32:53

【Jsoup学习礼记】解析一个HTML字符串的相关文章

JSON.parse() 方法解析一个JSON字符串

JSON.parse() 方法解析一个JSON字符串,构造由字符串描述的JavaScript值或对象.可以提供可选的reviver函数以在返回之前对所得到的对象执行变换. 语法EDIT JSON.parse(text[, reviver]) 参数 text 要被解析成JavaSctipt值的字符串,查看 JSON 对象学习的JSON 语法的说明. reviver 可选 如果是一个函数,则规定了原始值如何被解析改造,在被返回之前. 返回值 Object对应给定的JSON文本. 异常 若被解析的 J

【Jsoup学习礼记】从一个文件加载一个文档

问题 在本机硬盘上有一个HTML文件,需要对它进行解析从中抽取数据或进行修改. 办法 可以使用静态 Jsoup.parse(File in, String charsetName, String baseUri) 方法: File input = new File("/tmp/input.html"); Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/"); 说明 pa

【Jsoup学习礼记】从一个URL加载一个Document

存在问题 你需要从一个网站获取和解析一个HTML文档,并查找其中的相关数据.你可以使用下面解决方法: 解决方法 使用 Jsoup.connect(String url)方法: Document doc = Jsoup.connect("http://example.com/").get(); String title = doc.title(); 说明 connect(String url) 方法创建一个新的 Connection, 和 get() 取得和解析一个HTML文件.如果从该

【Jsoup学习礼记】从元素抽取属性,文本和HTML

问题 在解析获得一个Document实例对象,并查找到一些元素之后,你希望取得在这些元素中的数据. 方法 要取得一个属性的值,可以使用Node.attr(String key) 方法 对于一个元素中的文本,可以使用Element.text()方法 对于要取得元素或属性中的HTML内容,可以使用Element.html(), 或 Node.outerHtml()方法 示例: String html = "<p>An <a href='http://example.com/'>

解析一个HTML字符串

存在问题 来自用户输入,一个文件或一个网站的HTML字符串,你可能需要对它进行解析并取其内容,或校验其格式是否完整,或想修改它.怎么办?jsonu能够帮你轻松解决这些问题 解决方法 使用静态Jsoup.parse(String html) 方法或 Jsoup.parse(String html, String baseUri)示例代码: String html = "<html><head><title>First parse</title><

【Jsoup学习礼记】设置属性的值

问题 在你解析一个Document之后可能想修改其中的某些属性值,然后再保存到磁盘或都输出到前台页面. 方法 可以使用属性设置方法 Element.attr(String key, String value), 和 Elements.attr(String key, String value). 假如你需要修改一个元素的 class 属性,可以使用 Element.addClass(String className) 和Element.removeClass(String className) 

【Jsoup学习礼记】解析一个body片断

问题 假如你有一个HTML片断 (比如. 一个 div 包含一对 p 标签; 一个不完整的HTML文档) 想对它进行解析.这个HTML片断可以是用户提交的一条评论或在一个CMS页面中编辑body部分. 办法 使用Jsoup.parseBodyFragment(String html)方法. String html = "<div><p>Lorem ipsum.</p>"; Document doc = Jsoup.parseBodyFragment(

【Jsoup学习礼记】使用DOM方法来遍历一个文档

问题 你有一个HTML文档要从中提取数据,并了解这个HTML文档的结构. 方法 将HTML解析成一个Document之后,就可以使用类似于DOM的方法进行操作.示例代码: File input = new File("/tmp/input.html"); Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/"); Element content = doc.getEleme

【Jsoup学习礼记】处理URLs

问题 你有一个包含相对URLs路径的HTML文档,需要将这些相对路径转换成绝对路径的URLs. 方法 在你解析文档时确保有指定base URI,然后 使用 abs: 属性前缀来取得包含base URI的绝对路径.代码如下: Document doc = Jsoup.connect("http://www.open-open.com").get(); Element link = doc.select("a").first(); String relHref = li