python爬虫 被重定向_50 种最棒的开源爬虫框架/项目

f0a53ab3561a99e649c2ee289c7ae2fd.png

作者:Prowebscraper 博客

译者:Rays

摘要: 说起爬虫框架,你可能会马上脱口而出:「 Scrapy 或者 Pyspider」,甚至你可能认为只有 Python 才能爬虫。其实还有很多好用的开源爬虫框架,也绝不仅仅只有 Python 才能写爬虫,大多数热门语言都可以做。

总之,开源 Web 爬虫纷繁多样,下面按照所用程语言,罗列五十种最好的开源爬虫框架,每一个各具特长,适用于不同场景和用户需求。下面来一睹为快。

1156083186939492c418d7a233506b37.png

Python 编写的开源 Web 爬虫

1. Scrapy

  • 实现语言:Python
  • GitHub Star 数:28660
  • 官方支持链接

983ad83b2e99683b276f639a19259cd7.png

简介

  • Scrapy 是一种高速的高层 Web 爬取和 Web 采集框架,可用于爬取网站页面,并从页面中抽取结构化数据。
  • Scrapy 的用途广泛,适用于从数据挖掘、监控到自动化测试。
  • Scrapy 设计上考虑了从网站抽取特定的信息,它支持使用 CSS 选择器和 XPath 表达式,使开发人员可以聚焦于实现数据抽取。
  • 对于熟悉 Python 的开发人员,只需几分钟就能建立并运行 Scrapy。
  • 支持运行在 Linux、Mac OS 和 Windows 系统上。

特性

  • 内置支持从 HTML 和 XML 抽取数据、使用扩展的 CSS 选择器(Selector)和 XPath 表达式等特性。
  • 支持以多种格式(JSON、CSV、XML)生成输出。
  • 基于 Twisted 构建。
  • 稳健的支持,自动检测编码方式。
  • 快速,功能强大。

官方文档https://docs.scrapy.org/en/latest/

官方网站https://scrapy.org/

2. Cola

  • 实现语言:Python
  • GitHub Star 数:1274
  • 官方支持链接

简介

  • Cola 是一种高层分布式爬取框架,实现从网站爬取网页,并从中抽取结构化数据。
  • 它提供了一种实现目标数据获取的简单且灵活的方式。
  • 用户只需要编写其中一部分代码,就可在本地和分布式环境下运行。

特性

  • 高层分布式爬取框架。
  • 简单且高速。
  • 灵活。

官方文档https://github.com/chineking/cola

官方网站https://pypi.org/project/Cola/

3. Crawley

  • 实现语言 Python
  • GitHub Star 数: 144
  • 官方支持链接

简介

  • Crawley 是一种 Python 爬取和采集框架,意在简化开发人员从 Web 网页抽取数据到数据库等结构化存储中。

特性

  • 基于 Eventlet 构建的高速 Web 爬虫。
  • 支持 MySQL、PostgreSQL、Oracle、Sqlite 等关系数据库引擎。
  • 支持 MongoDB、CouchDB 等 NoSQL 数据库(最新特性!)。
  • 支持导出数据为 JSON、XML 和 CSV 格式(最新特性!)。
  • 命令行工具。
  • 支持开发人员使用自己喜好的工具,例如 XPath 或 Pyquery(一种类似于 JQuery 的 Python 软件库)等。
  • 支持 Cookie 处理器(Handler)。

官方文档https://pythonhosted.org/crawley/

官方网站http://project.crawley-cloud.com/

4. MechanicalSoup

  • 实现语言: Python
  • GitHub Star 数: 2803
  • 官方支持链接

简介

  • MechanicalSoup 是一种设计模拟人类使用 Web 浏览器行为的 Python 软件库,它基于解析软件库 BeautifulSoup 构建。
  • 如果开发人员需要从单个站点采集数据,或是不需要大量数据采集,那么使用 MechanicalSoup 是一种简单高效的方法。
  • MechanicalSoup 自动存储和发送 Cookie、跟踪重定向、支持链接跟随和提交表单。

特性

  • 轻量级。
  • 支持 Cookie 处理器。

官方文档https://mechanicalsoup.readthedocs.io/en/stable/

官方网站https://mechanicalsoup.readthedocs.io/

