【大数据专栏】33款可用来抓数据的开源爬虫软件工具(二)
优采云 发布时间: 2022-05-05 03:05【大数据专栏】33款可用来抓数据的开源爬虫软件工具(二)
杂谈投稿邮箱:
12、Spiderman
Spiderman是一个基于微内核+插件式架构的网络蜘蛛,它的目标是通过简单的方法就能将复杂的目标网页信息抓取并解析为自己所需要的业务数据。
怎么使用?
首先,确定好你的目标网站以及目标网页(即某一类你想要获取数据的网页,例如网易新闻的新闻页面)
然后,打开目标页面,分析页面的HTML结构,得到你想要数据的XPath,具体XPath怎么获取请看下文。
最后,在一个xml配置文件里填写好参数,运行Spiderman吧!
授权协议:Apache
开发语言:Java
操作系统:跨平台
特点:灵活、扩展性强,微内核+插件式架构,通过简单的配置就可以完成数据抓取,无需编写一句代码
13、webmagic
webmagic的是一个无须配置、便于二次开发的爬虫框架,它提供简单灵活的API,只需少量代码即可实现一个爬虫。
webmagic采用完全模块化的设计,功能覆盖整个爬虫的生命周期(链接提取、页面下载、内容抽取、持久化),支持多线程抓取,分布式抓取,并支持自动重试、自定义UA/cookie等功能。
webmagic包含强大的页面抽取功能,开发者可以便捷的使用cssselector、xpath和正则表达式进行链接和内容的提取,支持多个选择器链式调用。
webmagic的使用文档:
查看源代码:
授权协议:Apache
开发语言:Java
操作系统:跨平台
特点:功能覆盖整个爬虫生命周期,使用Xpath和正则表达式进行链接和内容的提取。
备注:这是一款国产开源软件,由黄亿华贡献
14、Web-Harvest
Web-Harvest是一个Java开源Web数据抽取工具。它能够收集指定的Web页面并从这些页面中提取有用的数据。Web-Harvest主要是运用了像XSLT,XQuery,正则表达式等这些技术来实现对text/xml的操作。
其实现原理是,根据预先定义的配置文件用httpclient获取页面的全部内容(关于httpclient的内容,本博有些文章已介绍),然后运用XPath、XQuery、正则表达式等这些技术来实现对text/xml的内容筛选操作,选取精确的数据。前两年比较火的垂直搜索(比如:酷讯等)也是采用类似的原理实现的。Web-Harvest应用,关键就是理解和定义配置文件,其他的就是考虑怎么处理数据的Java代码。当然在爬虫开始前,也可以把Java变量填充到配置文件中,实现动态的配置。
授权协议:BSD
开发语言:Java
特点:运用XSLT、XQuery、正则表达式等技术来实现对Text或XML的操作,具有可视化的界面
15、WebSPHINX
WebSPHINX是一个Java类包和Web爬虫的交互式开发环境。Web爬虫(也叫作机器人或蜘蛛)是可以自动浏览与处理Web页面的程序。WebSPHINX由两部分组成:爬虫工作平台和WebSPHINX类包。
授权协议:Apache
开发语言:Java
特点:由两部分组成:爬虫工作平台和WebSPHINX类包
16、YaCy
YaCy基于p2p的分布式Web搜索引擎.同时也是一个Http缓存代理服务器.这个项目是构建基于p2pWeb索引网络的一个新方法.它可以搜索你自己的或全局的索引,也可以Crawl自己的网页或启动分布式Crawling等.
授权协议:GPL
开发语言:JavaPerl
操作系统:跨平台
特点:基于P2P的分布式Web搜索引擎
Python爬虫
17、QuickRecon
QuickRecon是一个简单的信息收集工具,它可以帮助你查找子域名名称、performzonetransfe、收集电子邮件地址和使用microformats寻找人际关系等。QuickRecon使用python编写,支持linux和windows操作系统。
授权协议:GPLv3
开发语言:Python
操作系统:WindowsLinux
特点:具有查找子域名名称、收集电子邮件地址并寻找人际关系等功能
18、PyRailgun
这是一个非常简单易用的抓取工具。支持抓取javascript渲染的页面的简单实用高效的python网页爬虫抓取模块
授权协议:MIT
开发语言:Python
操作系统:跨平台WindowsLinuxOSX
特点:简洁、轻量、高效的网页抓取框架
备注:此软件也是由国人开放
github下载:#readme
19、Scrapy
Scrapy是一套基于基于Twisted的异步处理框架,纯python实现的爬虫框架,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便~
授权协议:BSD
开发语言:Python
操作系统:跨平台
github源代码:
特点:基于Twisted的异步处理框架,文档齐全
C++爬虫
20、hispider
HiSpiderisafastandhighperformancespiderwithhighspeed
严格说只能是一个spider系统的框架,没有细化需求,目前只是能提取URL,URL排重,异步DNS解析,队列化任务,支持N机分布式下载,支持网站定向下载(需要配置hispiderd.iniwhitelist).
特征和用法:
基于unix/linux系统的开发
异步DNS解析
URL排重