一个神奇的Python库——Python下一代HTTP客户端HTTPX
从我15年开始学习Python,requests在我心中的地位从来没有动摇过。然而,直到我遇到HTTPX——Python 的下一代 HTTP 客户端,未来我将会更多的使用。
什么是HTTPX
HTTPX 是 Python 3 的全功能 HTTP 客户端,它提供同步和异步 API,并支持 HTTP/1.1 和 HTTP/2。
简单会,HTTPX是requests更好的替代品。
功能
requests有的HTTPX也都有:
- 国际域名和 URL
- 保持活动和连接池
- 具有 Cookie 持久性的会话
- 浏览器样式的 SSL 验证
- 基本/摘要身份验证
- 优雅的键/值 Cookie
- 自动减压
- 自动内容解码
- Unicode 响应主体
- 分段文件上传
- HTTP(S) 代理支持
- 连接超时
- 流式下载
- .netrc 支持
- 分块请求
HTTPX 在requests之上又提供:
- 广泛兼容请求的 API
- 标准同步接口,但如果您需要,也可以提供异步支持
- HTTP/1.1和 HTTP/2 支持
- 能够直接向WSGI 应用程序或ASGI 应用程序发出请求
- 到处都有严格的超时限制
- 完整类型注释
- 100%测试覆盖率
快速开始
- 使用pip安装
sh
pip install httpx
- 导入HTTPX
python
import httpx
- 从访问一个网页开始
我们以获取百度热搜为例:
python
r = httpx.get('https://top.baidu.com/board?tab=realtime')
r.text
从结果看,我们已经获取到了页面的HTML,其中包含了我们感兴趣的热搜数据。
进阶
关于如何提取HTML中有用的数据并存入数据库中,将会在后续的文章中为大家介绍另外的工具。如果你想要继续探索HTTPX的强大能力,可以关注公众号:遇码,回复httpx获取官方文档。