当前位置:  软件>java软件

HTML 解析/提取器 woody

    来源:    发布时间:2015-01-04

    本文导语:  woody 是一款 Java 的HTML 解析/提取器,用法非常类似 webmagic, 是对其抽取模块完全重写,之所有单独提取出来是因为为来更好可重用。 一些新功能: 多种结果数据类型(String, char, byte, short int, long, double, float, string[], Se...

woody 是一款 Java 的HTML 解析/提取器,用法非常类似 webmagic, 是对其抽取模块完全重写,之所有单独提取出来是因为为来更好可重用。

HTML 解析/提取器 woody[图片]

一些新功能:

  • 多种结果数据类型(String, char, byte, short int, long, double, float, string[], Set, List,Data)
  • 支持用户之定义脚本处理函数(目前支持Javascript 函数配置处理)
  • 支持css,xpath内核替换
  • 支持filter功能
  • 对css,xpath 内核对象的缓存

一个完整的例子:

public class OsChinaBlog {

	public static void main(String[] args) throws Exception {
		Document doc = Jsoup.connect("http://www.oschina.net/news/43879/webmagic-0-3-0").timeout(60000)
				.userAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:23.0) Gecko/20100101 Firefox/23.0").get();
		String html = doc.html();
		OsChinaBlogModel model = AnnotationExtractor.me().process(html, OsChinaBlogModel.class);
		System.out.println(model.toJson());
	}

	public static class OsChinaBlogModel extends Model {

		public OsChinaBlogModel() {
			//use to reflect
		}

		@Inject
		@ComboExtract(value = { @ExtractBy(value = "h1.OSCTitle", type = ExprType.CSS),
				@ExtractBy(value = "//title/text()", type = ExprType.XPATH) }, op = OP.OR)
		public String title;

		@Inject
		@ExtractBy(value = "div.PubDate a[href~=http://my\.oschina\.net/]", type = ExprType.CSS)
		public String author;

		@Inject
		@ExtractBy(value = "发布于.\s*(\d+年\d+月\d+日)", type = ExprType.REGEX)
		public Date publishDate;

		@Inject
		@ComboExtract(value = {
				@ExtractBy(value = "div.PubDate", type = ExprType.CSS, setting = @Setting(outerHtml = true)),
				@ExtractBy(value = "(\d+)评", type = ExprType.REGEX) }, op = OP.AND)
		public int commentNum;

		@Inject
		@ExtractBy(value = "span#p_favor_count", type = ExprType.CSS, setting = @Setting(function = @Function(value = "replace", args = {
				"+", "" })))
		public int collectNum;

		@Inject
		@ComboExtract(value = {
				@ExtractBy(value = "div[id=userComments]", type = ExprType.CSS, setting = @Setting(outerHtml = true)),
				@ExtractBy(value = "div.TextContent", type = ExprType.CSS) }, op = OP.AND, multi = true)
		public List commentContents;

		@Inject
		@ExtractBy(value = "div[id=toolbar_wrapper]", setting = @Setting(fliters = { "b", "span" }), type = ExprType.CSS, impl = Document.class)
		public String weibo;

	}
}

    
 
 

您可能感兴趣的文章:

  • HTML表格提取工具 PHTX
  • 怎样提取出html文件中的IMG?
  • 提取html中文字 C#自定义函数
  • 提取HTML代码中文字的C#函数
  • 使用python提取html文件中的特定数据的实现代码
  • 基于Python的Html/xml解析库Beautiful Soup 4.2.1发布
  • 如何用libxml2 默认解析器解析HTML文件
  • html中<radio>单选按钮控件标签用法解析及如何设置默认选中
  • linux中html解析,需要哪些知识
  • 基于Python的html解析库:pyquery最新版主页及pyquery下载
  • Java的HTML解析器 Jerry
  • Python下Html/xml解析库Beautiful Soup快速入门教程
  • HTML解析器 JoyHTML
  • html中<checkbox>标签用法解析及如何设置checkbox复选框的默认选中状态
  • HTML 解析类库 MozillaParser
  • html中<select>标签用法解析及如何设置select的默认选中状态
  • Html文档解析器 JTidy
  • HTML解析器 CyberNeko
  • Java的HTML解析包 jScraper
  • Html文档解析器 HtmlCleaner
  • 有什么java包可以支持解析html的。
  • HTML解析器 VietSpider
  • HTML文档解析器 HTMLParser
  • C语言的HTML解析库 libhtml
  • Java的HTML解析库 gohtml
  • HTML解析器 TagSoup
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.swing.text.html类html.tag的类成员方法: html定义及介绍
  • 基于HTML5的幻灯片 html5slides
  • java命名空间javax.swing.text.html类html.tag的类成员方法: html.tag定义及介绍
  • 基于 KBEngine 的 HTML5 插件 kbengine_html5
  • java命名空间javax.swing.text.html类html.unknowntag的类成员方法: html.unknowntag定义及介绍
  • 让 IE 支持 HTML5 html5shim
  • java命名空间javax.swing.text.html类htmleditorkit.inserthtmltextaction的类成员方法: html定义及介绍
  • HTML文档格式化工具 HTML Tidy
  • java命名空间javax.swing.text.html类html的类成员方法: getallattributekeys定义及介绍
  • HTML5 在线工具 html5demos
  • java命名空间javax.swing.text.html.parser类dtd的类成员方法: html定义及介绍
  • 网络技术 iis7站长之家
  • java命名空间javax.swing.text.html类html.tag的类成员方法: comment定义及介绍
  • Sar数据转HTML Sar2html
  • java命名空间javax.swing.text.html类html.attribute的类成员方法: color定义及介绍
  • 关于editplus的使用,编译完生成.class后,我又编写了html来执行applet,将其保存,如何经ie解释打开(直接在editplus上操作)不是显示html语言呀
  • java命名空间javax.swing.text.html类html.attribute的类成员方法: vlink定义及介绍
  • 去除HTML标签删除HTML示例代码
  • java命名空间javax.swing.text.html类html.attribute的类成员方法: rel定义及介绍
  • python实现html转ubb代码(html2ubb)
  • java命名空间javax.swing.text.html类html.attribute的类成员方法: src定义及介绍
  • asp.net去除HTML标签删除HTML小例子


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3