<[object Object]>
Skip to content

一个神奇的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%测试覆盖率

快速开始

  1. 使用pip安装
sh
pip install httpx
  1. 导入HTTPX
python
import httpx
  1. 从访问一个网页开始

我们以获取百度热搜为例:

python
r = httpx.get('https://top.baidu.com/board?tab=realtime')
r.text

从结果看,我们已经获取到了页面的HTML,其中包含了我们感兴趣的热搜数据。

进阶

关于如何提取HTML中有用的数据并存入数据库中,将会在后续的文章中为大家介绍另外的工具。如果你想要继续探索HTTPX的强大能力,可以关注公众号:遇码,回复httpx获取官方文档。

遇码MeetCoding 开源技术社区