2021年最流行的10个开源网络爬虫

2021开源网络爬虫列表

Scrapy

程序语言:Python
官方主页:https://scrapy.org/

Scrapy是Python中最流行的开源网络爬虫和协作网络爬虫工具。它有助于有效地从网站中提取数据,根据需要对其进行处理,并以您喜欢的格式(JSON、XML 和 CSV)存储它们。它建立在一个扭曲的异步网络框架之上,可以接受请求并更快地处理它们。使用 Scrapy,您将能够以高效灵活的方式处理大型网络爬虫项目。

优点:
快速而强大
易于使用,有详细的文档
无需触及核心即可插入新功能
健康的社区和丰富的资源
云分布式部署

Heritrix

程序语言:JAVA
官方主页:https://webarchive.jira.com/wiki/spaces/Heritrix/overview

Heritrix 是一个基于 JAVA 的开源爬虫,具有高扩展性,专为网络归档而设计。它高度尊重 robots.txt 排除指令和 Meta 机器人标签,并以不太可能破坏正常网站活动的可衡量的自适应速度收集数据。它提供了一个基于 Web 的用户界面,可通过 Web 浏览器访问,以便操作员控制和监视爬行。

优点:

可更换的可插拔模块
基于网络的界面
关于 robots.txt 和 Meta 机器人标签
优秀的扩展性

Web-Harvest

程序语言:JAVA
官方主页:http://web-harvest.sourceforge.net/

Web-Harvest 是一个用 Java 编写的开源爬虫工具。它可以从指定页面收集有用的数据。为此,它主要利用 XSLT、XQuery 和正则表达式等技术和技术来操作或过滤来自基于 HTML/XML 的网站的内容。自定义 Java 库可以轻松补充它,以增强其提取功能。

优点:

用于数据处理和控制流的强大文本和 XML 操作处理器
用于存储和使用变量的变量上下文
支持真正的脚本语言,可以轻松集成到刮板配置中

MechanicalSoup

程序语言:Python
官方主页:https://mechanicalsoup.readthedocs.io/en/stable/

MechanicalSoup 是一个 Python 库,旨在模拟人类在使用浏览器时与网站的交互。它是围绕 Python 巨头Requests(用于 http 会话)和BeautifulSoup (用于文档导航)构建的。它会自动存储和发送 cookie、跟踪重定向、跟踪链接和提交表单。如果您尝试模拟人类行为,例如等待某个事件或单击某些项目而不仅仅是爬虫数据,MechanicalSoup 真的很有用。

优点:

模拟人类行为的能力
快速爬虫相当简单的网站
支持 CSS 和XPath选择器

 Apify SDK程序

语言:JavaScript
官方主页:https://sdk.apify.com/

Apify SDK 是用 JavaScript 构建的最好的网络爬虫工具之一。可扩展的爬虫库支持使用无头 Chrome 和 Puppeteer 开发数据提取和 Web 自动化作业。凭借其独特的强大工具,如 RequestQueue 和 AutoscaledPool,您可以从多个 URL 开始,递归跟踪其他页面的链接,并可以分别以系统的最大容量运行爬虫任务。

优点:

大规模、高性能的爬虫
使用代理池避免检测的 Apify Cloud
内置支持 Node.js 插件,如 Cheerio 和 Puppeteer

Apache Nutch

程序语言:JAVA
官方主页:https://nutch.apache.org/

Apache Nutch 是另一个完全用 Java 编码的开源爬虫工具,它具有高度模块化的架构,允许开发人员创建用于媒体类型解析、数据检索、查询和集群的插件。由于可插拔和模块化,Nutch 还为自定义实现提供了可扩展的接口。

优点:

高度可扩展和可扩展
遵守txt规则
充满活力的社区和积极的发展
可插入的解析、协议、存储和索引

 Jaunt

程序语言:JAVA
官方主页:https://jaunt-api.com/

Jaunt 基于 JAVA,专为网页爬虫、网页自动化和 JSON 查询而设计。它提供了一个快速、超轻和无头的浏览器,它提供了网页爬虫功能、对 DOM 的访问以及对每个 HTTP 请求/响应的控制,但不支持 JavaScript。

优点:

处理单个 HTTP 请求/响应
轻松连接 REST API
支持 HTTP、HTTPS 和基本身份验证
在 DOM 和 JSON 中启用 RegEx 的查询

Node-crawler

程序语言:JavaScript
官方主页:https://github.com/bda-research/node-crawler

Node-crawler 是一个基于 Node.js 的强大、流行的生产网络爬虫。完全由Node.js编写,原生支持非阻塞异步I/O,为爬虫的流水线运行机制提供了极大的便利。同时支持快速选择DOM,(无需编写正则表达式),提高爬虫开发效率。

优点:

速率控制
URL 请求的不同优先级
可配置的池大小和重试
使用 Cheerio(默认)或 JSDOM 的服务器端 DOM 和自动 jQuery 插入

PySpider

程序语言:Python
官方主页:https://github.com/binux/pyspider

PySpider 是一个强大的 Python 网络爬虫系统。它具有易于使用的 Web UI 和具有 调度程序、提取程序和处理器等组件的分布式架构。支持MongoDB 、 MySQL等多种数据库 进行数据存储。

优点:

带有脚本编辑器、任务监视器、项目管理器和结果查看器的强大 WebUI
RabbitMQ、 Beanstalk、 Redis和 Kombu 作为消息队列
分布式架构

StormCrawler

程序语言:JAVA
官方主页:http://stormcrawler.net/

StormCrawler 是一个成熟的开源网络爬虫。它由一组可重用的资源和组件组成,主要用 Java 编写。它用于在 Java 中构建低延迟、可扩展和优化的网络爬虫解决方案,也非常适合提供输入流,其中 URL 通过流发送以进行爬虫。

优点:

高度可扩展,可用于大规模递归爬取
易于使用其他库进行扩展
出色的线程管理,可减少爬虫延迟

开源网络爬虫非常强大且可扩展,但仅限于开发人员。有很多像Octoparse这样的非编码工具,使爬虫不再只是开发人员的特权。如果你不精通编程,这些工具会更适合你,让你轻松爬虫。

原文链接:https://xiaohost.com/3843.html,转载请注明出处。
0

评论0

请先