[小白向]Python使用request库调用API并获取返回的JSON数据包中的内容
目录
对于参数可以直接写入链接中的接口(适用于参数较少时)
对于参数需要使用字典进行携带的接口(适用于请求头中参数较多时)
本文介绍了使用GET的方式调用API的方式,如需要使用POST方式,将代码中的get换为post即可
对于参数可以直接写入链接中的接口(适用于参数较少时)
对于能够直接通过链接访问,不需要在请求头中提供额外参数的API接口能够直接进行调用可以参考如下代码
此处使用木小果API(https://api.muxiaoguo.cn/)提供的API接口进行示范
import requests
# 使用Get的方式调用API接口,并将返回的值保存为response
response = requests.get('https://api.muxiaoguo.cn/api/tianqi?city=南京&type=1')
# 使用request内置的json()函数将数据解析为列表形式
print(response.json()['data']['cityname']) # 根据想要获取的数据,直接使用索引就行输出
print(response.json()['data']['temp'])
print(response.json()['data']['weather'])
print(response.json()['data']['time'])
附:木小果天气查询API地址链接(https://api.muxiaoguo.cn/doc/tianqi.html)
请求参数说明:
名称 | 必填 | 类型 | 说明 |
type | 是 | String | 查询类型(1.当天 2.未来7天 3.未来8-15天) |
city | 是 | String | 城市名 |
返回示例:
{"code": "200","msg": "success","data": {"cityname": "长沙","nameen": "changsha","temp": "21","WD": "西北风","WS": "1级","wse": "12km\/h","SD": "90%","weather": "阴","pm25": "59","limitnumber": "","time": "11:55"}
}
对于参数需要使用字典进行携带的接口(适用于请求头中参数较多时)
依然适用上文所提到的API接口,上文所提到的API接口在使用params携带参数时,代码如下所示(此种情况虽可以混用,但仍建议使用POST方法,不建议使用GET方法):
import requests
data = {'city': '南京','type': '1'
}
response = requests.get('https://api.muxiaoguo.cn/api/tianqi', params=data)
print(response.json()['data']['cityname'])
print(response.json()['data']['temp'])
print(response.json()['data']['weather'])
print(response.json()['data']['time'])
附:
GET和POST的区别有哪些?
标准答案:
- GET在浏览器回退时是无害的,而POST会再次提交请求。
GET产生的URL地址可以被Bookmark,而POST不可以。
GET请求会被浏览器主动cache,而POST不会,除非手动设置。
GET请求只能进行url编码,而POST支持多种编码方式。
GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。
GET请求在URL中传送的参数是有长度限制的,而POST么有。
对参数的数据类型,GET只接受ASCII字符,而POST没有限制。
GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。
GET参数通过URL传递,POST放在Request body中。
(来自w3schools)
补充说明:
- GET产生一个TCP数据包;POST产生两个TCP数据包(火狐都只发一个)。
- 对于本文中的调用API方式,给GET加上request body,给POST带上url参数,在目前的代码中对于大多数网站提供的API接口都是可以正常运行的 。
如有不懂的地方或其他问题,欢迎通过邮箱联系ipanda92@qq.com与我交流,我将会在看到后的第一时间回复;转载请注明出处。
[小白向]Python使用request库调用API并获取返回的JSON数据包中的内容相关推荐
- POCO库下访问HTTPS获取返回的JSON数据
访问HTTPS不同于访问HTTP,一些接口如登录还有一些需要数据加密的就需要访问HTTPS才能获取到返回数据,下面是具体介绍: 1.下载POCO库,下载时需要注意POCO库(下载地址点击打开链接)有俩 ...
- [Python陷阱]os.system调用shell脚本获取返回值
当前有shell个脚本/tmp/test.sh,内容如下: #!/bin/bash exit 11 使用Python的os.system调用,获取返回值是: >>> ret=os.s ...
- Python:使用ctypes库调用外部DLL
Python:使用ctypes库调用外部DLL 前言 朋友的公司是做GPS的,上周联系到我要帮做个程序把他们平台的车辆定位跟踪数据和省里的平台对接.看一下官方提供的三个文档,洋洋洒洒共一百多页,一大堆 ...
- 如何利用python调用API接口获取数据进行测试
一.Python 可以使用 requests 库来调用 API 接口获取数据.以下是基本的步骤: 1.安装 requests 库 pip install requests 2.导入 requests ...
- Python:使用ctypes库调用外部DLL 数据类型对应
Python:使用ctypes库调用外部DLL(转) 前言
- Python pprint | 超级好用的Python库,漂亮的打印,让json数据提取体验更好
文章目录 一.简介 二.实践案例 三.总结 一.简介 在实践 PythonPythonPython 爬虫的时候,大家肯定碰到过返回的结果是json字符串格式的数据. 关于 json 数据的详解可以学习 ...
- 调用API接口 获取和解析 京东按关键字搜索商品数据
这篇文章主要介绍了如何调用API接口 获取和解析京东按关键字搜索商品数据,帮助大家更好的理解和使用API接口. 点击测试 请求示例 <?php// 请求示例 url 默认请求参数已经URL编码处 ...
- 如何调用api接口获取其中的数据
part1.API接口可以运用到的场景,主要包括以下几个方面: 1. 应用程序集成:API可以使不同的应用程序相互之间进行集成,比如将某个应用程序的数据传递给另一个应用程序,或者调用另一个应用程序的功 ...
- html 网络请求 json数据,写一个json格式API,http请求接收json数据
目前比较流行的公开API 大多都是返回json格式字符串.如何创建自己的基于http请求返回json数据的api? 如下: 返回JSON字符串的API 相关包:fastjson-1.2.2.jar 方 ...
最新文章
- KVM(1)- 安装
- python中import cv2遇到的错误及安装方法_独家利用OpenCV,Python和Ubidots来构建行人计数器程序(附代码amp;解析)...
- 互联网1分钟 |1119
- CF662C Binary Table(FWT_XOR卷积)
- NetBeans 7.4的本机Java打包
- [GNU LD系列 3.3] 简单的链接脚本例程
- 会玩!“代吃代喝”服务火了 这又是什么花里胡哨的操作?
- 如何将一个完整项目推到码云_怎么将本地项目放到码云(gitee)上面?图文详解
- h标签在seo中的作用(技术优化)
- jQuery实现笔记1-构造器
- php策略模式,PHP策略模式定义与用法(详解)
- linux 内核 内存管理 bootmem alloctor 申请内存
- 请帮助和关心Unix-Center
- 编程训练4-统计单词平均长度
- ckplayer html5 添加广告,ewebeditor下利用ckplayer增加html5 (mp4)全平台的支持
- 千年古刹南普陀寺义工十年发展已逾6000人
- day06_雷神_面向对象初识
- 欧几里得算法(扩展欧几里得、欧拉定理、费马小定理)
- js 根据id 取出数组中对应的对象
- 京东首曝无人仓 四款机器人引爆智慧物流黑科技