Python API教程:API入门(上)

这篇具有很好参考价值的文章主要介绍了Python API教程:API入门(上)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Python API教程:API入门(上)

导读:我在这篇文章中向大家讲解一个简单的API,包括淘宝/京东/拼多多各种商品数据。

Python API教程:API入门(上),python,java,tomcat

什么是API?

一个API,或被称为应用程序接口,是一个服务器为你提供一个接收或发送数据的代码。API通常用来接收数据。

本文就集中焦点在此话题中。

当我们想从一个API中接收数据,我们需要开始请求。请求可以包含整个Web。例如,你可以浏览博客文章。你的浏览器开始请求我们的Web服务器,会返回整个网页内容。

Python API教程:API入门(上),python,java,tomcat

淘宝API请求工作都遵循类似的路径,你发布一个请求到一个API服务器,它返回给你请求的数据。

如何在Python中发起API请求

在Python中,通常使用通用扩展库来发起API请求,这个库称为:Request库(https://2.python-requests.org/en/master/)。该请求库一分属于Python标准库,但需要我们来安装后才能使用。

一般人们都使用pip来管理Python的包,可以使用如下命令来安装它:

pip install requests

如果你使用conda,可以使用如下命令:

conda install requests

当我们安装好了这个库,在代码中就可以导入它。这是代码中的第一步:

import requests

现在我们已经导入了requests库,现在开始编码。

创建第一个API请求

这是我们第一个API请求,使用GET请求数据,这种方法也是常见的操作。

当我们发起请求,API通常会返回我们返回的编码,告诉是否请求成功。返回代码会立即告诉开发者是否有错误发生。

要创建GET请求,我们通常使用request.get()方法,需要一些URL参数。我们开始给API发起请求,类似于如下格式:

response = requests.get("http://api.open-notify.org/this-api-response-exist/")

get()函数返回一个response对象,可以用response.status_code属性来接收请求的状态码:

print(reponse.status_code)

它会返回404的状态码。程序员们都会知道,这是服务器端告诉我们,请求的文件不存在。

来看常见的API状态码

每次请求服务器都会返回状态码。以下是GET请求时相关的一些代码:

200:一切正常,结果已返回(如果有)。

301:服务器将重定向到其它节点。当切换域名或更改节点名称时,会发生这种情况。

400:服务器认为你发出了错误的请求。当没有正确发送数据时,会发生这种情况。

401:服务器认为您未通过身份验证。许多API都需要登录证书,因此当您没有发送正确的证书来访问API时,就会发生这种情况。

403:您尝试访问的资源被禁止:您没有正确的权限才能查看它。

404:在服务器上找不到要访问的资源。

503:服务器尚未准备好处理请求。

可以看到以4和5开头的都代表某种错误。以2开头的状态码表示成功。

API文档

为了确保人们能够正确发出请求,在使用API时,请务必参考API文档。编写文档会让人们有所畏惧,但使用的越来越多,你会发现它变得越来越容易。

我们将使用Open Notify API(http://open-notify.org/),该API可以访问国际空间站的数据。这是一个设计得很好的API,简洁且不需要身份验证。

通常,指定服务器上会提供多个API,这些API每一个都称为节点。我们将使用的第一个节点是:

http://api.open-notify.org/astros.json

它返回有关当前太空中宇航员的数据。

我们使用如下代码,向该API发起GET请求:

response = requests.get("http://api.open-notify.org/astros.json")print(response.status_code)

200

它将返回200代码,告诉我们请求成功了。API文档上告诉我们,它会返回Json数据。我们使用response.json()来接收从API返回的数据。

print(response.json())
{'message': 'success', 'people': [{'name': 'Alexey Ovchinin', 'craft': 'ISS'}, {'name': 'Nick Hague', 'craft': 'ISS'}, {'name': 'Christina Koch', 'craft': 'ISS'}, {'name': 'Alexander Skvortsov', 'craft': 'ISS'}, {'name': 'Luca Parmitano', 'craft': 'ISS'}, {'name': 'Andrew Morgan', 'craft': 'ISS'}], 'number': 6}

在Python中使用JSON数据

JSON是API的标准语言。它是一种编码数据结构,可以确保被机器有效读取。

JSON很像Python的列表、字典、字符串和整数,我们可以将JSON视为字符串表示这些对象的组合。

Python API教程:API入门(上),python,java,tomcat

Python对JSON文件提供了json的软件,用来解析转换JSON。json软件包是标准库的一部分,无需额外安装即可使用,即可以将列表和字典转换为JSON,也可以将字符转换为列表和字典。

json库有以下两个功能:

json.dumps()

用来接收一个Python对象,并将其转换为字符串;

json.loads()

接收JSON字符串,并将其转换为Python对象。

dumps()函数特别有用,可以用它来打印格式化的字符串,让JSON输出更加容易。如下代码:

import json


def jprint(obj):
    # create a formatted string of the Python JSON object
    text = json.dumps(obj, sort_keys=True, indent=4)
    print(text)


jprint(response.json())


{
    "message": "success",
    "number": 6,
    "people": [
        {
            "craft": "ISS",
            "name": "Alexey Ovchinin"
        },
        {
            "craft": "ISS",
            "name": "Nick Hague"
        },
        {
            "craft": "ISS",
            "name": "Christina Koch"
        },
        {
            "craft": "ISS",
            "name": "Alexander Skvortsov"
        },
        {
            "craft": "ISS",
            "name": "Luca Parmitano"
        },
        {
            "craft": "ISS",
            "name": "Andrew Morgan"
        }
    ]
}

这样,我们可以更轻松的理解数据结构,可以看到太空中有6个人,名字以字典的方式存在于列表中。文章来源地址https://www.toymoban.com/news/detail-522459.html

到了这里,关于Python API教程:API入门(上)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python调用讯飞星火大模型v3 api接口使用教程

            这里我们可以获取星火免费赠送的200万个token使用和测试,获取方法如下:         打卡网站讯飞星火认知大模型-AI大语言模型-星火大模型-科大讯飞 ,登录用户点击免费使用                 点击购买首次应该会让创建一个应用, 如下图,按要求内容随意填写

    2024年02月05日
    浏览(36)
  • 【 Python 入门教程 ② 】Python IDLE 下载教程

    本章节我们将向大家介绍如何下载 Python 官方编辑器 —— IDLE。 Python 可应用于多平台包括 Windows、Linux 和 Mac OS X。 Unix (Solaris, Linux, FreeBSD, AIX, HP/UX, SunOS, IRIX, 等等。) Win 9x/NT/2000 Macintosh (Intel, PPC, 68K) OS/2 DOS (多个DOS版本) PalmOS Nokia 移动手机 Windows CE Acorn/RISC OS BeOS Amiga VMS/OpenVM

    2023年04月18日
    浏览(35)
  • python爬虫教程:selenium常用API用法和浏览器控制

    selenium api selenium 新版本( 4.8.2 )很多函数,包括元素定位、很多 API 方法均发生变化,本文记录以 selenium4.8.2 为准。 webdriver 常用 API 方法 描述 get(String url) 访问目标url地址,打开网页 current_url 获取当前页面url地址 title 获取页面标题 page_source 获取页面源代码 close() 关闭浏览器当

    2024年02月05日
    浏览(38)
  • 星火认知大模型API接入Python教程,中文回答效果非常友好

    地址大概是这个: 自己创建一个应用: 进入控制台: 注意:我已经申请好了,如果你需要使用,需要提交一个申请,一般第二天通过。 我们可以看到右侧有三个参数:APPID、APISecret、APIKey,填入下方代码的main中即可: 运行如下: 似乎看起来跟GPT4.0回答差不多?总体效果还

    2024年02月13日
    浏览(27)
  • python爬虫入门教程(非常详细):如何快速入门Python爬虫?

    示例示例Python爬虫入门教程什么是爬虫爬虫(又称网络爬虫)是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。它可以自动地抓取网页内容,并从中提取有用的数据,存储到本地文件或数据库中。 Python爬虫入门教程 1. 什么是爬虫爬虫(又称网络爬虫)是一种

    2024年02月10日
    浏览(37)
  • Python入门教程 | Python 基础语法

    第一个字符必须是字母表中字母或下划线 _ 。 标识符的其他的部分由字母、数字和下划线组成。 标识符对大小写敏感。 在 Python 3中,可以用中文作为变量名,非 ASCII 标识符也是允许的了。默认情况下,Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 在Python中

    2024年02月11日
    浏览(37)
  • Python教程(14)——Python函数的入门学习

    函数是什么?在编程中,函数是一段可重用的代码块,用于完成特定任务或执行特定操作。它可以接输入参数并返回一个值或执行一系列操作。函数可以帮助程序员将代码模块化,提高代码的可读性和可维护性。 函数通常包括以下组成部分: 函数名:用于标识函数,并可以

    2024年02月08日
    浏览(41)
  • Python入门教程 | Python简介和环境搭建

    Python是一种高级编程语言,由荷兰人Guido van Rossum于1991年创建。它以其简单易学、可读性强和丰富的生态系统而受到广泛喜爱。它被广泛应用于各个领域,包括Web开发、科学计算、数据分析、人工智能等。 简洁易读:Python采用清晰简洁的语法,使用缩进来表示代码块,而不是

    2024年02月12日
    浏览(29)
  • Python 入门教程

    Python 是一门优雅、简洁、易读易写的编程语言。它被广泛地应用于科学计算、 Web 开发、自动化运维等领域,并且拥有强大的社区支持和生态系统。 在开始学习 Python 前,需要先安装 Python。可以前往 Python 的官方网站 https://www.python.org/downloads/ 下载并安装最新版本的 Python。

    2024年02月08日
    浏览(38)
  • Python入门教程 | Python3 列表(List)

    序列是 Python 中最基本的数据结构。 序列中的每个值都有对应的位置值,称之为索引,第一个索引是 0,第二个索引是 1,依此类推。 Python 有 6 个序列的内置类型,但最常见的是列表和元组。 列表都可以进行的操作包括索引,切片,加,乘,检查成员。 此外,Python 已经内置

    2024年02月09日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包