阅读更多

11顶
0踩

编程语言

原创新闻 Cobra: Java HTML 解析器

2008-03-26 20:25 by 正式记者 levis2000 评论(5) 有17368人浏览
Cobra 简介:
Cobra是一个HTML工具包。它包含一个纯Java HTML DOM 分析器和一个页面表现引擎。Cobra支持HTML4,Javascript 和CSS2。声明的新特征有:
  1. 实现了W3C HTML DOM Level 2接口。
  2. 能够解析某些浏览器所识别的 "street HTML"。
  3. 能够在headless模式中被使用。
  4. 当文档被解析时,对于Dom修改提供incremental notifications。
  5. 提供增量地修改Dom的方式,比如,设置一个页面元素的 "innerHTML" 属性。
  6. 识别Javascript.解析过程中对Dom的修改能够在结果Dom中反映出来,另外能实现对Javascript的禁用。
  7. 识别css2。


使用方法:
推荐做法是通过DocumentBuilderImpl类来使用Cobra HTML parser,如下所示:
import org.lobobrowser.html.parser.*;
import org.lobobrowser.html.test.*;
import org.lobobrowser.html.*;
import org.w3c.dom.*;
...
UserAgentContext context = new SimpleUserAgentContext();
DocumentBuilderImpl dbi = new DocumentBuilderImpl(context);
//指定文档URI和字符集合
Document document = dbi.parse(new InputSourceImpl(inputStream, documentURI, charset));


HtmlParser类也能被直接使用,尤其是在第三方Dom的实现中,或者在某个比较特殊的Dom节点(引用innerHTML属性的地方)下解析HTML:
import org.lobobrowser.html.parser.*;
import org.lobobrowser.html.test.*;
import org.lobobrowser.html.*;
import org.w3c.dom.*;
import org.w3c.dom.html2.*;
...
UserAgentContext context = new SimpleUserAgentContext();
DocumentBuilderImpl dbi = new DocumentBuilderImpl(context);
HTMLDocument document = (HTMLDocument) dbi.createDocument();
...
HtmlParser parser = new HtmlParser(context, document);
parser.parse(myReader, someParentNode);


性能贴士
远程脚本和css文档载入速度对解析器的性能影响显著,有两种提高性能的方法:
  1. 禁用Javascripte 或 css
  2. 启用某些缓存机制


相关信息
本文所涉及内容在 Cobra 0.98.1+版本中均有体现,相关下载信息和API文档:
SourceForge下载地址
Api文献
11
0
评论 共 5 条 请登录后发表评论
5 楼 wukele 2010-03-25 15:01
[/b][b][b][/b][/i][i][/u][u][color=brown][/color]     
4 楼 zhangyou1010 2010-02-04 11:38
我做的一个程序中用这个支持JS.
转DOM还好. 执行JS时可能会报异常. 对JS语法支持与浏览器还有点差距.
我对cobra.jar做了一点点改动. 主要是请求超设置与字符转码.
3 楼 zhangyou1010 2010-02-04 11:38
我做的一个程序中用这个支持JS.
转DOM还好. 执行JS时可能会报异常. 对JS语法支持与浏览器还有点差距.
我对cobra.jar做了一点点改动. 主要是请求超设置与字符转码.
2 楼 Eric_2007 2008-12-19 16:27
哪位高手能详细写个帖子,像这类Html的解析工具该如何学习呢,感觉不知从哪下手,学习效率很低啊,难度很大啊!如有高手回应,本人将不胜感激!
1 楼 fins 2008-03-27 09:07
感兴趣 研究一下

