开源HTML解析器

上一篇 / 下一篇  2014-01-11 21:51:30 / 个人分类:资料

1HTML解析器 jsoup

jsoup是一款JavaHTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOMCSS以及类似于JQuery的操作方法来取出和操作数据。

jsoup的主要功能如下:

1.                  从一个URL,文件或字符串中解析HTML

2.                  使用DOMCSS选择器来查找、取出数据;

3.                  可操作HTML元素、属性、文本;

jsoup是基于MIT协议发布的,可放心使用于商业项目。

示例代码:

File input = new File("/tmp/input.html");

Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/");

 

Element content = doc.getElementById("content");

Elements links = content.getElementsByTag("a");

for (Element link : links) {

  String linkHref = link.attr("href");

  String linkText = link.text();

}

在线Javadochttp://tool.oschina.net/apidocs/apidoc?api=jsoup-1.6.3

来自http://www.oschina.net/

 

2JSoup的Net移植版本 NSoup

NSoupJSoupNet移植版本。使用方法基本一致。

特性:

·               jQuery风格的CSS选择器

·               对不信任的源的HTML进行清理

·               操作HTML文档.

示例代码:

NSoup.Nodes.Document doc = NSoup.NSoupClient.Parse(HtmlString);

 

NSoup.Nodes.Document doc = NSoup.NSoupClient.Connect("http://www.oschina.net/").Get();

 

ebClient webClient = new WebClient();

String HtmlString=Encoding.GetEncoding("utf-8").GetString(webClient.DownloadData("http://www.oschina.net/"));

NSoup.Nodes.Document doc = NSoup.NSoupClient.Parse(HtmlString);

 

WebRequest webRequest=WebRequest.Create("http://www.oschina.net/");

http://www.oschina.net/p/nsoup

下载地址http://nsoup.codeplex.com/releases/view/71785

 

3Html网页正文提取 Html2Article

.NET平台下,一个高效的从Html中提取正文的工具。

正文提取采用了基于文本密度的提取算法,支持从压缩的Html文档中提取正文,每个页面平均提取时间为30ms,正确率到95%以上。

Html2Article有如下特点:

·                    标签无关,提取正文不依赖标签。

·                    支持从压缩的html文档中提取正文内容。

·                    支持带标签输出原始正文。

·                    核心算法简洁高效,平均提取时间在30ms左右。

使用示例:

/// <summary>

///文章正文数据模型

/// </summary>

public class Article

{

    public string Title { get; set; }

    /// <summary>

    ///正文文本

    /// </summary>

    public string Content { get; set; }

    /// <summary>

    ///带标签正文

    /// </summary>

    public string ContentWithTags { get; set; }

    public DateTime PublishDate { get; set; }

}

 

       // html为你要提取的html文本

       string html = "<html>....<html>";

       Article article = Html2Article.GetArticle(html);

http://www.oschina.net/p/html2article

 

4HTML表格提取工具 PHTX

PHTX (Peter's HTML Table eXtractor)是一个小的Unix命令工具用来从HTML文件中抽取表格数据并存放到CSV格式文件。

http://www.oschina.net/p/phtx

 

5HTML文档解析器 HTMLParser

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

示例代码:

 Parser parser = new Parser ("http://whatever");
 NodeList list = parser.parse (null);
 Node node = list.elementAt (0);
 NodeList sublist = node.getChildren ();
 System.out.println (sublist.size ());

Javadoc:http://www.ostools.net/apidocs/apidoc?api=HTMLParser

软件地址:http://www.oschina.net/p/htmlparser

示例C#http://www.cnblogs.com/gaoweipeng/archive/2009/09/02/1558279.html

Javahttp://changfengmingzhi.blog.163.com/blog/static/16710528820137144434343/

htmlparser更好用的html解析工具jsoup。最人性化的地方是,它支持类jquery语法,对,你没看错,是jquery选择器语法

 

 

6HTML分析处理引擎 Jumony

简介

Jumony是一套基于.NET Framework 3.5HTML分析处理引擎,使得可以在C#中方便简单的操纵HTML文档,同时也可以充当Web的页面引擎使用。

目标

·                    Jumony希望在浏览器中可以方便处理的问题,也能在.NET中方便的处理。

·                    Jumony尝试理解HTML文档所要表达的意图,并提供友好的访问接口。

·                    Jumony要能将数据从HTML中剥离,也能置换。

·                    Jumony使得HTML与代码逻辑无缝交互。

子项目

·                    Jumony Dom,提供标准的HTML元素、节点和文档接口。兼容各种HTML Parser,隔离不同版本HTML文档之间的区别,提供高度抽象统一的接口供Jumony其他项目使用。

·                    Jumony Parser,提供简单符合HTML规范的HTML分析器,将HTML字符串分析为标准的文档对象模型(DOM)。

·                    Jumony Query,提供CSS选择器或是其他DOM元素查询语言支持,提供的HTML元素节点检查游历功能。

·                    Jumony Data,将HTML文档拆分成结构和数据两部分,可以抽出、置换、填充HTML文档数据。

·                    Jumony Template,使得可以将HTML文档的局部或全部当作模板使用,使得HTML文档的局部按照一定规则增殖。例如自动伸展一个表格。

·                    Jumony Styles,提供CSS样式分析、设置功能,解决浏览器样式兼容问题,检查样式中可能出现的错误,简化或者规范化CSS样式表述形式。

·                    Jumony Forms,提供HTML表单和输入控件的功能支持,模拟PostBack功能,提供客户端控件在服务器端的代理,使得可以使用服务器端对象一样操纵客户端控件。

http://www.oschina.net/p/jumony

 


TAG:

 

评分:0

我来说两句

日历

« 2024-04-24  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 190153
  • 日志数: 55
  • 图片数: 4
  • 文件数: 3
  • 建立时间: 2010-11-29
  • 更新时间: 2020-12-24

RSS订阅

Open Toolbar