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

GPL
Java 查看源码»
跨平台
2014-07-20
CrawlScript

爬虫简介:

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%

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

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

的码云指数为
超过 的项目
加载中

评论(38)

q
qweqwe_1000
发现一个很好用的验证码识别平台,识别各类验证码,英数,极验等都可以识别 打码狗: http://www.damagou.top
HaierBrother
HaierBrother
可以抓取视频吗
日光sunny
日光sunny
iSeesai
iSeesai
谁有这个的api或者详细一点的学习文档。
专业酱油党
专业酱油党
有模拟登录的,带验证码的
ted123
ted123
教程列表打不开..
数据抓取
数据抓取
寻找一个小团队做新闻客户端数据抓取,感兴趣可微信联系zx_wander
我的猪呢
我的猪呢
没有API嘛?
L
LidyLi
我想问这个的hadoop版本还存在吗
微笑似年华
微笑似年华
hadoop版本不支持了么?

暂无资讯

2
回答
这个加载失败是什么问题呢

官方手动探测例子报异常: Exception in thread "main" java.lang.ExceptionInInitializerError...

08/06 15:37
1
回答
webcollector在linux运行环境下找不到依赖
我自横刀微笑 的回答 2018/03/12 10:59
最佳答案
解决了 这个问题是程序没有权限创建 crawl文件夹 然后就会报错
2
回答
爬取小说的内容有乱码问题

请问一下,我用webcollector爬取网络小说的内容总是有“???”,怎么解决? 爬取出来的小说内容

2016/02/06 19:29
3
回答
WebCollector中是不是1.x版本使用BreadthCrawler,2.x版本使用DeepCrawler呢?

@CrawlScript 你好,想跟你请教个问题: WebCollector中是不是1.x版本使用BreadthCrawler,2.x版本使用DeepCr...

2015/03/17 14:08
2
回答
死循环了,这是怎么回事,如图

@CrawlScript 你好,想跟你请教个问题: 一直这样不停的循环,是怎么回事? 有的时候运行很好,有时就会这样

2016/03/22 21:31
3
回答
正文提取 getHtmlByCharsetDetect() gb2312 中文编码的时候 生僻字 或者繁体字 乱码

http://www.baizhan.net/zt/20120426/10039.html 生僻字或者繁体字 乱码 请问怎么解决?

2015/12/30 14:58
1
回答
使用自定义http抓取页面后如何获取页面的绝对路径URL呢?

@CrawlScript 你好,想跟你请教个问题: 比如在抓取百度百科时,种子URL使用的链接为baike.baidu.com/search/word?w...

2016/02/24 09:16
2
回答
请求超时时间如何设置?

请问怎么设置请求的超时时间?

2015/01/28 12:52
1
回答
请问怎么设置线程休眠时间?

@CrawlScript 你好,想跟你请教个问题: 我项目需要第一次接触爬虫,请问WebCollector在哪里设置线程的休眠时间呢?

2014/12/30 09:14
1
回答
请问还有更多的例子和文档吗?

感谢作者 WebCollctor很棒,功能强大,参数控制恰到好处 第一次做相关项目,直接上手难度不大,可以找到1.3版本的类库介绍,2.0的文档在哪里? ...

2014/12/30 08:34

没有更多内容

加载失败,请刷新页面

webcollector

WebCollector 是一个无须配置、便于二次开发的 JAVA 爬虫框架(内核),提供精简的的 API,只需少量代码即可实现一个功能强大的爬虫。 源码中集成了 Jsoup,可进行精准的网页解析,2.x 版本中...

08/06 14:25
11
0
JAVA爬虫-区块链快讯爬虫实践

题图: Stan Lee playing Spider-Man on Atari 2600, 1982. 需求: 需要将目标的几个站点的快讯内容做定时爬取,并根据内容做重复过滤。 技术评审: 站点的内容抓取刚开始是想用python,但在...

2018/07/05 18:07
223
0
网络爬虫(2)-- Java爬虫框架

Nutch Nutch属于分布式爬虫,爬虫使用分布式,主要是解决两个问题:1)海量URL管理;2)网速。如果要做搜索引擎,Nutch1.x是一个非常好的选择。Nutch1.x和solr或者es配合,就可以构成一套非常强...

2017/04/27 16:01
226
0
java后端系统架构,解决方案合集

前言碎语 本文主要记录了博主从业以来在系统架构及相关解决方案方面的选型项目,会不定期更新,同时也欢迎大家补充 缓存框架: spring cache:http://spring.io/guides/gs/caching/ jetcach...

2018/05/02 19:33
852
0
开发网络爬虫应该怎样选择爬虫框架

有些人问,开发网络爬虫应该选择Nutch、Crawler4j、WebMagic、scrapy、WebCollector还是其他的?这里按照我的经验随便扯淡一下: 上面说的爬虫,基本可以分3类: 1.分布式爬虫:Nutch 2.JAVA单...

2015/11/12 16:17
116
0
开发网络爬虫应该怎样选择爬虫框架?

有些人问,开发网络爬虫应该选择Nutch、Crawler4j、WebMagic、scrapy、WebCollector还是其他的?这里按照我的经验随便扯淡一下: 上面说的爬虫,基本可以分3类: 1.分布式爬虫:Nutch 2.JAV...

2015/11/03 20:11
369
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部