WebCollector 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
WebCollector 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
WebCollector 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 GPL
开发语言 Java 查看源码 »
操作系统 跨平台
软件类型 开源软件
所属分类 应用工具网络爬虫
开源组织
地区 国产
投 递 者 CrawlScript
适用人群 未知
收录时间 2014-07-20

软件简介

爬虫简介:

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

内核构架图:

WebCollector 2.x 版本特性

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

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

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

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

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

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

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

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

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

WebCollector 2.x 官网和镜像:

WebCollector 2.x教程:

WebCollector配置

WebCollector入门

WebCollector特色功能

WebCollector持久化

WebCollector高级爬虫定制

WebCollector处理Javascript

WebCollector示例

网页正文提取:

网页正文提取项目 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%

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

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

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(41)
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
41 评论
1.7K 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部