jsoup是一款Java的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于JQuery的操作方法来取出和操作数据。
jsoup的主要功能如下:
1. 从一个URL,文件或字符串中解析HTML;
2. 使用DOM或CSS选择器来查找、取出数据;
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();
}
在线Javadoc:http://tool.oschina.net/apidocs/apidoc?api=jsoup-1.6.3
来自http://www.oschina.net/
NSoup是JSoup的Net移植版本。使用方法基本一致。
特性:
· 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://nsoup.codeplex.com/releases/view/71785
.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
PHTX (Peter's HTML Table eXtractor)是一个小的Unix命令工具用来从HTML文件中抽取表格数据并存放到CSV格式文件。
http://www.oschina.net/p/phtx
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
Java:http://changfengmingzhi.blog.163.com/blog/static/16710528820137144434343/
比htmlparser更好用的html解析工具jsoup。最人性化的地方是,它支持类jquery语法,对,你没看错,是jquery选择器语法
简介
Jumony是一套基于.NET Framework 3.5的HTML分析处理引擎,使得可以在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