写点什么

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

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

    阅读完需:约 4 分钟

AI 大模型超全落地场景&金融应用实践,8 月 16 - 19 日 FCon x AICon 大会联诀来袭、干货翻倍!

整个 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:004242
用户头像

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

关注

评论

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

就因为把int改成Integer,第2天被辞了

Tom弹架构

Java 架构 设计模式

2017-2020挑选出来最具代表性的(Java,网络相关(1),面试真题解析

android 程序员 移动开发

2019届应届毕业生Android秋招总结,已成功入职网易云音乐

android 程序员 移动开发

2017-2020挑选出来最具代表性的(Java,网络相关,2021年字节跳动74道高级程序员面试

android 程序员 移动开发

01、泛型是什么?,flutterplugin修改

android 程序员 移动开发

16 个好用的 Code Review 工具,绝对干货

android 程序员 移动开发

2019最新中级Android面试题目,有着几篇就够了,androidwifi开发教程下载

android 程序员 移动开发

架构实战营-模块二

Aha hello xzy

架构实战营 「架构实战营」

模块二作业

心怀架构

2020Android面试心得(二),【面试总结】

android 程序员 移动开发

00后已经进入网易,下一步定位阿里,年轻人这么拼,android开发艺术探索电子

android 程序员 移动开发

HW2 - 微信朋友圈高性能复杂度分析

WWH

架构实战营

2020Android开发架构思考及经验总结,深入理解kotlin协程pdf

android 程序员 移动开发

2020Android面经,历时一个半月,斩获3个大厂offer,kotlin语法大全

android 程序员 移动开发

18—19年BAT大厂Android高级多套面试专题整理集合(面试资料专题包分享

android 程序员 移动开发

2020Android大厂面试(五)插件化,字节Android面试必问

android 程序员 移动开发

2020Android大厂高频面试题(字节跳动+阿里,android原生开发技术

android 程序员 移动开发

用脱口秀大会来讲「观察者模式」

悟空聊架构

设计模式 悟空聊架构 11月日更

一点思考

williamcai

车联网 网关

2019,一位Android中级程序员成功跳槽的面经,android屏幕适配和性能优化

android 程序员 移动开发

2020-字节跳动,网易,华为,android开发艺术探索pdf

android 程序员 移动开发

2020Android-目前最稳定和高效的UI适配方案!你头秃都没想到还能这样吧!

android 程序员 移动开发

分析微信朋友圈高性能复杂度

二手攻城师

架构师实战营

架构实战营 - 第三期 - 模块二作业

岚哲

极客时间 架构 架构实战营

2014-2020分享我在Android开发中走的一些弯路,Android开发者必看避坑指南!

android 程序员 移动开发

2018年Android面试题整理,flutter下拉加载

android 程序员 移动开发

2019届应届毕业生Android秋招总结,已成功入职网易云音乐(1)

android 程序员 移动开发

模块二的命题作业

月影之臣

架构实战营

2019年末阿里、百度等大厂技术面试题汇总(附答案,实战篇

android 程序员 移动开发

架构训练营-模块三

Geek_9de3de

架构实战营

2019-年赚钱最多的-13-个技术岗位,轻松入门flutter

android 程序员 移动开发

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