WebCollector 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
WebCollector 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
WebCollector 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
WebCollector 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
WebCollector 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !

软件简介

爬虫简介:

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)

加载中
您好,请问有模拟登陆和模拟JS的吗?有详细教程吗?
2020/06/24 11:50
回复
举报
这有一个与爬虫相关的活动,大神们可以了解一下! https://jinshuju.net/f/ivkDfF 奖金 30000 多呢!
2020/06/24 11:33
回复
举报
学有所用,学了爬虫就要用的上!
2020/06/24 11:38
回复
举报
可以抓取视频吗
2018/06/20 16:29
回复
举报
打分: 力荐
2018/01/27 20:00
回复
举报
打分: 力荐
谁有这个的api或者详细一点的学习文档。
2018/01/09 17:15
回复
举报
有模拟登录的,带验证码的
2018/01/02 16:24
回复
举报
打分: 推荐
教程列表打不开..
2017/12/25 17:12
回复
举报
寻找一个小团队做新闻客户端数据抓取,感兴趣可微信联系zx_wander
2017/05/14 16:15
回复
举报
没有API嘛?
2017/05/12 15:24
回复
举报
我想问这个的hadoop版本还存在吗
2017/05/10 07:47
回复
举报
更多评论
暂无内容
发表了博客
2018/11/17 10:38

webCollector入门

https://www.jianshu.com/p/700e01a938ce 跟随入门教程 https://blog.csdn.net/AJAXHu/article/details/38406687 官方教程 https://github.com/CrawlScript/WebCollector 微博爬取api https://gitee.com/webcollector 本文同步分享在 博客“不存在的里皮”(JianShu)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。...

0
0
发表于开发技能专区
2019/08/06 14:25

webcollector爬虫框架

WebCollector 是一个无须配置、便于二次开发的 JAVA 爬虫框架(内核),提供精简的的 API,只需少量代码即可实现一个功能强大的爬虫。 源码中集成了 Jsoup,可进行精准的网页解析,2.x 版本中集成了 selenium,可以处理 JavaScript 生成的数据。 WebCollector-Hadoop 是 WebCollector 的 Hadoop 版本,支持分布式爬取。 Github 上项目托管地址:https://github.com/CrawlScript/WebCollector GitEE 上开源地址:http://git.osch...

0
0
发表了博客
2018/08/05 17:22

maven webcollector java.lang.ClassNotFoundException: org.openqa.selenium.remote.SessionNotFoundEx...

使用webcollector时出现了如下异常 分析是依赖的问题,不仅要添加selenium-java,还要添加htmlunit-driver的依赖,注意不要添加成selenium-htmlunit-driver 1      <!-- selenium --> 2 <dependency> 3 <groupId>org.seleniumhq.selenium</groupId> 4 <artifactId>selenium-java</artifactId> 5 <version>${selenium.version}</version> 6 </dependency> 7 ...

0
0
发表了博客
2018/09/08 22:01

webcollector + selenium 爬取空间相册图片

1 package cn.hb.util; 2 3 import java.io.File; 4 import java.io.FileNotFoundException; 5 import java.io.FileWriter; 6 import java.io.IOException; 7 import java.util.ArrayList; 8 import java.util.List; 9 import java.util.Set; 10 import java.util.UUID; 11 import java.util.concurrent.TimeUnit; 12 13 import org.apache.commons.io.IOUtils; 14 import org.openqa.sele...

0
0
发表了博客
2018/08/13 11:12

webcollector 2.x 爬取搜狗搜索结果页

