再见requests!Python下一代 http客户端出炉啦!

python-httpx 发送http2.0时代请求 在日常开发中,经常会发送各种各样的网络请求。Python中常用的网络请求库有requests、aiohttp、httpx等,httpx是基于Python3的新一代的网络请求库,它的功能很丰富,做个简答的介绍。 httpx是Python新一代的网络请求库,它包含以下特点 特点 基于Python3的功能齐全的http请求模块 既能发送同步请求,也能发送异步请求 支持HTTP/1.1和HTTP/2 能够直接向WSGI应用程序或者ASGI应用程序发送请求 安装 httpx需要Python3.6+(使用异步请求 阅读详情

小编玩Python大概是3-4年前,那个时间爬虫非常流行,到处都是爬虫的文章和视频,很多人入门Python都是从爬虫开始。几乎所有学Python都知道requests这个库,它大名鼎鼎K神的得意之作,非常好用。

但是随时Python异步async的大流行,由于requests本身是阻塞的导致在使用异步的时候有些捉襟见肘。今天小编来推荐一个牛逼的库,可以同时支持同步和异步的请求,一箭双雕,一起来看一下。

这个是库就是httpx,收获了5200颗星,号称是Python下一代的HTTP客户端,能够同时支持http同步和异步的请求,非常牛逼,我们快速来看一下。

01.如何安装

直接用pip install httpx 即可,非常方便

02.快速使用

同步的http请求:

这个get用法很简单,跟requests库非常相似

异步的请求:

直接和Python内置的asyncio库进行组合使用,进行异步请求。

还有一种就是直接使用httpx进行异步请求:

用法跟上面差不多,都是用AsyncClient来处理的,但是就是需要升级Python3.8以上才行。

03.强大的功能

httpx支持很多http的请求方式,除了我们常见的get请求之外 ,还支持自定义header,自定义post表单数据,发送文件分段上传,发送二进制请求数据等等。下面给大家简单看一下:

还有发送表单数据

04.实战异步玩一下

既然httpx它的一个很大的卖点是异步,说了这么多,我们用一个小的异步爬虫案例来玩一下httpx库,并发爬取有道词典看看效果。

整个程序非常短30来行,非常简单,就分两部分:

  • 第一部分:就是用httpx构造一个client发起异步请求,连续请求100次,然后把这个100个请求任务包裹在async框架里面,进行并发处理

  • 第二部分:就是每一个去有道发起一个请求,然后用pyquery进行解析html文本数据

我们看一下100次的请求大概需要多久

100次的异步请求大概花了3.5秒左右,还是相当的快滴。如果用requests库同步处理的花至少要20秒左右,httpx还是快不少的。

上面只介绍了一部分功能,httpx还有很多强大的功能,使用方法跟requests差不多。requests能支持的httpx都支持,requests不能干的事情httpx也能干。这个库野心还是很大的,当你的项目既要支持同步请求和也要支持异步请求的时候,httpx就该上场啦!有兴趣的小伙伴赶紧试试哦。

end

近期十大热门:

每个程序员都是从菜鸟开始成长起来的,没有人一开始就是程序员高手。菜鸟爱编程,专注于分享趣味的编程技巧,不限于Java, Python ,Go, Javascript等语言,让菜鸟爱上编程,进阶成为高手。

菜鸟编程大本营

长按2秒,输入:【书单】

点这里,进菜鸟学PythonB站大本营
spider-flow:新一代爬虫平台,以图形化方式定义爬虫流程,不写代码即可完成爬虫 ||| ||||| 介绍 平台以流程图的方式定义爬虫,是一个高度灵活可配置的爬虫平台 特性 支持Xpath / JsonPath / css选择器/正则提取/混搭提取 支持JSON / XML /二进制格式 支持多数据源,SQL select / selectInt / selectOne / insert / update / delete 支持爬取JS动态渲染(或ajax)的页面 支持代理 支持自动保存至数据库/文件 常用字符串,日期,文件,加解密等函数 支持插件扩展(自定义执行器,自定义方法) 任务监控,任务日志 支持HTTP接口 支持Cookie自动管理 支持自定义函数 插件 项目部分截图 爬虫列表 爬虫测试 除错 日志 其他开源项目 免责声明 请勿将spider-flow应用到任何可能会违反法律规定和道德约束的工作中,请友善使用spider-flow ,遵守蜘蛛协议,不要将spi 立即下载

相关推荐

模型检测--工具KeYmaera

论文:KeYmaera: A Hybrid Theorem Prover for Hybrid Systems 作者:Andre Platzer and JanKeYmaera摘要1 介绍2用于混合系统的KeYmaera验证工具3混合系统,混合自动机和混合程序 摘要 KeYmaera是一种用于混合系统的混合验证工具,它结合了演绎,实数代数和计算机代数证明者技术。它是自然的自动和交互式定理证明器 混合系统的规范和验证逻辑。 KeYmaera支持差分动态逻辑,它是用于混合程序的实值一阶动态逻辑,是混合自动机的程

ziigea的博客 1077

Python中使用HTTP/2进行请求的方法

通过选择合适的库并设置相应的参数,你可以轻松地向支持HTTP/2的服务器发送请求并处理响应。HTTP/2是HTTP协议的一个主要版本,相比于HTTP/1.1,它在性能、安全性以及功能方面有了显著的提升。Python中并没有直接内置对HTTP/2的原生支持,但我们可以借助一些第三方库来实现HTTP/2的请求。由于HTTP/2在底层使用了不同的协议机制,因此与HTTP/1.1相比,它可能具有不同的性能和安全性特性。这些库提供了与HTTP/1.1相似的API,但增加了对HTTP/2特性的支持。

weixin_73725158的博客 2330

C语言——利用矩阵LU分解法求逆、行列式

本章介绍了LU分解法,以及如何利用LU分解法求逆、行列式,针对每个公式、原理、代码进行了详细介绍,希望可以给大家带来帮助。

王元笙 1万+

【python修复bug】—— HTTP_2 网站超时问题的解决方案

在进行网络数据爬取时,使用 Python 程序访问支持 HTTP/2 协议的网站时,有时会遇到超时问题。这可能会导致数据获取不完整,影响爬虫程序的正常运行。在使用 Python 编写爬虫程序爬取 HTTP/2 网站时出现超时问题,可以通过设置下载超时时间、检查爬虫代码、使用代理、更新 Python 版本等方法来解决问题。如果仍然无法解决,建议与网站管理员联系,寻求他们的帮助和反馈。

xiaolinyui的博客 1193

Vcenter虚拟机磁盘转换实战:如何用StarWind V2V将vmdk转为qcow2(附空间优化技巧)

本文详细介绍了如何使用StarWind V2V Converter将Vcenter中的vmdk虚拟机磁盘高效转换为qcow2格式,并提供了空间优化技巧。从准备工作、导出vmdk文件到转换过程中的性能调优,帮助管理员在迁移虚拟机时减少资源消耗,确保数据完整性和性能。

dell8的博客 204

手机拍照对焦快准狠的秘密:一文看懂PDAF、Dual Pixel和Super PD的区别

本文深入解析手机拍照中的三种主流相位检测自动对焦(PDAF)技术:Shield Pixel、Super PD和Dual Pixel。通过对比它们的原理、优缺点及实际表现,帮助读者理解不同技术的对焦速度、暗光表现和画质影响,从而做出更明智的购机选择。

weixin_26985923的博客 490

Python3的下一代HTTP客户端——HTTPX

在 Python 中,访问网络资源最有名的库就是requestsaiohttp和httpx。一般情况下,requests只能发送同步请求;aiohttp只能发送异步请求;httpx既能发送同步请求,又能发送异步请求。下面,就着重介绍一下httpx的使用方法。

潘高的小站 1601

Fortran环境配置:VS2022+Intel oneAPI安装全流程指南

Fortran环境配置:VS2022+Intel oneAPI安装全流程指南

shuyisuisuinian的博客 2万+

一个神奇的Python库——Python下一代HTTP客户端HTTPX

HTTPX:Python 下一代 HTTP 客户端工具 HTTPX 是 Python 3 的全功能 HTTP 客户端,支持同步/异步 API 和 HTTP/1.1/HTTP/2 协议。它不仅具备 requests 的所有核心功能,如会话管理、SSL 验证等,还新增了多项优势:兼容 requests API、支持 HTTP/2、可直接请求 WSGI/ASGI 应用、完善的超时机制和类型注解。通过简单的 pip 安装即可使用,并能轻松完成网页请求等基础操作。HTTPX 在保持 requests 易用性的同时,提

遇码开源社区 468

【YOLOv11工业级实战】27. TensorRT量化实战:FP16/INT8极致加速!边缘设备YOLOv11推理速度提升4倍,精度损失控制在1.5%内

摘要:本文针对智慧园区200路摄像头实时分析的工业痛点——RTX 3080单卡仅能处理12路视频流(YOLOv11-nano FP32精度45FPS,需≥120FPS且精度损失≤3%),提供TensorRT量化完整解决方案。从原理解析(FP16/INT8精度差异与量化逻辑)到实操落地(ONNX转换、FP16引擎构建、INT8精细校准),全程给出可复用代码。实测显示:FP16量化后速度达128FPS(×2.8),精度损失0.2%。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1722

【系统架构设计师】预测试卷十:综合知识(75道选择题)

本文包含75道选择题,覆盖计算机系统、操作系统、网络、数据库、软件工程等核心知识域,其中系统架构设计与评估占比最高(19题)。题目难度稍高,注重灵活应用,题干全新且不与前8套重复。部分典型题目解析包括:计算机性能比较(CPU时间公式TLB/页表机制)、Cache写策略、流水线分支惩罚、管程条件变量、LRU近似算法、自旋锁适用场景、TCP字节流特性、Anycast应用、MVCC机制、分布式事务选型等。答案详解强调易错点,如性能比较需综合计算、TLB缺失不等于缺页、

数据知道的博客 479

python3.8安装requests库_再见requests!Python下一代 http客户端出炉啦!

小编玩Python大概是3-4年前,那个时间爬虫非常流行,到处都是爬虫的文章和视频,很多人入门Python都是从爬虫开始。几乎所有学Python都知道requests这个库,它大名鼎鼎K神的得意之作,非常好用。但是随时Python异步async的大流行,由于requests本身是阻塞的导致在使用异步的时候有些捉襟见肘。今天小编来推荐一个牛逼的库,可以同时支持同步和异步的请求,一箭双雕,一起来看一下...

weixin_39625162的博客 1281

200、从反激到LLC:工程师的成长之路

文章摘要: 本文以工程师视角探讨从反激式到LLC电源设计的思维转变。通过48V通信电源故障案例,揭示LLC谐振电容ESR温度特性引发的隐患,强调LLC需精确计算与测试。对比反激与LLC的核心差异:反激需控制寄生参数(如漏感尖峰、电容ESR),而LLC的关键在于频率响应和死区时间优化。作者提出三大思维转变:从匝比计算转向增益曲线分析,从时域波形观察转向频域频谱诊断,从元件更换转向参数调整。最后给出实战建议,包括建立故障库、关注元件参数细节及示波器调试技巧,指出工程师需从"控制"思维升级为"谐振"思维,实现技术

Jack010169的博客 323

python requests 上传文件_再见requests!Python下一代 http客户端出炉啦!

小编玩Python大概是3-4年前,那个时间爬虫非常流行,到处都是爬虫的文章和视频,很多人入门Python都是从爬虫开始。几乎所有学Python都知道requests这个库,它大名鼎鼎K神的得意之作,非常好用。但是随时Python异步async的大流行,由于requests本身是阻塞的导致在使用异步的时候有些捉襟见肘。今天小编来推荐一个牛逼的库,可以同时支持同步和异步的请求,一箭双雕,一...

weixin_39889642的博客 105

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

python3 爬虫 requests安装_再见requests!Python下一代 http客户端出炉啦!

小编玩Python大概是3-4年前,那个时间爬虫非常流行,到处都是爬虫的文章和视频,很多人入门Python都是从爬虫开始。几乎所有学Python都知道requests这个库,它大名鼎鼎K神的得意之作,非常好用。但是随时Python异步async的大流行,由于requests本身是阻塞的导致在使用异步的时候有些捉襟见肘。今天小编来推荐一个牛逼的库,可以同时支持同步和异步的请求,一箭双雕,一起来看一下...

weixin_39607837的博客 84

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

libhv HTTP客户端:Python requests风格全解析

作为C++开发者,你是否也曾羡慕Python开发者能用`requests`库三行代码完成HTTP请求?是否还在为libcurl的复杂API而头疼?是否在同步/异步、长连接/短连接、SSL/TLS、网络中转设置之间反复横跳?现在,这些问题都将成为过去——libhv网络库为你带来了Python requests风格的HTTP客户端API,让C++ HTTP开发从此变得简单优雅。 本文将带你全面掌握l...

gitblog_00072的博客 1192

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

太强了!HTTPX,Python中的下一代HTT客户端,比Requests更强大!

有人说它是 “requests 的升级版”,甚至可以理解成是 “requests + asyncio 的融合体”。从Python安装,入门,数据分析,爬取股票基金的历史+实时数据,以及如何写一个简单量化策略,策略回测,如何看资金曲线统统都有介绍,非常超值!所以,如果你用惯了 requests,切换到 httpx 没什么心理负担。还是非常赞的,有兴趣的同学可以下载安装试一下,如果有用过的同学也可以在留言区吱一声。在 Python 的世界里,如果要写爬虫、调用 API、写测试,相信大家都知道。

cainiao_python的博客 760

全面指南:HTTPX - 下一代Python HTTP客户端

HTTPX 是一个功能齐全的Python HTTP客户端库,支持同步和异步API,基于标准库的http包构建。它是requests库的现代替代品,添加了对HTTP/2、连接池和异步请求等功能的原生支持。HTTPX 是一个功能强大、现代化的HTTP客户端,适合从简单到复杂的HTTP请求场景。它结合了requests的易用性和现代Python特性,是构建HTTP客户端的绝佳选择。对于新项目,特别是需要异步支持或HTTP/2的项目,强烈建议考虑使用HTTPX而不是较老的requests库。

2127

HTTPX:Python下一代HTTP客户端库全面解析

HTTPX:Python下一代HTTP客户端库全面解析 【免费下载链接】httpx A next generation HTTP client for Python. ???? 项目地址: https://gitcode.com/gh_...

gitblog_00277的博客 603

HTTPX:Python 的下一代 HTTP 客户端

HTTPX 继承了 requests 的全部标准功能:Keep-Alive 连接池、Cookie 持久化、SSL 验证、Basic/Digest 认证、代理支持、流式下载、分块请求等。底层传输层用的是 httpcore,SSL 证书来自 certifi,异步库检测来自 sniffio,各组件分工明确。底层传输层用的是 httpcore,SSL 证书来自 certifi,异步库检测来自 sniffio,各组件分工明确。GI 或 ASGI 应用发请求,写测试时不用启动服务器,直接传入应用对象就行。

2601_94989961的博客 267

Python编程: HTTP 客户端库Requests库

requests 是 Python 中最流行的 HTTP 客户端库,用于发送 HTTP/1.1 和 HTTP/2 请求,支持同步和异步(需配合 aiohttp 或 httpx)。

倔强老吕的博客 1036

Python 中的 HTTP 客户端:Requests、HTTPX 与 AIOHTTP 对比

任何使用 Python 超过几分钟的人都一定接触过 Requests 库。它如此普及,以至于有些人甚至误以为它是 Python 标准库的一部分。Requests 的设计极其直观,以至于 r = requests.get(…) 这样的写法几乎成了肌肉记忆。相比之下,如果用 Python 内置的 urllib 编写脚本,往往第一步就是打开官方文档查阅用法。但 Python 在不断演进,如今再一味默认使用 Requests 已经不再是最优选择。

SunnyRivers 1308

Requests-Scala vs 其他Scala HTTP客户端:为什么选择它?终极对比指南

在Scala生态系统中选择HTTP客户端时,开发者常常面临多种选择。Requests-Scala作为Python Requests库的Scala移植版本,提供了独特而强大的解决方案。本文将为您详细对比Requests-Scala与其他主流Scala HTTP客户端,帮助您做出明智的选择。 ## 为什么Scala开发者需要优秀的HTTP客户端?🤔 现代Web开发离不开HTTP通信,无论是调用R

gitblog_00856的博客 1000

HTTPX-用于Python的下一代HTTP客户端

在使用 Python 进行接口自动化时,大多数都会使用 requests 模块,requests 是一个常用的 HTTP 请求库,可以方便地向网站发送 HTTP 请求,并获取响应结果。 本篇将介绍 Python 的下一代 HTTP 客户端 - HTTPX

伤心的辣条 643
上一篇: 面试阿里月薪 27k 数据岗,真的很难?
下一篇: 106页的《Python进阶》(中文版下载)
菜鸟学Python
博客等级 码龄9年 8084粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值