JAVA爬虫 WebCollector

爬虫简介:

WebCollector是一个无须配置、便于二次开发的JAVA爬虫框架(内核),它提供精简的的API,只需少量代码即可实现一个功能强大的爬虫。WebCollector-Hadoop是WebCollector的Hadoop版本,支持分布式爬取。

爬虫内核:

WebCollector致力于维护一个稳定、可扩的爬虫内核,便于开发者进行灵活的二次开发。内核具有很强的扩展性,用户可以在内核基础上开发自己想要的爬虫。源码中集成了Jsoup,可进行精准的网页解析。2.x版本中集成了selenium,可以处理javascript生成的数据。

内核构架图:



网页正文提取:

网页正文提取项目ContentExtractor已并入WebCollector维护。
WebCollector的正文抽取API都被封装为ContentExtractor类的静态方法。 可以抽取结构化新闻,也可以只抽取网页的正文(或正文所在Element)。
正文抽取效果指标 :

  • 比赛数据集CleanEval P=93.79% R=86.02% F=86.72%
  • 常见新闻网站数据集 P=97.87% R=94.26% F=95.33%
  • 算法无视语种,适用于各种语种的网页

标题抽取和日期抽取使用简单启发式算法,并没有像正文抽取算法一样在标准数据集上测试,算法仍在更新中。


2.x:

WebCollector 2.x版本特性:

  • 1)自定义遍历策略,可完成更为复杂的遍历业务,例如分页、AJAX
  • 2)可以为每个URL设置附加信息(MetaData),利用附加信息可以完成很多复杂业务,例如深度获取、锚文本获取、引用页面获取、POST参数传递、增量更新等。
  • 3)使用插件机制,WebCollector内置两套插件。
  • 4)内置一套基于内存的插件(RamCrawler),不依赖文件系统或数据库,适合一次性爬取,例如实时爬取搜索引擎。
  • 5)内置一套基于Berkeley DB(BreadthCrawler)的插件:适合处理长期和大量级的任务,并具有断点爬取功能,不会因为宕机、关闭导致数据丢失。
  • 6)集成selenium,可以对javascript生成信息进行抽取
  • 7)可轻松自定义http请求,并内置多代理随机切换功能。 可通过定义http请求实现模拟登录。
  • 8)使用slf4j作为日志门面,可对接多种日志

WebCollector-Hadoop:

WebCollector-Hadoop是WebCollector的分布式版本,目前为beta版本

Lazy:

Lazy是基于WebCollector的一个懒人版爬虫,可以通过配置采集网页持久化到mongodb中。 
Lazy目前版本为beta版,教程可参考 Lazy爬虫配置教程

WebCollector 2.x官网和镜像:


WebCollector 2.x教程:


通过捐款支持WebCollector

维护WebCollector及教程需要花费较大的时间和精力,如果你喜欢WebCollector的话,欢迎通过捐款的方式,支持开发者的工作,非常感谢!

你可以使用支付宝钱包扫描下方的二维码进行捐款, 或者通过向支付宝帐号hujunxianligong@126.com转帐进行捐款。

开源社区地址:http://www.oschina.net/p/webcollector

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值