你必须知道的10个Python第三库
1. BeautifulSoup
Beautiful Soup是一个可以从HTML,XML进行提取文件的Python库,日常我们使用爬虫进行数据抓取回来之后,往往需要进行数据解析。
使用它能让你开心愉快提取里面的爬回来的数据。
2. Arrow
用过datetime标准库的同学都知道,这个库每次需要import各种时间模块格式化,非常不友好,arrow直接接受各种时间(datetime,date,timestamp)类型转化为Arrow类型,然后进行各种格式化操作,非常方便。很是人性化,简直是居家旅行必备良药
3. Requests
题图就是requests的logo,这个库使用量之大,Python开发者应该是无人不知无人不晓。
requests是日常网络库使用最频繁的一个,不管是用于正式还是测试,它完全满足与日常网络的需求,非常人性化,简单好用。
requests目前在github有36+的star,除了功能强大,源码也是写的非常赞。五星推荐
4. Fabric
对于少量服务器,日常自动化发布配置,与服务器交互只需要配置一个fabfile.py的自动化脚本就行,非常简单方便。如果需要更多配置运维可以使用ansible,这个后期我单独和大家讨论。
5. Statsd
作为一枚开发同学,服务器API性能,耗时监控是一个很重要的数据,我们需要收集起来进行实时分析。
statsd是一个网络守护进程,通过Python客户端,我们可以统计监听API数据发送到服务端,比如ES,influxdb,promethues,并且用Grafana进行数据展示。
6. Gevent
gevent是基于协程的Python网络库,通过gevent使的协程的使用变得非常简单,遇到阻塞你不需要显示切换,程序会进行自动调度。使用非常广泛,在部署flask,celery往往会加入gevent提高服务性能。
7. Supervisor
之前文章提到过supervisor可以大大方便我们进行进程管理,开始,重启,停止,查看日志等等。
8. Voluptuous
这个库估计很多同学不知道,主要是日常写API的时候进行数据校验,当前端API传递参数过多的时候,这个库,可以通过装饰器的方式提前进行校验数据逻辑,大大降低了你在代码逻辑校验数据的耦合,强烈推荐后端的同学使用。
9. Raven
单纯这个名字大家可能不那么敏感,但是sentry大家肯定就知道了。
这个库就是sentry服务的SDK包。对于日常邮件报警我们通过安装了这个包配合sentry后端服务,就能够进行各种邮件报警的错误收集。
另外通过设置日志等级,我们能轻松通过logger进行触发报警。
这个包适合多个语言,不仅仅是Python语言之下。