HTML抽取器 Xsoup

MIT
Java
跨平台
2013-09-01
黄亿华

Xsoup是基于Jsoup开发的HTML抽取器,提供了XPath支持。

相比另一个常用的基于XPath的HTML抽取器HtmlCleaner,Xsoup有较大的性能优势,解析时间和抽取时间都只有HtmlCleaner的一半。同时Xsoup提供全面的XPath解析错误提示。

示例代码:

@Test
public void testSelect() {
	String html = "<html><div><a href='https://github.com'>github.com</a></div></html>";

	Document document = Jsoup.parse(html);

	String result = Xsoup.select(document, "//a/@href").get();
	Assert.assertEquals("https://github.com", result);

	result = Xsoup.compile("//a/@href").evaluate(document).get();
	Assert.assertEquals("https://github.com", result);
}

加载中

评论(5)

sjack
sjack
干得漂亮
黄亿华
黄亿华 软件作者
闭关了两个星期,读完了jsoup源码,也读了部分HtmlCleaner源码,不得不说后者的设计(包括性能)还是稍微弱一点。基于Jsoup改了一个Xsoup,同样支持XPath,等到稳定后整合到咱的webmagic里去13
黄亿华
黄亿华 软件作者
webmagic文档已更新到0.3.2版本,加入了Xsoup和类型转换机制的说明 https://github.com/code4craft/webmagic/blob/master/user-manual.md
黄亿华
黄亿华 软件作者
Xsoup加入了XPath语法的逻辑运算符and or的支持,并可以括号指定优先级,例如://div[@class=a or class=b]。这下子webmagic又能方便不少。表达式求值用的是栈,话说终于觉得算法知识有点用了…
黄亿华
黄亿华 软件作者
Xsoup 又加入了'|'的支持,例如"//book/title | //book/price"。0.2.0进入发布倒计时!这下子webmagic又能强大不少。 https://github.com/code4craft/xsoup/issues/6

Xsoup 0.2.0 发布,HTML 抽取器

Xsoup 是一款基于 Jsoup 开发的,使用XPath抽取Html元素的工具。它被用于作者的爬虫框架 WebMagic 中,进行XPath 解析和抽取。 此次更新主要增加了一些XPath语法的支持。 增加contains支持 ...

2014/03/11 13:38

没有更多内容

加载失败,请刷新页面

没有更多内容

1
回答
xsoup的xpath抽取数据问题

@黄亿华 你好,想跟你请教个问题: xpath 抽取数据时,发现很多网站xpath不稳定(是否有数据都影响xpath结构)。这个让我很郁闷。 我思考应该可...

2013/10/17 20:02
1
回答
关于xsoup的一个问题
黄亿华 的回答 2013/10/14 22:43
最佳答案
感谢反馈!确实存在这个问题,之前没有考虑到这个场景,我会在下个版本提供这个方法。https://github.com/code4craft/xsoup/issues/1 设计xsoup其实是为了我的爬虫项目webmagic提供一个强大的可配置的抽取语言,所以xsoup的设计理念就是“用xpat...
1
回答
xpath获取的内容有差异

@黄亿华 黄大,求解释: @Test public void testSelect() { String html = "<html><div><...

2013/09/06 14:51

没有更多内容

加载失败,请刷新页面

没有更多内容

想要在webmagic中自定义一门爬虫语言

早在开始开发webmagic之前,就一直在思考,如何让爬虫的描述变得简单? 单条表达式描述一个抽取规则的诱惑是相当大的,这样子注解、配置、动态生成,都非常容易展开了。有个朋友做过一个管理...

2013/09/04 15:17
872
3
WebMagic-使用入门

原文出自:http://webmagic.io/docs/zh 访问经常出错,于是把文档转到自己博客里 基本的爬虫 在WebMagic里,实现一个基本的爬虫只需要编写一个类,实现PageProcessor接口即可。这个类基本上包...

2016/04/09 10:02
130
2
WebMagic的设计思想

### 1.1 WebMagic的设计思想 本文是WebMagic文档的一部分。系列文章写完后,会整合到[WebMagic新版文档](http://code4craft.github.io/webmagic-in-action/)中。 ![logo](https://raw.github...

2014/04/09 18:41
2.4K
2
大白痴学习webmagic

webmagic 学习 从头

2014/03/28 00:43
22.8K
2
WebMagic-介绍

原文出自:http://webmagic.io/docs/zh 访问经常出错,于是把文档转到自己博客里 WebMagic概览 1.1 WebMagic的设计思想 一个框架,一个领域 一个好的框架必然凝聚了领域知识。WebMagic的设计...

2016/04/09 10:02
34
1
freemarker源码解读之一--概述

最近在思考为如何xsoup添加自定义函数支持,基于这个目的,想起了最常用的模板引擎freemarker。于是down了源码下来,开始浏览一番。本文基于[https://github.com/freemarker/freemarker](ht...

2013/09/11 22:51
5.1K
1
webmagic使用手册

新版文档地址[http://webmagic.io/docs/](http://webmagic.io/docs/),此手册已不再更新。

2013/12/01 20:54
20.1K
15
使用注解编写WebMagic爬虫

原文出自:http://webmagic.io/docs/zh 访问经常出错,于是把文档转到自己博客里 WebMagic支持使用独有的注解风格编写一个爬虫,引入webmagic-extension包即可使用此功能。 在注解模式下,使...

2016/04/09 10:02
81
1
爬虫入门(WebMagic Scrapy )

爬虫架构 WebMagic的四个组件 1.Downloader Downloader负责从互联网上下载页面,以便后续处理。WebMagic默认使用了Apache HttpClient作为下载工具。 2.PageProcessor PageProcessor负责解析页...

07/01 14:15
4
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部