基于这个应该可以开发一些类似自动测试的东西吧

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Cobra (HTML工具包源码)

    Cobra是一个HTML工具包。它包含一个纯Java HTML DOM 分析器和一个页面表现引擎。Cobra支持HTML4,Javascript 和CSS2。

  • java cobra_使用Cobra进行Java HTML渲染

    解析器呈现基于Java应用程序中的用户选择动态生成的HTML页面.在我的应用程序中,用户可以选择数百个项目.项目以特殊的彩色符号形式显示,用户可以选择多个项目.一旦选择了多个项目,它们的书面描述将被动态生成并格式...

  • java解析html table_java解析html取里面的table

    比如Jericho HTML Parser Jericho HTML Parser是一个简单而功能强大的Java HTML解析器库,可以分析和处理HTML文档的一部分,包括一些通用的服务器端标签,同时也可以重新生成无法识别的或无效的HTML。它也提供了一个...

  • java开源HTML解析器收集

    java开源HTML解析器收集 博客分类: java HTML文档解析器 HTMLParser HTML Parser 是一个对HTML进行分析的快速实时的解析器,最新的发行版本是1.6,另外2.0的开发版本已经两年没有进展了。 示例代码:...

  • HTML 开源Java解析器

    HTMLParser HTML Agility Pack ...cobra 解析和生成器 CyberNeko jScraper Jericho MozillaParser xhtmlrenderer 解析HTML和CSS HotSax TagSoup JoyHTML 解析HTML文本当中的链接和正文 Viet

  • java html 转 jpg cobra,Cobra

    软件简介Cobra 是一个纯 Java 的HTML 解析和生成器,支持 HTML 4 、JavaScript、CSS 2示例代码:import org.lobobrowser.html.parser.*;import org.lobobrowser.html.test.*;import org.lobobrowser.html.gui.*;...

  • JAVA开源解析HTML工具

    好东西收藏一下。 ... ...NekoHTML是一个简单地HTML扫描器和标签补偿器(tag balancer) ,使得程序能解析HTML文档...这个解析器能投扫描HTML文件并“修正”许多作者(人或机器)在编写HTML文档过程中常犯的错误。NekoH

  • Loboevolution:Lobo Evolution - Java Web 浏览器

    Lobo Evolution - Java Web 浏览器 Lobo Evolution 是 Lobo Browser 的一个分支。 该项目延续了路宝浏览器(lobochief)的工作。 Lobo Evolution 是一个可扩展的全 Java ... 也是一个支持 Javascript 的 HTML 解析器。

  • html转为图片(二):Cobra

    Cobra 是一个纯 Java 的HTML 解析和生成器,支持 HTML 4 、JavaScript、CSS 2 这个方法的依赖包,暂时我没找到相应的版本,所以我就没测试 案例: public class Cobra { public static void main(String[] args)...

  • 亲测各种java的html解析器 目标:解析成Document并且能使用XPathAPI, Cobra胜出

    正在做一个网站分析工具,需要一个html解析器,目标是解析html文档到org.w3c.dom.Document,并且要能使用XPathAPI 进行节点查找。 今天测了很多个开源库,都不满意,只有COBRA的兼容性要好一点。 列一下今天侧...

  • Html文档解析器(转载)

    是一个对HTML进行分析的快速实时的解析器,最新的发行版本是1.6,另外2.0的开发版本已经两年没有进展了。 示例代码: Parser parser = new Parser ("http://whatever"); NodeList list = parser.parse ...

  • html解析器比较

    html的解析器很多,常用的有htmlparser和jsoup,jsoup可以看做是htmlparser的简化,因为其强大的选择器使得获取元素非常的方便,有点类似Jquery中的选择器(可以直接拿),而htmlparser结构简单,功能强大,但是比较...

  • cobra 0.98.4

    Cobar是一个开源的纯Java实现的Html DOM解析器和渲染器。基于Mozilla Rhino,它支持HTML4,Javascript和CSS2。

  • Java开源Html解析类库(转载)

    这个解析器能投扫描HTML文件并“修正”许多作者(人或机器)在编写HTML文档过程中常犯的错误。NekoHTML能增补缺失的父元素、自动用结束标签关闭相应的元素,以及不匹配的内嵌元素标签。NekoHTML的开发使用了

  • cobra结合java_Cobra – 开源的多语言源代码安全审计工具

    Cobra介绍Cobra是一款源代码安全审计工具,支持检测多种开发语言源代码中的大部分显著的安全问题和漏洞。由于开发人员的技术水平和安全意识各不相同,导致可能开发出一些存在安全漏洞的代码。 攻击者可以通过渗透...

  • HTML解析器软件

    HTML解析器软件         HTML文档解析器 HTMLParser HTML Parser 是一个对HTML进行分析的快速实时的解析器,最新的发行版本是1.6,另外2.0的开发版本已经两年没有进展了。示例...

  • 基于springboot大学生就业信息管理系统源码数据库文档.zip

    基于springboot大学生就业信息管理系统源码数据库文档.zip

  • 基于java的驾校收支管理可视化平台的开题报告.docx

    基于java的驾校收支管理可视化平台的开题报告

  • 原木5秒数据20241120.7z

    时间序列 原木 间隔5秒钟 20241120

Global site tag (gtag.js) - Google Analytics