我相信,当许多人使用Python提出接口请求(HTTP客户端请求)时,许多人必须使用这些请求:Urllib,Urllib3,请求。
没错,我经常使用它,这里出现的最美丽的幼崽是请求。毕竟,普通的接口请求通常是爬网机使用的,并且封装后更容易使用。
因此,在本文中,这是我对三个王国的分析之一。
本文主要分析这三个国家:
没有其他第三方库的帮助,请求只能发送同步请求。
请求是Python第三张库。处理URL资源特别方便,与Urllib3相比,它具有更多的功能,并且使用这些步骤很容易。
让我们深入介绍请求API源代码:从图片中,实际上,您可能可以查看对请求的支持。Time,请求接口验证,文件上传和其他功能。
日常生活中通常使用的处方应为以下格式
如果您只是询问接口并获取接口数据,则以上是足够的,不需要其他操作。
但是有时在爬网的场景中使用了请求,并且某些爬行动物需要继续登录以爬网。为了成功登录,要询问其他接口,您可能需要由先前生成的cookie或token生成。目前,需要保存此信息。
对于这种情况,您可以使用请求。Sessession,可以自动处理cookie并将其保持状态。
一般使用步骤应该是这样:
通过上面的大约步骤,足以保持信息状态。目前,使用这些维护信息来爬接界面并不是问题(根据原因,您可以模拟经典案例的TAOBAO PC末端,本文将不会详细介绍。)
没有其他第三方库的帮助,AIOHTTP只能发送异步请求。
实际上,人们很贪婪。在同步请求足以满足需求之后,人们将从其他方面(例如相同的界面)改进,希望更快地处理它,减少时间并不想阻止。
然后,有了这种需求,也会出现异步请求。在场时,支持异步请求的方式由异步/等待+asyncio+请求组成。您也可以使用AIOHTTP。
AIOHTTP是异步的异步库,具有异步的HTTP客户端和服务器编程的python。
AIOHTTP还可以设置诸如请求,请求头,cookie,代理,上传文件和其他功能之类的功能
可能使用代码表明这应该是常见的
当然,异步请求可能是接口返回数据在其他地方没有太强的依赖关系。异步的作用更多是提高效率和节省同步等待时间。
不依赖其他第三方库,HTTPX可以发送同步请求,但也会发送异步请求
HTTPX是Python中的新一代网络请求库。它包含以下特征
1.基于python3的HTTP请求模块与Python3
2.可以发送同步请求以及异步请求
3.支持HTTP/1.1和HTTP/2
4.可以将请求直接发送到WSGI应用程序或ASGI应用程序
安装HTTPX需要Python3.6+(使用异步请求需要Python3.8+)
HTTPX是Python的新一代网络请求库。这些功能和请求基本上是相同的,但是请求只能在第三部分库的支持下发送同步请求,而且HTTPX不仅可以发送同步请求,还可以发送异步。这比请求比请求更好。
因为它类似于请求,因此请求可以支持设置,因此HTTPX也可以支持
基本使用方式:
异步操作,使用异步/等待声明进行异步操作
与使用多线程发送请求相比,异步客户端的使用更有效,这可以更好地反映明显的性能优势
查看它,同步请求使用httpx.client(),异步请求使用httpx.asyncclient(),然后一些其他一些基本用法方法通常相似。
可以说,如果您精通请求,则可以开始理解AIOHTTP和HTTPX。
在此之后,我应该谈论的内容已经完成,我希望这些事情能给人们一点。当然,这篇文章并不完美。那些失踪和错误的人可以提出,我可以进一步学习。
最后,如果可以的话,就像它支持波浪。
原始:https://juejin.cn/post/710638788670999885