python优秀开源项目整理

 阅读大约需要1分钟

python是一门简单易学但是功能非常强大的编程语言,应用范围也非常广,如:服务器运维,科学计算,人工智能,web开发,网络爬虫都可以使用python。下面介绍几款实用的python库,python库非常丰富,如果大家用过好用的python,欢迎大家补充。

1.Scrapy

Scrapy 是一款非常受欢迎的python爬虫框架。它是基于Twisted的异步网络处理框架,是纯python实现的爬虫框架,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容或者各种图片。

2.django

Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC)风格的 Web 应用程序框架。使用 Django,我们在几分钟之内就可以创建高品质、易维护、数据库驱动的应用程序。

3.Requests

Requests 是一个 Python 的 HTTP 客户端库。模拟网络请求非常推荐Requests,简单易用。

4.Beautiful Soup

Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库。开发爬虫程序要经常用到。

Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。

Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,Beautiful Soup就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就可以了。

Beautiful Soup已成为和lxml、html6lib一样出色的python解释器,为用户灵活地提供不同的解析策略或强劲的速度。

5.Sanic + uvloop

Sanic:https://github.com/channelcat/sanic

uvloop: https://magic.io/blog/uvloop-blazing-fast-python-networking/

Sanic 不仅有可能是有史以来最好的软件库名字,也可能是有史以来最快的 Python 网页框架,而且似乎也远远超过其它框架。它是一个专为速度而设计的类 Flask 的 Python 3.5+ 网页服务器。另一个库 uvloop 是一个用于 asyncio 的事件循环(event loop,其底层使用了 libuv)的超快速的插件替代。这两个加起来就是一个强大的组合!

根据 Sanic 的作者的基准测试,uvloop 可以驱动 Sanic 每秒处理超过 3.3 万条请求,这实在太强了!(比 node.js 还快)。你的代码可以受益于这种新的 async/await 语法——它们会看起来很整洁;此外我们也喜欢 Flask 风格的 API。你一定要试试 Sanic,而且如果你也在使用 asyncio,你也可以无需太多修改你的代码就能受益于 uvloop。

6.Tornado

Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。得利于其 非阻塞的方式和对 epoll 的运用,Tornado 每秒可以处理数以千计的连接,这意味着对于实时 Web 服务来说,Tornado 是一个理想的 Web 框架。

7.Twisted

Twisted是用Python实现的基于事件驱动的网络引擎框架。Twisted诞生于2000年初,在当时的网络游戏开发者看来,无论他们使用哪种语言,手中都鲜有可兼顾扩展性及跨平台的网络库。Twisted的作者试图在当时现有的环境下开发游戏,这一步走的非常艰难,他们迫切地需要一个可扩展性高、基于事件驱动、跨平台的网络开发框架,为此他们决定自己实现一个,并从那些之前的游戏和网络应用程序的开发者中学习,汲取他们的经验教训。

Twisted支持许多常见的传输及应用层协议,包括TCP、UDP、SSL/TLS、HTTP、IMAP、SSH、IRC以及FTP。就像Python一样,Twisted也具有“内置电池”(batteries-included)的特点。Twisted对于其支持的所有协议都带有客户端和服务器实现,同时附带有基于命令行的工具,使得配置和部署产品级的Twisted应用变得非常方便。

8.PyQuery

PyQuery 让你使用 jQuery 的风格来遍历 XML 文档,它使用了 lxml 来处理 XML 乃至 HTML 文档。

开发爬虫应用,一个好用的html解析库。

9.Fastapi

Fastapi是一款现代的、高性能的web框架, 用于基于标准Python类型提示使用Python 3.6+构建API. 主要特点有:

高性能,与NodeJS和Go相当,最快的python 框架之一 快速编写代码:将功能开发的速度提高大约200%至300% 更少的错误:减少约40%的人为错误(开发人员) 直观:强大的编辑器支持,花费调试时间更少 简易:旨在易于使用和学习, 减少阅读文档的时间。 简短:减少代码重复 稳健:获取可用于生产环境的代码, 具有自动交互式文档。 标准化: 基于(并完全兼容)API的开放标准:OpenAPI(以前称为Swagger)和JSON模式。

10.Flask

Flask 是一个微型的 Python 开发的 Web 框架,基于Werkzeug WSGI工具箱和Jinja2 模板引擎。 Flask使用BSD授权。 Flask也被称为“microframework”,因为它使用简单的核心,用extension增加其他功能。Flask没有默认使用的数据库、窗体验证工具。然而,Flask保留了扩增的弹性,可以用Flask-extension加入这些功能:ORM、窗体验证工具、文件上传、各种开放式身份验证技术。