当前位置: 首页 > 软件库 > Web应用开发 > HTML解析器 >

Xsoup

HTML抽取器
授权协议 MIT
开发语言 Java
所属分类 Web应用开发、 HTML解析器
软件类型 开源软件
地区 国产
投 递 者 薛欣荣
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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);
}

  • 从Xpath说起 什么是Xpath XPath是W3C的一个标准。它最主要的目的是为了在XML1.0或XML1.1文档节点树中定位节点所设计。 XPath是一种表达式语言,它的返回值可能是节点,节点集合,原子值,以及节点和原子值的混合等。 语法 选取结点 表达式 描述 / 从根节点选取 // 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。 . 选取当前结点 .. 选取当前节点的父结点

  • 引入包 us.codecraft webmagic-core 0.5.3 案例: package com.example.power_spider.test; import org.apache.http.HttpEntity; import org.apache.http.HttpStatus; import org.apache.http.client.ClientProtocolExcept

 相关资料
  • 1 介绍   词频-逆文档频率法(Term frequency-inverse document frequency,TF-IDF)是在文本挖掘中广泛使用的特征向量化方法。 它反映语料中词对文档的重要程度。假设用t表示词,d表示文档,D表示语料。词频TF(t,d)表示词t在文档d中出现的次数。文档频率DF(t,D)表示语料中出现词t的文档的个数。 如果我们仅仅用词频去衡量重要程度,这很容易过分强调

  • 我正在做的一项任务遇到了麻烦。提示如下: 创建一个DigitExtractor应用程序,提示用户输入一个整数(范围:0-999 ),然后显示数字的一位、十位或百位。用户将从菜单中选择他们希望显示的数字。 这个程序需要作为一个类来编写。菜单将是您与该类一起提交的驱动程序,以便您的讲师可以使用它来测试该类。 这是我的代码: 我想我已经基本掌握了,但每次测试都会遇到问题。当我输入一个数字,比如987,然

  •   CountVectorizer和CountVectorizerModel的目的是帮助我们将文本文档集转换为词频(token counts)向量。 当事先没有可用的词典时,CountVectorizer可以被当做一个Estimator去抽取词汇,并且生成CountVectorizerModel。 这个模型通过词汇集为文档生成一个稀疏的表示,这个表示可以作为其它算法的输入,比如LDA。   在训练

  •   Word2Vector将词转换成分布式向量。分布式表示的主要优势是相似的词在向量空间距离较近,这使我们更容易泛化新的模式并且使模型估计更加健壮。 分布式的向量表示在许多自然语言处理应用(如命名实体识别、消歧、词法分析、机器翻译)中非常有用。 1 模型   在MLlib中,Word2Vector使用skip-gram模型来实现。skip-gram的训练目标是学习词向量表示,这个表示可以很好的预测

  • 本文向大家介绍随机抽取的sql语句 每班任意抽取3名学生,包括了随机抽取的sql语句 每班任意抽取3名学生的使用技巧和注意事项,需要的朋友参考一下 学校有一、二、三。。。。至十班。 假设每个班上有30名学生。张、李、刘、苏等 现有这样的表 student ,字段 class 及name 。其中class 表示班级,name 表示每班学生姓名。 要求每班任意抽取3名学生出来,进行学校大扫除。 请写出

  • 编写一个方法提取tOddDigits(),从正数n中提取奇数,并将奇数顺序组合成一个新数字。新数字返回给调用方法。如果输入数字n不包含任何奇数,则返回-1。例如,如果n=1234567,则返回1357;如果n=28,则返回-1。 测试用例: 预期产出: 这是我所做的方法,但输出是 最后的输出应该是错误输入! 如何检查n是否为负数,然后转到错误输入?

  • 5.3 使用ExtractBy进行抽取 @ExtractBy是一个用于抽取元素的注解,它描述了一种抽取规则。 5.3.1 初识ExtractBy注解 @ExtractBy注解主要作用于字段,它表示“使用这个抽取规则,将抽取到的结果保存到这个字段中”。例如: @ExtractBy("//div[@id='readme']/text()") private String readme; 这里"//d

  • 4.2 使用Selectable抽取元素 Selectable相关的抽取元素链式API是WebMagic的一个核心功能。使用Selectable接口,你可以直接完成页面元素的链式抽取,也无需去关心抽取的细节。 在刚才的例子中可以看到,page.getHtml()返回的是一个Html对象,它实现了Selectable接口。这个接口包含一些重要的方法,我将它分为两类:抽取部分和获取结果部分。 4.2.