写点什么

雅虎开源语义数据 Web 爬虫:Anthelion

  • 2015-12-25
  • 本文字数:1096 字

    阅读完需:约 4 分钟

整个 Web 世界正在发生剧烈的转变,包含语义注解的 Web 页面让数据的提取和重用变得越来越容易,而为了提供更好的用户体验搜索引擎和社交媒体网站对这种数据的使用也越来越多。要获取这些数据离不开网络爬虫的支持,为此,Yahoo 创建了 Anthelion 项目,一个旨在爬取语义数据的 Nutch 插件,最近,该项目已在 GitHub 上开源

Anthelion 是为了更好地爬取嵌在 HTML 页面中的结构化数据而设计的,它采用了一种全新的方法来爬取含有丰富数据的页面上的内容:将线上学习和 Bandit 探索方法有效地结合起来,根据页面上下文以及从之前页面提取到的元数据反馈预测 Web 页面的数据丰富程度。 这种方法明显优于主题爬取(Focused Crawling)目前所采用的其他技术,极大地提升了爬取效率。

整个数据爬取的流程如下:

正如上面的流程图所展示的,为了执行主题爬取,该插件实现了三个扩展:

  1. AnthelionScoringFilter(实现了 ScoringFilter 接口):在线分类器,它对每一个外链打分,同时将新发现的外链分为相关的和不相关的两类。
  2. WdcParser(实现了 Parser 接口):解析 Web 页面内容并提取语义数据。该扩展基于 any23 类库实现,能够从 HTML 中提取 Microdata、Microformats 和 RDFa 注解。
  3. TripleExtractor(实现了 IndexingFilter 接口):将新域存储到索引中供之后的查询使用。

对于想亲身感受 Anthelion 的用户而言,直接从GitHub 上下载整个项目包或许是一个不错的选择,因为它包含了完整的Nutch 1.6 代码和相关插件,不需要任何修改和设置就能运行。如果只想下载插件,那么需要从文件的根目录下下载 nutch-anth.zip 并进行相关的设置。

在构建好项目之后,导航到\target 文件夹,执行 CCFakeCrawler 类的 main 函数就能启动爬虫,例如:

java -Xmx15G -cp ant.jar com.yahoo.research.robme.anthelion.simulation.CCFakeCrawler [indexfile] [networkfile] [labelfile] [propertiesfile] [resultlogfile]其中,indexfile 是 ID 和 URL 之间的映射文件,networkfile 是索引中 ID 的图,labelfile 是满足目标函数的 ID 列表,propertiesfile 是配置文件,resultlogfile 存储性能和爬取流程信息。

Anthelion 支持 init、start、stop 和 exit 操作,在爬取的过程中,用户还可以通过 status 命令查看爬取进程的状态。另外,对于 Anthelion 爬取数据的精确度 Yahoo 也进行了评测,结果如下:


感谢魏星对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群(已满),InfoQ 读者交流群(#2))。

2015-12-25 18:004771
用户头像

发布了 321 篇内容, 共 132.7 次阅读, 收获喜欢 19 次。

关注

评论

发布
暂无评论
发现更多内容

万字带你熟悉静态分析工具的评估测试

华为云开发者联盟

后端 软件开发 华为云 华为云开发者联盟

淘宝店铺所有商品数据接口(Taobao.item_search_shop)

tbapi

淘宝API接口 淘宝店铺所有商品数据接口 淘宝商品数据接口 淘宝整站商品数据接口 淘宝店铺商品接口

记一次kubernetes获取internal Ip错误流程

华为云开发者联盟

后端 开发 华为云 华为云开发者联盟

敏捷:应对软件定义汽车时代的开发模式变革

DevOps和数字孪生

软件定义汽车

得物大模型平台,业务效果提升实践

得物技术

算法 技术保障

获得JD商品评论 API 如何实现实时数据获取

Noah

抢占式批任务分配设计

如何使用凹凸贴图和位移贴图制作逼真的模型

3D建模设计

WebGL 3D渲染 three.js 材质编辑 材质纹理贴图

深度探讨全链路测试:定义、特点及与其他测试方法的对比

Apifox

测试 单元测试 自动化测试 全链路测试 测试工具

人工智能的局限性与期望管理:理解’人工智障’的瞬间

人工智能

IntelliJ IDEA 数据访问工具配置 Caché/M 数据库系统

HoneyMoose

WAVE SUMMIT+ 2023:AI开发者之夜,共赴科技最前沿的酷炫派对!

飞桨PaddlePaddle

人工智能 深度学习 开发者 WAVE SUMMIT

GLB模型的热门行业用例

3D建模设计

WebGL 3D渲染 three.js 材质编辑 材质纹理贴图

探索在线教育流量从小程序中挖掘

Onegun

小程序 在线教育 在线学习

每日一题:LeetCode-128. 最长连续序列

Geek_4z9ami

Go 面试 算法 数组 LeetCode

BRC-20铭文代币合约质押挖矿系统开发

l8l259l3365

华为、海信、TCL、CEC等龙头企业齐聚“2024深圳电子展会”

AIOTE智博会

电子展 深圳电子展 电子信息展 电博会

开卷有益,思想有力:华为阅读发布2023年度榜单

最新动态

如何思考软件工程师与AI的共存发展

Onegun

AI 工程师 AI编程

Windows 平台下如何安装与配置 MySQL 5.7.36

小魏写代码

倒计时1天!WAVE SUMMIT+ 2023将开启,五大亮点抢鲜看!

飞桨PaddlePaddle

人工智能 深度学习 开发者 WAVE SUMMIT

数据库内核那些事|PolarDB HTAP Serverless:打造经济易用的实时分析系统

阿里云瑶池数据库

数据库 阿里云 Serverless 云原生

3D换肤在服装行业的应用

3D建模设计

WebGL 3D渲染 three.js 材质编辑 材质纹理贴图

软件测试/测试开发丨应该如何设计测试方案

测试人

软件测试 测试开发

雅虎开源语义数据Web爬虫:Anthelion_语言 & 开发_孙镜涛_InfoQ精选文章