1 /** 2 * 使用搜狗搜索检索关键字并爬取结果集的标题 3 * @author tele 4 * 5 */ 6 public class SougouCrawler extends RamCrawler{ 7 8 public SougouCrawler() { 9 10 } 11 12 public SougouCrawler(String keyword,int maxnum) { 13 for(int i=1;i<=maxnum;i++) { 14 //拼接url 15 String url ="https://www.sogou.com/web?qu...

0
0
发表于开发技能专区
2015/10/22 11:33

WebCollector

WebCollector 2.x官网和镜像: 官网:https://github.com/CrawlScript/WebCollector 镜像:http://git.oschina.net/webcollector/WebCollector WebCollector 2.x教程: WebCollector 2.x tutorial 2 (BreadthCrawler中文教程) WebCollector 2.x 新闻网页正文自动提取算法 WebCollector 2.x 抽取器 (Extractor和MultiExtractorCrawler) WebCollector爬取JS生成数据 WebCollector爬取搜狗搜索(分页) WebCollector爬取JSON数据 ...

0
3
发表于软件架构专区
2016/08/26 14:18

WebCollector 2.x教程列表

WebCollector爬虫官网:https://github.com/CrawlScript/WebCollector WebCollector 2.x教程列表 WebCollector教程——在Eclipse项目中配置使用WebCollector爬虫 JAVA爬虫WebCollector 2.x入门教程——基本概念 WebCollector爬取CSDN博客 使用Spring JDBC持久化WebCollector爬取的数据 WebCollector自定义http请求 WebCollector设置代理 WebCollector内核开发——定制Http请求 WebCollector教程——爬取搜索引擎 WebCollector教...

0
7
发表了博客
2019/03/28 19:48

java之网络爬虫介绍(非原创)

文章大纲 一、网络爬虫基本介绍 二、java常见爬虫框架介绍 三、WebCollector实战 四、项目源码下载 五、参考文章 一、网络爬虫基本介绍 1. 什么是网络爬虫   网络爬虫(又被称为网页蜘蛛,网络机器人,在社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。 2. 常见问题介绍 爬虫可以爬取ajax信息么?   网页上...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于数据库专区
2019/08/06 15:37

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

官方手动探测例子报异常: Exception in thread "main" java.lang.ExceptionInInitializerError at org.rocksdb.RocksDB.loadLibrary(RocksDB.java:64) at org.rocksdb.RocksDB.<clinit>(RocksDB.java:35) at cn.edu.hfut.dmic.webcollector.plugin.rocks.RocksDBManager.<clinit>(RocksDBManager.java:43) at cn.edu.hfut.dmic.webcollector.plugin.rocks.BreadthCrawler.<init>(BreadthCrawler.java:45) at com.hjh.webcollec...

2
0
发表了问答
2018/03/10 09:27

webcollector在linux运行环境下找不到依赖

最近几天做项目用到了爬虫 就从开源中国找了个开源项目 webcollector 在pox.xml中我引入了以来 正常windows开发环境下没问题 <dependency> <groupId>cn.edu.hfut.dmic.webcollector</groupId> <artifactId>WebCollector</artifactId> <version>2.52</version> </dependency> 但是打成war包放在linux部署环境的tomcat下 等执行爬虫时 就会报错 是不是我webcollector 引入依赖的方式不对 如果是 那么应该怎么弄呢 求好心人解答 感...

1
0
发表了问答
2016/02/06 19:29

爬取小说的内容有乱码问题

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

2
0
发表了问答
2015/03/17 14:08

WebCollector中是不是1.x版本使用BreadthCrawler,2.x版本使用DeepCrawler呢?

@CrawlScript 你好,想跟你请教个问题: WebCollector中是不是1.x版本使用BreadthCrawler,2.x版本使用DeepCrawler呢? 我在2.x的版本中使用BreadthCrawler,报找不到该类的错误,请问是怎么回事?

3
0
发表了问答
2016/02/24 09:16

使用自定义http抓取页面后如何获取页面的绝对路径URL呢?

@CrawlScript 你好,想跟你请教个问题: 比如在抓取百度百科时,种子URL使用的链接为baike.baidu.com/search/word?word=刘亦菲,最后jsoup解析页面获取的URL还是“baike.baidu.com/search/word?word=刘亦菲”,我想获取跳转之后的绝对地址http://baike.baidu.com/subview/3064/13233367.htm,请问该如何获取呢? 在网上查了几种做法都未能解决这个问题。...

2
0
发表了问答
2015/01/28 12:52

请求超时时间如何设置?

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

2
0
发表了问答
2014/12/30 09:14

请问怎么设置线程休眠时间?

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

1
0
发表了问答
2014/12/30 08:34

请问还有更多的例子和文档吗?

感谢作者 WebCollctor很棒,功能强大,参数控制恰到好处 第一次做相关项目,直接上手难度不大,可以找到1.3版本的类库介绍,2.0的文档在哪里? 由于不熟悉缘故,现在不太能针对我的需求用起来,求更多的例子和文档介绍~~ 再一次感谢作者

4
0
发表了问答
2014/11/30 19:26

是否有JDK1.5版本

@CrawlScript 你好,想跟你请教个问题: 您好,请问是否有JDK1.5的版本?是否可以方便提供一份(邮箱364599827@qq.com)感谢!

7
1
发表了问答
2014/11/29 15:09

关于布隆过滤器使用的请教

@CrawlScript 你好,想跟你请教个问题: 感谢您的分享,学习了,我有以下的疑问,想看下您布隆过滤器是怎么用的: 针对BreadthCrawler使用2^24的布隆过滤器进行URL管理这个的实现, 这个是在发现链接URL入库CrawlDB前就做的过滤, 还是是在任务生成器任务生成器获取任务的时候过滤的?写在哪个类里面,UniqueFilter? 感谢!

4
0
发表了问答
2014/11/29 10:57

请问您设计框架图使用的是什么工具?感谢!

@CrawlScript 你好,想跟你请教个问题: 请问您设计框架图使用的是什么工具?感谢!

1
0
发表了问答
2014/08/05 17:40

WebCollector提示报错

@CrawlScript 你好,想跟你请教个问题: int status=(int)page_record.get("status"); 这里提示报错, Exception in thread "main" java.lang.Error: Unresolved compilation problem: Cannot cast from Object to int 请回复一下,很重要,谢谢。

1
1
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
41 评论
1.7K 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部