Python学习笔记13 -- API的说明及使用

一、API说明

1、API:Application Programming Interface -- 接口

2、Restful API:基于网页的API

3、JSON:JavaScript objection Notation

4、很多数据都可以找到公用API

二、安装requests模块

在终端输入:

可以保证使用当前python版本的指令:python -m pip install 模块名称

如果能保证只有一个python版本,也可用这个:pip install 模块名称

删除包:

python -m pip uninstall 模块名称

三、调用API

1、注册高德天气API,获得属于自己的KEY

2、使用requests模块部分:

以高德天气的北京地区为例:

python 复制代码
import requests

#API接口网址
url = 'https://restapi.amap.com/v3/weather/weatherInfo?city=110101&key=<>' 

res = requests.get(url)
WeatherJson = res.text  #属于一个属性(只输出text部分)
print(WeatherJson)

3、使用json模块进行操作:

python 复制代码
import json
WeaJson = json.loads(WeatherJson) #将内容加载成json格式
#获取其中的温度
wendu = WeaJson['lives'][0]['weather']
print(wendu)

注:在读取温度这一步,需要注意json的格式,否则会报错:

lives下面的内容为:

javascript 复制代码
"lives":
[
    {
        "province":"北京",
        "city":"东城区",
        "adcode":"110101",
        "weather":"晴",
        "temperature":"33",
        "winddirection":"西南",
        "windpower":"≤3",
        "humidity":"28",
        "reporttime":"2024-06-14 17:03:12",
        "temperature_float":"33.0",
        "humidity_float":"28.0"
    }
]

由于lives下面有一个中括号[],内部有一个花括号{},因此在lives后不能直接使用weather,需要选取中括号内部的第一部分(所有内容所在的花括号的位置,用【0】来选取,否则会报错):

原因为:对于复杂的字典需要一层一层往下取

相关推荐
2301_78204045几秒前
mysql如何转换MyISAM表到InnoDB_使用ALTER TABLE语句方法
jvm·数据库·python
zh157023几秒前
SQL视图在ETL流程中的作用_数据清洗与标准化接口
jvm·数据库·python
zhaoyong222几秒前
为什么安装宝塔面板后无法访问_检查安全组与防火墙放行8888端口
jvm·数据库·python
江南十四行2 分钟前
Python多线程与多进程实战——避开GIL,榨干CPU
开发语言·网络·python
Eric.Lee20218 分钟前
python实现多个pdf合并
开发语言·python·pdf·pdf合并
zh1570238 分钟前
c++ 零知识证明库 c++如何使用bellman或libsnark
jvm·数据库·python
码界奇点9 分钟前
基于策略模式的多数据源爬虫系统设计与实现
爬虫·python·毕业设计·策略模式·源代码管理·数据库系统
2401_8987176611 分钟前
mysql如何利用cron定时备份_mysql自动化配置说明
jvm·数据库·python
南境十里·墨染春水15 分钟前
linux学习进展 C语言连接mysql
linux·c语言·学习
zhoutongsheng17 分钟前
SQL利用子查询实现复杂条件排序_嵌套逻辑实现业务规则
jvm·数据库·python