WebCollector 基于 Java 的开源网络爬虫框架开源项目

我要开发同款
匿名用户2014年07月20日
22阅读
开发技术Java
所属分类应用工具、网络爬虫
授权协议GPL

作品详情

爬虫简介:

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

目前WebCollector-Python项目已在Github上开源,欢迎各位前来贡献代码:https://github.com/CrawlScript/WebCollector-Python

爬虫内核:

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

Maven:

最新Maven地址请参考文档:https://github.com/CrawlScript/WebCollector/blob/master/README.md

文档地址:

https://github.com/CrawlScript/WebCollector/blob/master/README.md

内核构架图:

WebCollector2.x版本特性:

自定义遍历策略,可完成更为复杂的遍历业务,例如分页、AJAX

可以为每个URL设置附加信息(MetaData),利用附加信息可以完成很多复杂业务,例如深度获取、锚文本获取、引用页面获取、POST参数传递、增量更新等。

使用插件机制,用户可定制自己的Http请求、过滤器、执行器等插件。

内置一套基于内存的插件(RamCrawler),不依赖文件系统或数据库,适合一次性爬取,例如实时爬取搜索引擎。

内置一套基于BerkeleyDB(BreadthCrawler)的插件:适合处理长期和大量级的任务,并具有断点爬取功能,不会因为宕机、关闭导致数据丢失。

集成selenium,可以对JavaScript生成信息进行抽取

可轻松自定义http请求,并内置多代理随机切换功能。可通过定义http请求实现模拟登录。

使用slf4j作为日志门面,可对接多种日志

使用类似Hadoop的Configuration机制,可为每个爬虫定制配置信息。

WebCollector2.x官网和镜像:

官网:https://github.com/CrawlScript/WebCollector

WebCollector2.x教程:WebCollector配置WebCollector配置教程WebCollector入门WebCollector简单入门教程WebCollector特色功能【推荐】WebCollector教程——MetaData【推荐】WebCollector教程——MatchUrl和MatchTypeWebCollector教程——去重辅助插件NextFilterWebCollector教程——断点爬取WebCollector教程——网页正文自动提取WebCollector持久化WebCollector教程——使用SpringJDBC持久化数据WebCollector高级爬虫定制WebCollector2.72自定义Http请求插件(定制User-Agent和Cookie等请求头)WebCollector2.72处理301/302重定向、404NotFound等Http状态WebCollector2.72使用阿布云代理WebCollector处理JavascriptWebCollector教程——爬取Javascript加载的数据WebCollector示例WebCollector教程——爬取CSDN博客WebCollector教程——爬取搜索引擎WebCollector教程——爬取新浪微博WebCollector教程——爬取微信公众号WebCollector教程——图片爬取WebCollector教程——获取当前抓取深度网页正文提取:

网页正文提取项目ContentExtractor已并入WebCollector维护。

WebCollector的正文抽取API都被封装为ContentExtractor类的静态方法。可以抽取结构化新闻,也可以只抽取网页的正文(或正文所在Element)。

正文抽取效果指标:

比赛数据集CleanEvalP=93.79%R=86.02%F=86.72%

常见新闻网站数据集P=97.87%R=94.26%F=95.33%

算法无视语种,适用于各种语种的网页

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

查看全文
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论