专知内容生产基石-数据爬取采集利器WebCollector 介绍

2017 年 9 月 21 日 专知 Hujunxianligong

今天给大家介绍下我们专知数据采集系统的基石-WebCollector。 作为主流JAVA开源爬虫框架(GitHub上1500+Stars),WebCollector 轻量级、便于二次开发的特点得到了众多数开发者的选取与喜爱。特别与大家分享的是WebCollector的作者Hujunxianligong大神就是我们专知团队的成员。下面开始给大家简单介绍下WebCollector的特性以及在专知的应用。





WebCollector简介



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


WebCollector入口:百度Google 直接搜索 WebCollector即刻获取。

Github上地址:https://github.com/CrawlScript/WebCollector


1)内核构架图


WebCollector的任务执行流程如上,包括爬取任务生成更新调度管理、任务执行数据爬取、爬取数据信息抽取以及持久化存储。


2)WebCollector 2.x 特性

WebCollector 现已经为2.71版本,基本特性有:

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

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

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

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

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

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

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

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

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


3)WebCollector 使用

  • 官网: 

    https://github.com/CrawlScript/WebCollector

  • 镜像: 

    http://git.oschina.net/webcollector/WebCollector


在Eclipse、Netbeans、Intellij等IDE参照Github配制Maven即可使用,或者使用Jar包。

<dependency>    <groupId>cn.edu.hfut.dmic.webcollector</groupId>    <artifactId>WebCollector</artifactId>    <version>2.71</version> </dependency>


自动爬取新闻网站的例子通过简单配制即可完成:

更多实用请访问WebCollector 主页或者

WebCollector项目主页 http://datahref.com/




WebCollector在专知的使用



我们基于WebCollector构建了实时定点数据采集系统,针对全网的AI内容进行精选采集。基本框架如下图所示。



数据采集系统包含代理配置管理、下载器、调度器、内容解析、控制器等,来可扩展性地可配置化采集内容。


 

感兴趣的同学加入专知——数据采集交流群(请先加微信小助手weixinhao: Rancho_Fang)或者是QQ群专知-人工智能交流群 426491390 


欢迎大家使用专知!点击阅读原文即可访问,访问获取更多专知技术算法资源。


同时请,关注我们的公众号,获取最新关于专知以及人工智能的资讯、技术、算法等内容。扫一扫下方关注。



阅读更多:了解使用专知,为你提供一站式AI知识服务。

专知,一个新的认知方式!

构建AI知识体系-专知主题知识树简介

一图了解人工智能知识体系大全-专知主题知识树人工智能可视化

专知主题知识树可视化系列-一图了解大数据分析、编程语言、系统架构的知识体系大全

登录查看更多
4

相关内容

JAVA网络爬虫WebCollector深度解析——爬虫内核
【2020新书】实战R语言4,323页pdf
专知会员服务
98+阅读 · 2020年7月1日
Python导论,476页pdf,现代Python计算
专知会员服务
253+阅读 · 2020年5月17日
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
160+阅读 · 2020年5月14日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
115+阅读 · 2020年5月10日
【大规模数据系统,552页ppt】Large-scale Data Systems
专知会员服务
58+阅读 · 2019年12月21日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
94+阅读 · 2019年12月4日
【电子书】Flutter实战305页PDF免费下载
专知会员服务
20+阅读 · 2019年11月7日
吐血整理!140种Python标准库、第三方库和外部工具都有了
炼数成金订阅号
14+阅读 · 2019年7月30日
浅谈 Kubernetes 在生产环境中的架构
DevOps时代
11+阅读 · 2019年5月8日
GitHub 热门:各大网站的 Python 爬虫登录汇总
机器学习算法与Python学习
9+阅读 · 2019年3月20日
中文自然语言处理入门实战
人工智能头条
14+阅读 · 2019年1月11日
干货 | Python 爬虫的工具列表大全
机器学习算法与Python学习
10+阅读 · 2018年4月13日
【智能商务】海量商品查找利器—苏宁搜索系统
产业智能官
5+阅读 · 2017年12月1日
【宁波站】网络爬虫与文本挖掘
数萃大数据
4+阅读 · 2017年7月19日
Logically-Constrained Reinforcement Learning
Arxiv
3+阅读 · 2018年12月6日
Large-Scale Study of Curiosity-Driven Learning
Arxiv
8+阅读 · 2018年8月13日
Arxiv
3+阅读 · 2018年4月5日
VIP会员
相关VIP内容
【2020新书】实战R语言4,323页pdf
专知会员服务
98+阅读 · 2020年7月1日
Python导论,476页pdf,现代Python计算
专知会员服务
253+阅读 · 2020年5月17日
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
160+阅读 · 2020年5月14日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
115+阅读 · 2020年5月10日
【大规模数据系统,552页ppt】Large-scale Data Systems
专知会员服务
58+阅读 · 2019年12月21日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
94+阅读 · 2019年12月4日
【电子书】Flutter实战305页PDF免费下载
专知会员服务
20+阅读 · 2019年11月7日
相关资讯
吐血整理!140种Python标准库、第三方库和外部工具都有了
炼数成金订阅号
14+阅读 · 2019年7月30日
浅谈 Kubernetes 在生产环境中的架构
DevOps时代
11+阅读 · 2019年5月8日
GitHub 热门:各大网站的 Python 爬虫登录汇总
机器学习算法与Python学习
9+阅读 · 2019年3月20日
中文自然语言处理入门实战
人工智能头条
14+阅读 · 2019年1月11日
干货 | Python 爬虫的工具列表大全
机器学习算法与Python学习
10+阅读 · 2018年4月13日
【智能商务】海量商品查找利器—苏宁搜索系统
产业智能官
5+阅读 · 2017年12月1日
【宁波站】网络爬虫与文本挖掘
数萃大数据
4+阅读 · 2017年7月19日
Top
微信扫码咨询专知VIP会员