前言:
随着网络的迅速发展,万维网成为大量信息的载体,在这个大数据时代,如何有效地提取并利用网络上的数据成为一个巨大的挑战。爬虫,即网络爬虫,是一种按照一定的规则自动地抓取万维网信息的程序或者脚本,另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫,今天给大家推荐七款优秀的网络爬虫工具。
一、强力 Java 爬虫 | Spiderman
项目简介:
Spiderman 是一个Java开源Web数据抽取工具。它能够收集指定的Web页面并从这些页面中提取有用的数据。Spiderman主要是运用了像XPath,正则表达式等这些技术来实数据抽取。
主要特点:
微内核+插件式架构、灵活、可扩展性强;
无需编写程序代码即可完成数据抽取;
多线程保证性能。
项目地址:l-weiwei/spiderman - 码云 - 开源中国
二、便于二次开发的爬虫框架 | webmagic
项目简介:
webmagic 是一个无须配置、便于二次开发的爬虫框架,它提供简单灵活的API,只需少量代码即可实现一个爬虫。
主要特点:
简单的核心,灵活性高;
用于HTML提取的简单API;
使用POJO进行注释来自定义抓取工具,无需配置;
多线程和分发支持;
易于集成。
项目地址:flashsword20/webmagic - 码云 - 开源中国
三、分布式爬虫系统 | YayCrawler
项目简介:
分布式爬虫系统,简单使用,高级配置。可扩展,减轻开发量,能docker化,适应各种急切需求核心框架:WebMagic, Spring Boot, MongoDB,ActiveMQ, Spring + Quartz, Spring Jpa, Druid, Redis,Ehcache,SLF4J,Log4j2,Bootstrap + Jquery等。
项目地址:shentong_012/YayCrawler - 码云 - 开源中国
四、Go语言实现的高性能爬虫 | DenseSpider
项目简介:
Go语言实现的高性能爬虫,基于go_spider开发。实现了单机并发采集,深度遍历,自定义深度层级等特性。
基本结构:
Spider模块(主控);
Downloader模块(下载器);
PageProcesser模块(页面分析);
History(Url采集历史记录);
Scheduler模块(任务队列);
Pipeline模块(结果输出)。
主要Feature:
基于Go语言的并发采集;
页面下载、分析、持久化模块化,可自定义扩展;
采集日志记录(Mongodb支持);
页面数据自定义存储(Mysql、Mongodb);
深度遍历,同时可自定义深度层次;
Xpath解析。
项目地址:congqian/DenseSpider - 码云 - 开源中国
五、Node.js 的爬虫系统 | neocrawler
项目简介:
NEOCrawler(中文名:牛咖),是nodejs、redis、phantomjs实现的爬虫系统。代码完全开源,适合用于垂直领域的数据采集和爬虫二次开发。
特点:
支持web界面方式的摘取规则配置(css selector & regex);
包含无界面的浏览器引擎(phantomjs),支持js产生内容的抓取;
用http代理路由的方式防止抓取并发量过大的情况下被对方屏蔽;
nodejs none-block 异步环境下的抓取性能比较高;
中央调度器负责网址的调度(同一时间片内一定数量的抓取任务中根据网站的权重来决定派发任务量;
支持多种抓取实例并存,定制摘取引擎和存储方式。
整体架构:
项目地址:dreamidea/neocrawler - 码云 - 开源中国
六、人脸识别爬虫 | FaceSpider
项目简介:
使用openCV结合网络爬虫编写的人脸识别爬虫,基于opencv246编写能够根据设置的线程数及深度针对指定目标URL的图片进行爬取。
项目地址:Luciferearth/FaceSpider - 码云 - 开源中国
七、全球最大成人网站PornHub爬虫 | PornHubBot
项目简介:全球最大成人网站PornHub爬虫 (Scrapy、MongoDB) 一天500w的数据。该项目旨在研究Scrapy Spider框架和MongoDB数据库,不能用于商业或其他个人意图。:)
项目地址:xiyouMc/pornhubbot - 码云 - 开源中国
Copyright@OSChina.NET
责任编辑:一路南漂
制版编辑:Zico丨
本页刊发内容未经书面许可禁止转载及使用
公众号、报刊等转载请联系授权
欢迎转发朋友圈,投稿:chenyang@oschina.cn
关注码云Gitee官方微信公众号ID:mayunOSC
查看更多有趣的开源项目资讯,请前往:码云开源项目广场
网友评论