java解析html_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > java解析html

java解析html

 2013/11/28 18:31:46  goofyan  程序员俱乐部  我要评论(0)
  • 摘要:java有很多解析html的开源包,有htmlparser、cobra、jsoup、html4j、htmlclean等,http://www.open-open.com/30.htm项目中使用的是cobra,其他的没用过。cobra能解析javascript和css,项目中没有用这两项,也没研究过这块的代码。也是因为支持这些,如果不禁用,会占用相当大的内存,比如每个节点都会含有一个xxxStyle的对象。cobra的源码相当大,构造document的基本思路是顺序读页面数据
  • 标签:Java 解析
    java有很多解析html的开源包,有htmlparser、cobra、jsoup、html4j、htmlclean等,http://www.open-open.com/30.htm
    项目中使用的是cobra,其他的没用过。cobra能解析javascript和css,项目中没有用这两项,也没研究过这块的代码。也是因为支持这些,如果不禁用,会占用相当大的内存,比如每个节点都会含有一个xxxStyle的对象。cobra的源码相当大,构造document的基本思路是顺序读页面数据,找tag的开始<和结束>符,在结束符前碰到的所有标签、文本都加为子节点。cobra不支持纠错,当碰到网页中有错误的标签,比如有<,没有>,解析就会犯错。解析也不是完美的,做项目的时候,记得抽取节点和抽取属性部分的代码都改过。
    看网上比较火的貌似是htmlparser和jsoup。网上各开源库的对比很少,有个老外试过这么几个:NekoHTML, HtmlCleaner, TagSoup, jTidy,说最准确的是HtmlCleaner(用//a测试的)。也有人说cobra最好用,也有人说jsoup比htmlparser好用。以下是网上大家的总结:
http://www.benmccann.com/blog/java-html-parsing-library-comparison/
http://solonote.iteye.com/blog/567805
http://www.verydemo.com/demo_c89_i19070.html
    有空以后我再来逐个试下~
   
发表评论
用户名: 匿名