学习java有3个多月了,一直想在学习过程中写点什么,把自己的成长历程记录下来,但是一直不知道写些什么。这次我终于下定决心写出自己的第一篇文章,督促自己学习,希望大神勿喷,如果哪位大神有闲心阅读了一下,如有错误,希望能够指出,在下感激不尽,也希望能和像我一样的初学者共同学习进步。
Jsoup是java的一个解析和遍历HTML的API,可以把一个HTML字符串解析成一个Document文档,并且会尽可能的得到一个标准的解析结果。
- 会自动补充缺失的结束标记。(eg:"<p>Jsoup<p>Jsoup"会解析为"<p>Jsoup</p><p>Jsoup</p>")
- 官方文档说会创建隐式标签,即("<td>Jsoup</td>"会解析为<table><tr><td>Jsoup</td></tr></table>"),但是经验证并不会创建,而是会忽略td标签,解析为("Jsoup");
- 会自动创建完整的HTML页面结构,即自动创建<html><head><body>标签。
例如:
public static void main(String[] args){ String html1="<p>Jsoup<p>LKZERO"; Document doc=Jsoup.parse(html1); System.out.println(doc.toString()); System.out.println("--------"); String html2="<td>LKZERO</td><br>" + "<tr><td>LKZERO<td></tr><br />" + "<table><tr><td>JSOUP</td></tr></table>"; Document doc2=Jsoup.parse(html2); System.out.println(doc2.toString()); }
得到结果:
<html> <head></head> <body> <p>Jsoup</p> <p>LKZERO</p> </body> </html> -------- <html> <head></head> <body> LKZERO <br />LKZERO <br /> <table> <tbody> <tr> <td>JSOUP</td> </tr> </tbody> </table> </body> </html>
Jsoup解析得到的Document文档是由Document,Element,Node和TextNode组成的,其中Document继承Element,Element继承Node,TextNode继承Node。
- parse()静态方法:Jsoup解析HTML字符串使用parse静态方法,无论HTML字符串是什么内容,都会得到一个Document文档,至少会包含<html><head><body>三个元素。
- parseBodyFragment()静态方法:经我测试与parse()得到的结果相同,不太明白二者区别。官方文档上说此方法把任何用户输入的HTML都会被解析为body部分,但是我测试得到的结果并不是这样。希望有大神能够指导。
相关推荐
使用Jsoup解析html网页,包含jsoup.jar \ api.chm \ 代码
Jsoup解析html+xml
用Jsoup解析html的所有jar包!
jsoup解析html网页的api
jsoup解析HTML,获取htmlUrl
java语言,jsoup解析html修改文件名的一个demo
使用httpClient采集数据,jsoup解析页面
这是使用Jsoup解析HTML得到数据的一个小例子,具体的使用方法请参见我的博客:http://blog.csdn.net/ProgramChangesWorld/article/details/47134255
一个简单地android解析html的例子
利用jsoup工具解析html的demo
jsoup获取网站资源,按照自己的思路写自己的APP。
使用Jsoup解析Html文档,无须正则表达式,使用元素定位到Html的标签元素
使用jsoup解析hmtl,获取对应数据
使用Jsoup库解析HTML、XML或URL链接中的DOM节点 Jsoup进行Html的Dom解析
支持Android4.0,真机与模拟器都测试通过,使用异步方式解析
使用android解析html文档,替换html中的内容
jsoup 是一款 Java的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。jsoup 的主要功能如下: (1)从一个 URL,...
使用JSoup实现解析URL或HTML的内容
Jsoup库文件;Jsoup解析Java包
java解析xml,dom解析,jsoup解析,两种不同方式的解析,完整项目