API代表应用程序编程界面。本质上,API充当通信层,或者是名称所暗示的接口,该接口允许不同的系统相互通信而无需相互准确地了解彼此。
API可以具有多种形式或形状。它们可以是操作操作的操作系统API,例如打开相机和音频以添加Zoom CallS.,或者它们可以作为网络中心操作的网络API,例如Instagram或Instagram上的图像获取最新推文。
无论采用哪种类型,所有API的功能都大致相同。您通常请求信息或数据,并且API根据您的请求返回响应。例如,每次打开Twitter或down instagram时,您基本上将请求发送到应用程序背后的API并获得响应作为返回。此也称为调用API。
在本教程中,您将更多地关注Cross -Network Communications(也称为Web API)的高端API。
尽管上面提到的一些示例是新的平台或应用程序,但Web API已经存在很长时间了。在1990年代末和2000年代初期,两个不同的设计模型成为公共数据的正常状态:
1.肥皂(简单对象访问协议)通常与企业世界相关联,基于合同的使用更严格,主要围绕操作设计。
2. REST(类似的状态传输)通常用于公共API,这是从Web获取数据的理想选择。它比肥皂轻得多,更接近HTTP规格。
今天,镇上有一个新孩子:graphql.graphql是由Facebook创建的。这是一种非常灵活的API查询语言。客户端可以准确地确定他们想从服务器中获得什么,而不是服务器决定发送的内容。
如果您想进一步了解这三个设计模型之间的差异,那么这里有一些不错的资源:
尽管GraphQL正在越来越多地被github和Shopify在内采用,但大多数公共API仍在休息。因此,就本教程而言,您只会了解REST API以及如何与Python一起使用它们。
将API与Python一起使用时,您只需要一个库:请求。有了它,您应该能够执行大部分使用任何公共API(如果不是全部)。
您可以在控制台中安装以下命令:
要遵循本教程中的代码示例,请确保您使用Python3.8.1和请求2.24.0或更高版本。
没什么可说的 - 现在是您第一个API调用的时间!对于第一个示例,您将调用流行的API来生成随机的用户数据。
在整个教程中,您将看到警报中引入的新API,如下所示。这是一种方便的方式。您可以滚动浏览,并快速找到您所知道的所有新API。
随机用户生成器API:这是生成随机用户数据的好工具。您可以使用它来生成任何数量的随机用户和相关数据,并且还可以指定性别,国籍和许多其他过滤器。在测试应用程序或在这种情况下,这些过滤器非常有用。
当开始使用随机用户生成器API时,您唯一需要知道的就是使用它来调用它。在此示例中,您要使用的URL是https://randomuser.me/api/。这是您可以做的最小的API调用:
>>>
在这个小示例中,您导入的请求库,然后从URL从随机用户生成器API获取(或获得)数据。但是您实际上看不到任何返回数据。您得到的是响应[200],这意味着在API术语中一切正常。
如果要查看实际数据,则可以从返回的响应对象中使用.TEXT:
>>>
就是这样!这就是API消费的基本知识。您尝试使用Python并请求库从随机用户生成器API中获取您的第一个随机用户。
如您在其中所见,使用API需要知道的第一件事是API URL,通常称为基本URL。基本的URL结构与您用于浏览Google,YouTube或Facebook的URL没有什么不同,尽管它通常包含单词
API。这不是强制性的,这只是更多的经验。
例如,以下是一些知名的API播放器的基本URL:
如您所见,上述所有内容均为https:// api,包括剩余的官方域,例如.twitter.com或.github.com。API基本URL外观没有特定的标准,但通常是常见的模仿这种结构。
如果您尝试打开上述任何链接,您会注意到大多数返回错误或提供凭据的请求。这是因为API有时需要使用身份验证步骤来使用它们。您将了解有关此教程的更多信息。
Thedogapi:此API非常有趣,但这也是一个很好的例子。这是一个很好的API,也是一个很好的文档。您可以获得不同的狗品种和一些图像,但是如果您注册,也可以为自己喜欢的狗投票。
接下来,使用您刚刚引入的Thatdogapi,您将尝试发送一个基本请求,以查看与上面尝试过的随机用户生成器API的不同之处:::::
>>>
在这种情况下,当您调用基本URL时,您将收到一条通用消息,即Thedog API。这是因为您调用了基本URL,通常用于有关API的非常基本的信息,而不是真实的数据。
单独调用基本URL并不有趣,但这是以方便发送的端点。一个端点是指定URL的URL资源的一部分,您想获得它。根据可用的API,它通常包含API参考,这对于理解API的确切端点和资源以及如何使用它们非常有用。
您可以查看官方文档,以了解有关如何使用Thedogapi和可用端点的更多信息。在此,您会找到一个/byeds端点,您可以使用它来获取所有可用品种的资源或对象。
如果您向下滚动,您将找到测试请求的部分,您将看到下面显示的表格:
这是您在许多API文档中都会看到的:一种方法,可以快速从文档页面上测试API。在这种情况下,您可以单击发送以快速获取调用端点的结果。等待,您只需要调用API不为此编写任何代码。
现在,使用您已经拥有的多种端点和一些API知识,请在本地尝试代码:
>>>
好吧,您列出了狗API的第一个品种!
如果您是猫,请不要担心。您也可以使用API。它具有相同的端点,但具有不同的基本网址:
>>>
我敢打赌,您已经在考虑使用这些API来制作一些可爱的子项目。这是API的伟大性。一旦您开始使用它们,没有什么可以阻止您将自己的爱好或激情变成有趣的小型项目。
如果您向前迈进,那么您需要了解一件事,您需要了解端点http:/and https://..in的差异,https是http的加密版本,它使客户端和服务器之间的所有流量更加安全。公共API,您绝对应该避免将任何私人或敏感信息发送到http:// endpoints,而仅使用提供安全https:// basic URL的API。
有关在线浏览过程中使用HTTPS的重要性的更多信息,请与Python联系以探索HTTPS。
在下一部分中,您将了解有关API调用的主要组件的更多信息。
正如您在上面简要阅读的那样,客户端之间的所有交互(在此示例中是您的Python控制台)和API分为请求和响应:
再次使用thedogapi,您可以了解请求和响应对象中的确切内容:
>>>
上面的示例向您显示了可用于请求和响应对象的一些最重要的属性。
您将在本教程中了解有关某些属性的更多信息,但是如果您想进一步挖掘,那么您可以查看Mozilla的HTTP消息文档,以获取对每个属性的更深入的解释。
状态代码是任何API响应中最重要的信息之一。他们会告诉您您的请求是否成功,缺乏数据,缺乏凭据等等。
随着时间的流逝,您将在没有帮助的情况下确定不同的状态代码。但是就您而言,您将在此处找到一些最常见的状态代码:
您可以在200个OK的执行示例中看到,甚至还找不到404识别网络。
有趣的事实:该公司倾向于将404错误页面用于私人笑话或纯粹的乐趣,如下所示:
但是,在API世界中,开发人员对此有趣的反应有限。但是他们可以弥补其他地方,例如HTTP标头。您将很快看到一些例子!
您可以使用.status_code并检查响应状态。
>>>
上面的请求返回200,因此您可以认为这是一个成功的请求。但是现在查看端点/breedz中包含拼写错误的故障请求:
>>>
如您所见,/breedz端点不存在,因此API返回404不找到状态代码。
您可以使用这些状态代码快速检查您的请求是否需要更改,或者应该再次检查文档以找到拼写错误或缺乏的任何部分。
HTTP标头用于定义一些管理请求和响应参数:
检查请求或响应时,您还可以找到许多其他头部。如果您对每个特定目的都感到好奇,请检查Mozilla的扩展列表。
要检查响应的标题,您可以使用响应。
>>>
要执行请求标头的相同操作,您可以使用response.request.headers,因为请求是响应对象的属性:
>>>
在这种情况下,您在发送请求时不会定义任何特定的标头,因此您返回默认标题。
使用API时,您可能会遇到的另一个标准是使用自定义标头。它们通常是X-,但不是必需的。API开发人员通常使用自定义标头发送或请求其他自定义信息。
有趣的事实:有些公司没有付出任何努力来变得有趣和创新,并以不应使用的方式使用HTTP标头,例如要求工作申请。
您可以使用字典来定义标题,并且可以使用标题参数将其发送给您的请求.get()。
例如,假设您要向API服务器发送一些请求ID,并且您知道可以使用X-Request-ID:
>>>
如果您浏览请求。Newersdictionary,您会在X-Request-ID的末尾找到其他一些头。这些标头是任何API请求的默认标头。在响应中可能有许多有用的出价,但是最重要的头之一是内容类型,该响应类型定义了响应中返回的内容类型。
Content-Type现在使用JSON作为默认内容类型,但是您可能需要使用返回XML或其他媒体类型的API(例如图像或视频)。在这种情况下,内容类型将有所不同。
如果您查看Thedapi的示例之一并尝试检查内容类型标题,则您会注意到如何将其定义为应用程序/JSON:
>>>
除了特定类型的内容(在此示例中的应用程序/JSON)外,标题还可以返回响应内容的指定编码。
packgoat API:这是一个非常愚蠢的API,它返回不同尺寸的山羊图像。您可以将其用作网站中的占位符图像。
例如,如果您尝试从pactogat api获取山羊的图像,那么您会注意到内容类型不再是应用程序/json,而是定义为Image/jpeg:
>>>
在这种情况下,内容类型标题返回的内容是jpeg image。您将学习如何在下一节中查看此内容。
内容类型的头非常重要。您需要知道如何处理响应以及如何处理其内容。还有数百种可接受的内容类型,包括音频,视频,字体等。
据您了解,根据内容类型标题,您在API响应中发现的内容类型将有所不同,您可以使用它们来操作响应数据:
您已经使用了上面的.TEXT.,但是对于某些特定类型的数据,例如图像和其他非文本数据,使用.content通常是更好的方法。即使结果返回的结果也与.text非常相似:
>>>
如您所见,.content和.text。但是,通过检查响应内容类型标头,您可以看到内容是
应用程序/json;json对象。对于这种内容,请求库包含一个特定的.json()方法。您可以使用此方法立即将API字节响应转换为Python数据结构:
>>>
如您所见,在执行响应。JSON()后,您将获得一本字典,您可以像Python中的任何其他字典一样使用它。
现在,查看最新使用placsoat API的示例,尝试获取相同的山羊图像并查看其内容:
>>>
在这种情况下,由于您询问图像,因此.content并不是很有帮助。实际上,这几乎是不可能理解的。会发生什么:
>>>
现在,如果您打开正在工作的文件夹,您会找到一个goat.jpeg文件,这是您刚刚获得的goat的随机图像。
调用API时,有几种不同的方法,也称为动词,可用于指定要执行的操作。例如,如果要获取一些数据,则将使用它来获取。如果要创建一些数据,则将使用发布方式。
使用API消耗数据时,您通常会坚持使用GET请求,但这是最常见的方法及其典型用例:
这四种方法通常称为CRUD操作,因为它们让您重新排列,[r ead,üpdate和d elete Resources。
注意:还有一种附加的补丁方法,它也与CRUD操作相关联,但它略低于以上四种方法。它用于执行部分修改,而不是使用完全替换资源PUT。
您可以阅读有关两者之间的PutPatch的更多信息,并了解他们的不同需求。
如果您对HTTP方法的其余部分感到好奇,或者您只想更多地了解提到的方法,请检查Mozilla的文档。
到目前为止,您只能使用.get()获取数据,但是您也可以使用请求来包装所有其他HTTP方法:
>>>
如果您在控制台上尝试它们,那么您会注意到其中大多数返回405Method不允许状态代码。这是因为并非所有终端都允许发布,放置或删除方法。尤其是当您使用公共API读取数据时,您会发现大多数API允许请求,因为您不允许创建或更改现有数据。
有时,当您调用API时,您会收到很多不必要或不必要的数据。只想提取有关给定品种的一些信息。这是将武术用于查询参数!
当您在线浏览时,您可能已经看到或使用了查询参数。例如,在观看YouTube视频时,您有类似的
https://www.youtube.com/watch?v=al5gk2lvmwi。按v = URL中的v =是您所说的查询参数。通常是在基本URL和端点之后。
要将查询参数添加到给定的URL中,您必须在第一个查询参数之前添加问号()。如果您需要在请求中的多个查询参数,则可以将它们与&numbess(&)分开。
同一YouTube URL上有多个查询参数:https://www.youtube.com/watch?v = al5gk2lvmwi&t = 75。
在API世界中,查询参数被用作过滤器,您可以使用API请求发送它以进一步降低响应范围。例如,当您返回随机Usergenerator API时,您知道如何生成随机用户:
>>>
但是,假设您特别想生成随机的女性用户。根据文档,您可以使用查询参数性别=:
>>>
太好了!现在假设您只想从德国生成女性用户。再次查看文档,您会发现国籍的一部分,您可以使用查询参数nat =::
>>>
使用查询参数,您可以开始从API中获取更具体的数据,从而使整个体验更符合您的需求。
为了避免一遍又一遍地重建URL,您可以使用参数属性将查询参数的所有字典发送到URL:
>>>
您可以将上述内容应用于您喜欢的任何其他API。如果您返回Thornapi,则文档中有一种方法可以允许您过滤品种的端点以返回到仅与特定名称匹配的品种。例如,如果您想找到拉布拉多品种,则可以使用查询参数实现Q:
>>>
您拥有它!通过使用值labradoodle发送Q查询参数,您可以过滤所有与此特定值匹配的品种。
提示:当您重复使用相同的端点时,最好的方法是将其定义为代码顶部的变量。当您反复与API互动时,这将使您的生活更轻松。
借助查询参数,您可以进一步减少请求范围并准确指定要寻找的内容。在Internet上可以找到的大多数API都具有某些类型的查询参数,并且可以使用它们来过滤数据。切记查看文档和API以查找它们。
现在,您对使用Python使用API的基本知识有了很好的了解,即使它是简短的,例如身份验证,分页和速度限制,也有一些更高级的主题值得探索。
API身份验证可能是本教程中涵盖的最复杂的主题。尽管许多公共API是免费且完全公开的,但某种形式的身份验证背后还有更多的API。许多API需要需要身份验证,但是有一些很好的例子这里:
身份验证方法的范围从简单和清晰(例如API密钥或基本身份验证方法)到更复杂,更安全的技术(例如OAUTH)。
通常,呼叫无凭证或使用错误凭据的API将返回401unauthorized或403禁止状态代码。
最常见的身份验证级别是API键。这些密钥用于将您识别为API用户或客户并跟踪您对API的使用。API密钥通常以请求标头或查询参数发送。
NASA API:最酷的开放API集之一是NASA提供的API。您可以找到API以获取天文图像或地球多色成像摄像头(EPIC)拍摄的图片。
在此示例中,您将使用NASA的Marsrover Photo API并在2020年7月1日拍摄照片。为了进行测试,您可以使用Demo_keynasa Default提供的API键。NASA的主API页面,然后单击以开始使用它。
您可以通过附加API_KEY =查询参数添加API键:
>>>
到目前为止,一切都很好。
现在看这个响应对象,并尝试从中提取一些图片:
>>>
使用.json()将响应转换为Python词典,然后照片从响应中获得了字段。您可以穿越所有照片对象,甚至可以获取特定照片的图像URL。如果您在浏览器中打开URL,那么您会看到火星采用以下图片MARS探测:
在此示例中,您从响应词典()中选择特定的Earth_date(2020-07-01),然后选择特定的照片4.在继续进行之前,尝试更改日期或从不同的摄像机中获取照片以查看其如何更改最终结果。
API身份验证的另一个非常常见的标准是OAuth。在本教程中,您只会学习OAuth的基本知识,因为这是一个非常广泛的主题。
即使您不知道它是OAuth的一部分,您也可能已经看到并使用了OAuth流程。既然应用程序或平台具有登录方法或持续方法选项,那么这是OAuth流程的起点:
以下是将继续使用Facebook的情况的一步部分:
1. Spotify应用程序将要求Facebook API启动身份验证过程。为此,Spotify应用程序将在成功或错误后将其应用程序ID(client_id)和URL(redirect_uri)发送给用户。
2.您将被重定向到Facebook网站,并要求您登录您的凭据。Spotify应用程序将看不到或无法访问这些凭据。这是Oauth的最重要好处。
3. Facebook将向您显示Spotify应用程序从您的个人数据中要求的所有数据,并要求您接受或拒绝共享数据。
4.如果您接受Spotify访问数据的数据,那么您将被重定向到已登录的Spotify应用程序。
执行步骤4时,Facebook将为Spotify提供特殊的凭据(access_token),可以重复使用以获取您的信息。此特定的Facebook登录令牌有效期为60天,但其他应用程序可能具有不同的有效期。如果您很好奇,,然后Facebook有一个设置页面,您可以看到哪些应用程序获得了您的Facebook访问令牌。
现在,从更技术的角度来看,以下是使用OAuth使用API时需要理解的内容:
上面有一些变体,但是通常,大多数OAUTH过程都具有与这些相似的步骤。
提示:当您仅测试并需要重定向到URL时。代码,您可以使用名为HTTPBIN的服务。
更具体地说,您可以将其https://httpbin.org/anything用作重定向到URL,因为它仅作为获得的输入输出。您可以从线路测试中导航到URL。
接下来,您将研究使用GitHub API的示例!
如您在其中所见,您需要做的第一件事是创建一个应用程序。https://httpbin.org/anything授权URL字段授权回调URL字段。
GitHub API:您可以在许多不同的用例中使用GitHub API,例如获取您属于的存储库列表,您拥有的关注者列表等。
创建应用程序后,将client_id和client_secret复制以复制并粘贴redon文件,名为github.py在URL中:
现在,您已经准备了所有重要变量,并且需要创建一个链接以将用户重定向到其GitHub帐户,如GitHub文档中所述:
在此代码中,您首先定义API期望的必要参数,然后使用请求包和.get()。当您将请求发送到/login/oauth/授权端点时,API将自动将您重定向到GitHub网站。在这种情况下,您希望URL从响应中获取参数你重新定义。
授权过程的下一步是交换您可以访问令牌的代码。类似,根据GitHub文档中的步骤,您可以为其创建一种方法:
在这里,您将请求发布到交换代码以访问token.in此请求中,您必须发送client_secretandAndCode,以便github可以验证该特定代码最初是由您的应用程序生成的。仅以这种方式,只能以这种方式github api生成有效的访问令牌并返回并返回它给你。
现在,您可以将以下内容添加到您的文件中,并尝试运行它:
如果一切都执行,那么您应该获得有效的访问令牌作为奖励。您可以使用它来调用GITHUB API,以模拟已验证身份验证的用户。
现在,尝试添加以下代码以获取使用用户API的用户配置文件,并打印您的名称,用户名和私有存储库:
现在您拥有有效的访问令牌,并且需要使用授权标题将其发送到所有API请求中。对您的请求的响应将是包含所有用户信息的Python字典。从字典,您想要获取的字段,登录字段,,total_private_repos.you还可以打印响应变量以查看其他可用字段。
好的,应该这样!唯一要做的就是将它们放在一起并尝试:
运行上述代码时将发生以下条件:
1.它将生成一个链接,要求您转移到GitHub页面进行身份验证。
2.根据此链接登录并使用您的github凭据,您将重定向到定义的定义URL,其中包含
代码查询参数中的字段:
1.将代码粘贴到控制台中后,您可以将代码交换以重复使用的访问令牌。
2.您的用户信息是通过使用访问令牌获得的。打印您的姓名,用户名和私人存储库数。
如果您遵循上述步骤,则应获得类似的最终结果:
这里需要执行许多步骤,但是重要的是,您必须花时间真正理解每个步骤。大多数OAuth API都会共享许多相同的行为,因此,当您从API中阅读数据时,您将完全了解此过程将释放很多潜力。
随机改进此示例并添加更多功能,例如获得开放式和星形基准或穿越追随者以识别最受欢迎的存储库。
互联网上的Oauth上有许多出色的资源。如果您确实需要使用OAuth后面的API,那么我建议您特别对主题进行更多研究。这里是一些好的起点:
从API消费的角度来看,当您与公共API互动时,您肯定会派上用户。大多数API使用OAuth作为其身份验证标准,这已经足够了。
在客户端和服务器之间来回发送大量数据是昂贵的:bandwidth.in,以确保服务器可以处理大量请求,API通常使用页面。
就非常简单的术语而言,分页是一种将大量数据划分为多个较小部分的行为。
您可以从许多其他网站中识别出这一点,并且不同网站的概念大致相同。特别是对于API,通常通过查询参数处理,主要是以下两个:
1.页面,您当前要求您定义哪个页面属性
2.大小定义每个页面的大小
由于API开发人员之间的差异,特定的查询参数名称可能会大不相同,但是该概念是相同的。一些API播放器还可以使用HTTP标头或JSON响应来返回当前的分页过滤器。
再次使用github api,您可以在包含分页查询参数的文档中找到事件的终点。此参数per_page =定义要返回的项目数,并且page =允许您在多个结果页上页面下面的这些参数:
>>>
使用第一个URL,您只能获得一个事件。但是使用page =查询参数,您可以继续对结果进行分页,以确保您可以获取所有事件并且不能使API过载。
鉴于API是为公众提供的,任何人都可以使用它,恶意的人经常试图滥用它们。为了防止此类攻击,您可以使用一种称为费率限制的技术,这限制了用户可以在一个内部发出的请求的数量给定时间范围。
如果您经常超过定义率限制,则某些API实际上可能会阻止您的IP或API键。请注意不要超过API开发人员设置的限制。否则,您可能需要等待一段时间才能再次致电API。
对于以下示例,您将再次使用github api和/事件端点。根据其文档,github允许大约60个请求,而无需每小时身份验证。如果此值超过此值,则您将获得403个状态代码,您将获得403个状态代码,您将获得403个值长期无法执行任何API调用。
警告:运行下一个代码以防止您在一段时间内调用GitHub,因此在运行它之前,请确保您暂时不需要访问GitHub的API。
为了演示,您将尝试使用目的地超过GitHub的费率限制,以查看会发生什么。
>>>
您有:大约60个请求后,API停止返回200 OK响应,并返回403禁止响应以通知您API速率限制超出了API速率。
一些API(例如GitHub)甚至可能包括有关当前费率限制和标题中剩余请求的其他信息。这些对您避免定义非常有帮助。请查看最新响应。那些特定的费率限制标头。
既然您已经了解了所有理论并尝试了一些API,则可以通过一些更实用的示例巩固这些知识。您可以根据自己的目的修改以下示例以自定义它们。
您可以通过下载以下链接中提供的源代码来学习这些示例:
如何制作一个小脚本并从Giphy网站获取前三名流行的GIF图片?到此为止,您需要创建一个应用程序并从Giphy获取API键。您可以通过以下框找到说明,或者您可以查看Giphy的快速输入文件。
创建giphy
有了API键后,您可以开始编写一些代码以使用API。有时您想在意识到很多代码之前都要进行一些测试。我知道我知道。问题是有些API实际上会为您提供服务直接从文档或其仪器面板获取API数据的工具。
在这种特殊情况下,Giphy为您提供了API探索器。创建应用程序后,它允许您在不编写代码行的情况下开始使用API。
其他API将为您提供文档本身中的资源管理器。这就是Thedogapi在每个API参考页面的底部完成的操作。
无论如何,您始终可以使用代码使用API,这是您必须在此处执行的操作。从仪表板中获取API键。通过替换API_KEY下方变量的值,您可以开始使用GIPHY API:
在文件顶部的第四和第五行,您定义API_KEY API和GIPHYAPI。端点通常会更改,因为它们不会像其他部分一样改变它。
在第7行中,使用您在查询参数中学习的知识,定义参数并添加您自己的API键。您还包括其他一些过滤器:限制获得3个结果,而评级仅获得适当的内容。
最后,在得到响应后,您将在第9行中遍历结果。对于每个GIF,您将其标题,日期和URL打印在第13行中。
在控制台中运行此代码将输出一些结构化的GIF列表:
现在,假设您要制作一个允许您搜索特定单词并获得单词的第一个Giphy匹配的脚本。可以快速完成上述代码的不同端点和次要更改:
您拥有它!现在您可以根据自己的喜好修改此脚本并根据需要生成GIF。尝试从您喜欢的节目或电影中获取GIF,在您的终端中添加快捷方式,以获取最受欢迎的GIF或您喜欢的消息。传输系统(WhatsApp,Slack等)API集成。然后开始向您的朋友和同事发送GIF!
尽管您现在可能已经厌倦了这一点,但是有一个免费的API,其中包含最新的全局COVID-19数据。此API不需要身份验证,因此立即获得一些数据非常简单。您将使用免费版本以下具有速度限制和一些数据限制,但对于小用例就足够了。
在此示例中,您将获得前一天的诊断总数。我随机选择德国作为一个国家,但是您可以选择自己喜欢的任何国家 /地区:
在第一行和第二行中,您介绍了必要的模块。在这种情况下,您必须导入日期和TimeDelta对象才能在今天和昨天获得日期。
在第6行至第8行中,您定义了要使用的SLUG,端点和API请求的查询参数。
回应是日子清单。对于每天,您都有一个包含日期诊断案例总数的字段。在第11行中,您创建了一个变量以节省确认案例的总数,然后在第14行中,您遍历了所有天数,添加了它们。
印刷的最终结果将显示在该国/地区选择的确认案件的总数:
在此示例中,您查看整个国家/地区的确认案例总数。但是,您还可以尝试查看文档并从特定城市获取数据。为什么不要让它变得更详尽并获得其他数据,例如作为已恢复的案件数量?
如果您对书籍充满热情,那么您可能需要一种快速搜索特定书籍的方法。您甚至可能想将其连接到本地图书馆搜索,以检查使用本书的ISBN是否可以找到给定的书。
在此示例中,您将使用Google书籍API和公共卷曲端点来执行简单的书籍搜索。
这是Moby Dick在整个目录中找到单词的简单代码:
此代码示例与您之前看到的代码示例非常相似。从第三和第四行开始,定义了重要的变量,例如端点,在此示例中查询。
在发送API请求后,它迭代了第8行中的结果,然后在第13行中迭代结果,这是打印与初始查询相匹配的每本书的最有趣的信息:
您可以在周期中打印变量以查看您拥有的其他字段。这里是一些内容,可以进一步改进此代码:
使用此API的一个有趣的挑战是使用您的oauth知识并创建自己的书架应用程序来录制您阅读或要阅读的所有书籍。您从愿望清单附近出售的书籍。这只是一个主意 - 我相信您可以提出更多。
关于API,您还可以了解其他一百万个其他内容:不同的头脑,不同的内容类型,不同的身份验证技术等。并使用Python满足您可能拥有的任何API使用需求。
本文分享了华为云社区的诚意,作者:Yuchuan。