Python开发框架全解析:Web框架、爬虫框架等助你快速构建应用
Python_Framework 介绍

Python开发框架是一组库和工具,其作用是简化和加速 Python 应用程序的开发。这些库和工具提供了一系列预定义的功能与结构,使得开发者能够较为便捷地构建、测试以及维护应用程序。同时,存在关于 Python 自学是否可行的疑问。
总结 Python 的开发框架,其中有 Web 框架;还有爬虫框架;也有定时任务框架;以及自动化测试框架;另外还有其他常用的框架。最新更新情况,可查看本文的 GitHub 地址。
Web Framework 是什么呢?Python3 有其对应的 Web 框架。
开发框架(framework),用于支持动态网站、网络应用和网络服务的开发。大多数的 web 框架都提供了一套开发和部署网站的方式,同时也为 web 行为提供了一套通用的方法。web 框架已经具备了很多功能,开发人员利用框架提供的方法并完成自己的业务逻辑,就能够快速开发 web 应用。Web 应用程序框架或者仅仅是 Web 。
框架(Web 框架)指的是一个由库和模块组成的集合,它包含一套组件,能提供通用的设计模式,让 Web 应用程序开发者可以编写应用程序,无需操心协议、线程管理等方面的细节。浏览器与服务器之间的通信是以 HTTP 协议为基础来进行的。Web 框架的作用在于为 Web 应用程序开发提供便利,通过其提供的组件和设计模式,降低开发难度,提高开发效率,使开发者能够更专注于业务逻辑的实现,而不必陷入底层细节的处理中。
能帮助开发人员实现将应用程序部署到Web服务器上的简化。
使用 Web 框架时,很多业务逻辑之外的功能无需自己去完善,直接使用框架已有的功能就行。Web 框架让在进行相关工作时,能借助其已有的功能,无需重复开发这些功能。
网站开发时,工作量得以减少。在使用 Web 框架开展网站开发工作期间,对于数据缓存、数据库访问以及数据安全校验等方面,无需自行重新去进行实现,只需将与业务逻辑相关的代码写入框架即可。
提供模板引擎:模板引擎的作用是把动态显示的数据和 HTML 模板进行结合。Web 框架能够提供多种模板引擎,这样方便开发人员去进行选择。
Web框架具备处理 HTTP 请求和响应的功能,其中包含路由的分发工作,能够获取请求的参数,也可以对静态文件进行处理。
Web 框架能够与数据库进行集成,它具备 ORM(Object-Relational Mapping)技术,从而可以简化数据库的操作。
Web 框架具备提供用户认证的功能,同时也能提供授权管理功能,以此来确保 Web 应用程序的安全性。
Web 框架提供常用组件和一些便捷工具,从而帮助开发人员提高开发效率,减少开发时间,进而提升开发速度。
Python 有开发框架。Python 的 Web Framework 较为知名。WebFramework 存在着一些优缺点。其中 Aiohttp 是较为常用的一个。
Bottle 是另一个相关的东西(这里未明确说明 Bottle 的具体性质和特点)。
它是一个轻量级的 Web 框架,能够在单个文件里创建 Web 应用程序,并且具备简单易学的特性。
它是一个以 Tornado 为基础实现的 Web 框架,其设计目的是能够支持大量的并发连接以及流量,具备高性能、异步 I/O 以及轻量级的特性。
GitHub地址:
Falcon 是一个具备全功能的 Web 框架,它适用于大型 Web 应用程序的开发。此框架具有诸多内置功能,比如 ORM、模板、表单处理以及用户身份验证等。
它适用于构建高性能的 API 和微服务。
Flask 是一个现代的 Web 框架,可用于构建 Web API。它具备快速的特点,使用起来很便捷,性能也很高,并且能够基于标准化生成 API 文档。
Flask用户指南
它在原型设计方面具有简易实现的特点。
Sanic 是一个 Python 微服务框架,它具备分布式协同的特性,还易于进行扩展,具有灵活性,并且内置了依赖注入。
Tornado 是一个以异步 I/O 驱动的 Web 框架,它具备高性能的特点,使用起来很便捷,并且具有可扩展性,适合用来构建高性能的 Web 服务。
Tornado用户指南
它是一个 Python Web 框架和异步网络库,基于异步 I/O 技术。这个框架适用于实时 Web 服务,也适用于有高并发连接需求的应用程序。它就是 Twisted。
Twisted 是一个网络框架,它基于 Reactor 模式且为异步 IO 的。这种基于异步 I/O 的 Python 网络框架以及协议引擎,适合用来开发高性能且可扩展的网络应用程序和服务。
缺点:
Webpy
它是一个轻量级的 Web 框架,能够适用于快速开发小型的 Web 应用程序,并且具备 ORM 功能、模板渲染功能以及 HTTP 服务器等内置功能。
TurboGears 是一个通用框架,可用于开发 Web 应用程序。它具有可扩展性,拥有灵活的配置和扩展机制。同时,它具备 ORM 以及安全的身份验证等特点。
CherryPy 是一个具备全功能的 Web 框架,它能够适用于构建各种类型的 Web 应用程序。此框架具有内置的 ORM 功能、模板功能、表单处理功能以及安全功能等。
Asgineer 是一个具备特定特点的轻量级 Web 框架,它拥有 WSGI 服务器,还有内置的 HTTP/HTTPS 服务器,并且具备一个简单的配置系统。它适用于构建小型的 Web 应用程序。
Emmett 是一个 Python 框架,用于构建异步 Web 应用程序。它具有轻量级和灵活的设计,具备内置的路由功能、静态文件处理功能以及 WebSocket 支持等特点。
它是一个快速的 Web 框架,能够灵活运用且可进行扩展,是以 Python 3 为基础的,适合用来构建高性能的 Web 应用程序。
Quixote 是一个以 OpenAPI 3 规范为基础的 Web 框架,它具备快速开发 API 的特性,并且还能提供自动生成 API 文档以及 Mock 的功能。
Reahl 是一个轻量级的 Web 框架。它采用基于 Python 来编写 Web 应用程序的方式。此框架具有内置的模板,并且具备安全的性能特点。它适用于构建小型的 Web 应用程序。
Hug 是一个用于构建 Web 应用程序的框架,它具有高扩展性。Hug 易于使用,同时还提供了构建业务逻辑、用户界面和数据库的工具与库。
BlackSheep 是一个框架,它具备快速的特点,能够进行扩展,并且易于使用。它内置了路由功能,还有参数类型验证以及文档生成等特性,适合用来构建高性能的 Web 服务。
它是一个异步 I/O 驱动的框架,使用起来快速且便捷。这个框架具备内置的路由功能,还有中间件、异常处理以及 WebSockets 支持等特点。
具备高性能。
它是一个异步 I/O 驱动的框架,具有灵活性和可扩展性。此框架具备内置的 HTTP 服务器,还有路由以及中间件支持等特点。
它是一个用于构建 Web API 的 Python 框架,具备内置的路由功能,能够处理请求与响应,还具备异常处理等特性,适合用来构建高性能且易于使用的 API。
它是一个用于构建 Web API 的框架,且这个框架比较轻量级。它具备装饰器的功能,还有中间件,同时能对请求和响应进行处理等特点。
Masonite 是一个轻量级的 Python Web 框架,它适用于构建小型 Web 应用程序,并且具备路由、模板渲染、类型转换等内置功能。
它是一个 Python 框架,可用于构建 Web 应用程序。此框架具备路由功能、模板功能、ORM(对象关系映射)功能以及用户身份验证等内置功能。并且,它还提供了可扩展的插件和扩展。
Quart
它是一个依据 ASGI 标准构建的 Web 框架,具备异步 I/O 的特性且性能较高,适合用来构建高性能的 Web 服务。
Tonberry
Klein 是一个面向对象的 Web 框架,它是通过 asyncio 构建而成的。此框架具备路由功能,能够进行模板渲染,拥有 ORM 支持,并且还提供了中间件支持等特点。
CubicWeb 是一个较为轻便的 Web 框架,它具备路由方面的功能,能够进行模板渲染,还拥有异步 I/O 的特性,适合用来构建小型的 Web 应用程序。
Zope2 是一个用于构建复杂 Web 应用程序的语意 Web 开发框架,它具备 ORM、DCES、RQL 以及安全性等特点。
Web2py 是一种 Web 框架,也是一个应用程序服务器。它适用于构建企业级的 Web 应用程序。此框架具有灵活性、可扩展性,并且具备内置的安全功能等特点。
Pylons 是一个具备全功能的 Web 框架,它适用于对快速且安全的 Web 应用程序进行开发,并且该框架具有内置的 ORM、插件以及安全性等功能。
Cubes 是一个具备多种特点的灵活 Web 框架,它拥有自定义路由的功能,还具备自定义模板渲染的能力,同时也具备常规 Web 框架的功能。
Dpark 是一个能够用于构建 OLAPcubes 的 Python 框架,它具备 OLAP 以及数据挖掘技术的相关特点。
它是一个分布式计算框架,并且是以 Apache Spark 为基础的,具备高扩展性、容错性以及高性能。
它是一个持续集成工具,能够用来构建、测试以及部署软件,具备可配置、灵活以及多平台支持等特性。同时它也是一个爬虫框架。
Scrapy
Python 有一个开源的网络爬虫框架,它可用于抓取互联网上的数据,并且是为提取结构性数据而编写的应用框架。
PySpider
Python 有一个开源且功能强大的网络爬虫框架,它能够轻松编写爬取逻辑,还支持分布式爬取,并且提供了 web 界面管理工具,能够在浏览器界面上进行脚本的编写。
Crawley
Portia
它是 Scrapy 的一个可视化爬虫工具,能够通过简单的拖拽以及点击操作,就可以完成 HTML 页面模板的创建以及数据解析规则的创建,并且不需要具备任何编程方面的知识。
Beautiful Soup
它是 Python 的一个开源库,可用来解析 HTML 或 XML 等这类结构化的文本数据,并且在 Web 爬虫以及数据抓取应用中被广泛应用。
Requests