天天看点

再见requests!Python下一代 http客户端出炉啦!近期十大热门: 用Python一键生成炫酷九宫格图片,火了朋友圈 菜鸟也疯狂!8分钟用Python做一个酷炫的家庭随手记 Github获8300星!用Python开发的一个命令行的网易云音乐 一道Python面试题,硬是没憋出来,最后憋出一身汗! 卧槽!Pdf转Word用Python轻松搞定!

再见requests!Python下一代 http客户端出炉啦!近期十大热门: 用Python一键生成炫酷九宫格图片,火了朋友圈 菜鸟也疯狂!8分钟用Python做一个酷炫的家庭随手记 Github获8300星!用Python开发的一个命令行的网易云音乐 一道Python面试题,硬是没憋出来,最后憋出一身汗! 卧槽!Pdf转Word用Python轻松搞定!

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

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

再见requests!Python下一代 http客户端出炉啦!近期十大热门: 用Python一键生成炫酷九宫格图片,火了朋友圈 菜鸟也疯狂!8分钟用Python做一个酷炫的家庭随手记 Github获8300星!用Python开发的一个命令行的网易云音乐 一道Python面试题,硬是没憋出来,最后憋出一身汗! 卧槽!Pdf转Word用Python轻松搞定!

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

01.如何安装

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

02.快速使用

同步的http请求:

再见requests!Python下一代 http客户端出炉啦!近期十大热门: 用Python一键生成炫酷九宫格图片,火了朋友圈 菜鸟也疯狂!8分钟用Python做一个酷炫的家庭随手记 Github获8300星!用Python开发的一个命令行的网易云音乐 一道Python面试题,硬是没憋出来,最后憋出一身汗! 卧槽!Pdf转Word用Python轻松搞定!

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

异步的请求:

再见requests!Python下一代 http客户端出炉啦!近期十大热门: 用Python一键生成炫酷九宫格图片,火了朋友圈 菜鸟也疯狂!8分钟用Python做一个酷炫的家庭随手记 Github获8300星!用Python开发的一个命令行的网易云音乐 一道Python面试题,硬是没憋出来,最后憋出一身汗! 卧槽!Pdf转Word用Python轻松搞定!

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

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

再见requests!Python下一代 http客户端出炉啦!近期十大热门: 用Python一键生成炫酷九宫格图片,火了朋友圈 菜鸟也疯狂!8分钟用Python做一个酷炫的家庭随手记 Github获8300星!用Python开发的一个命令行的网易云音乐 一道Python面试题,硬是没憋出来,最后憋出一身汗! 卧槽!Pdf转Word用Python轻松搞定!

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

03.强大的功能

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

再见requests!Python下一代 http客户端出炉啦!近期十大热门: 用Python一键生成炫酷九宫格图片,火了朋友圈 菜鸟也疯狂!8分钟用Python做一个酷炫的家庭随手记 Github获8300星!用Python开发的一个命令行的网易云音乐 一道Python面试题,硬是没憋出来,最后憋出一身汗! 卧槽!Pdf转Word用Python轻松搞定!

还有发送表单数据

再见requests!Python下一代 http客户端出炉啦!近期十大热门: 用Python一键生成炫酷九宫格图片,火了朋友圈 菜鸟也疯狂!8分钟用Python做一个酷炫的家庭随手记 Github获8300星!用Python开发的一个命令行的网易云音乐 一道Python面试题,硬是没憋出来,最后憋出一身汗! 卧槽!Pdf转Word用Python轻松搞定!

04.实战异步玩一下

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

再见requests!Python下一代 http客户端出炉啦!近期十大热门: 用Python一键生成炫酷九宫格图片,火了朋友圈 菜鸟也疯狂!8分钟用Python做一个酷炫的家庭随手记 Github获8300星!用Python开发的一个命令行的网易云音乐 一道Python面试题,硬是没憋出来,最后憋出一身汗! 卧槽!Pdf转Word用Python轻松搞定!

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

  • 第一部分:就是用httpx构造一个client发起异步请求,连续请求100次,然后把这个100个请求任务包裹在async框架里面,进行并发处理
  • 第二部分:就是每一个去有道发起一个请求,然后用pyquery进行解析html文本数据

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

再见requests!Python下一代 http客户端出炉啦!近期十大热门: 用Python一键生成炫酷九宫格图片,火了朋友圈 菜鸟也疯狂!8分钟用Python做一个酷炫的家庭随手记 Github获8300星!用Python开发的一个命令行的网易云音乐 一道Python面试题,硬是没憋出来,最后憋出一身汗! 卧槽!Pdf转Word用Python轻松搞定!

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

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

end

近期十大热门:
           
  • 用Python一键生成炫酷九宫格图片,火了朋友圈
  • 菜鸟也疯狂!8分钟用Python做一个酷炫的家庭随手记
  • Github获8300星!用Python开发的一个命令行的网易云音乐
  • 一道Python面试题,硬是没憋出来,最后憋出一身汗!
  • 卧槽!Pdf转Word用Python轻松搞定!

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

菜鸟编程大本营

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

           
点这里,进菜鸟学PythonB站大本营