5. PySpider

  • 实现语言: Python
  • GitHub Star 数: 11803
  • 官方支持链接

简介

  • PySpider 是一种 Python 编写的强大 Web 爬虫。
  • 它支持 JavaScript 网页,并具有分布式架构。
  • PySpider 支持将爬取数据存储在用户选定的后台数据库,包括MySQL, MongoDB, Redis, SQLite, Elasticsearch等。
  • 支持开发人员使用 RabbitMQ、Beanstalk 和 Redis 等作为消息队列。

特性

  • 提供强大 Web 界面,具有脚本编辑器、任务监控、项目管理器和结果查看器。
  • 支持对重度 Ajax 网站的爬取。
  • 易于实现适用、快速的爬取。

官方文档http://docs.pyspider.org/

官方网站https://github.com/binux/pyspider

6. Portia

  • 实现语言: Python
  • GitHub Star 数: 6250
  • 官方支持链接

4b4c23f3ebacecfb4ceb0c860f46ccc8.png

简介

  • Portia 是由 Scrapinghub 创建的一种可视化爬取工具,它不需要用户具有任何程序开发知识。
  • 如果用户并非开发人员,最好直接使用 Portia 实现 Web 爬取需求。
  • 用户无需任何安装就可免费试用 Portia,只需要在 Scrapinghub 注册一个账户,就可使用托管版本。
  • 即便用户没有编程技能,在 Portia 中创建爬虫并抽取 Web 内容也是非常易于实现的。
  • 用户无需安装任何程序,因为 Portia 是运行在 Web 页面上的。
  • 用户可以使用 Portia 的基本点击工具标注需要爬取的数据,然后 Portia 就会根据这些标注理解如何爬取类似页面中的数据。
  • 一旦检测到需要爬取的页面,Portia 会形成一个用户已创建结构的实例。

特性

  • 通过记录并回放用户在页面上的操作,实现点击、拖动和等待等动作。
  • Portia 可以很好地爬取基于 Ajax 构建的网站(基于 Splash),也适用于爬取 Backbone、Angular 和 Ember 等重度 JavsScript 框架。

官方文档https://portia.readthedocs.io/en/latest/index.html

官方网站https://github.com/scrapinghub/portia

7. Beautifulsoup

  • 实现语言: Python
  • 官方支持链接

e7aa2f11370eca1859c438fc2f757865.png

简介

  • Beautiful Soup 一种设计用于实现 Web 爬取等快速数据获取项目的 Python 软件库。
  • 它在设计上处于 HTML 或 XML 解析器之上,提供用于迭代、搜索和修改解析树等功能的 Python 操作原语。往往能为开发人员节省数小时乃至数天的工作。

特性

  • Beautiful Soup 自动将输入文档转换为 Unicode 编码,并将输出文档转换为 UTF-8 编码。
  • Beautiful Soup 处于一些广为采用的 Python 解析器(例如,lxmlhtml5lib)之上,支持用户尝试使用多种不同的解析策略,并在速度和灵活性上做出权衡。

官方文档https://www.crummy.com/software/BeautifulSoup/bs4/doc/

官方网站https://www.crummy.com/software/BeautifulSoup/

8. Spidy 爬虫

  • 实现语言: Python
  • GitHub Star 数: 152
  • 官方支持链接

b577aab75e825eee2779dbf277216c98.png

简介

  • Spidy 是一种从命令行运行的 Web 爬虫。易于使用。用户只需提供 Web 网页的 URL 链接,Spidy 就可以开始爬取!Spidy 无疑是一种整体爬取 Web 的简单有效的方式。
  • Spidy 使用 Python 请求查询 Web 页面,并使用 lxml 抽取页面中的所有链接。非常简单!

特性

  • 错误处理。
  • 跨平台兼容性。
  • 频繁时间戳日志。
  • 可移植性。
  • 用户友好的日志。
  • 保存 Web 页面。
  • 支持文件压缩。

官方文档https://github.com/rivermont/spidy

官方网站http://project.crawley-cloud.com/

9. Garb

  • 实现语言: Python
  • GitHub Star 数: 1627
  • 官方支持链接

简介

  • Grab 是一种用于构建爬虫的 Python 框架。
  • 使用 Grab 可构建出各种复杂度的 Web 爬虫,从只有五行代码的脚本,到可处理百万量级
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值