1.关键库及函数

(1)关键库

1
2
3
4
5
import urllib.request
import urllib.error
import urllib.parse
import requests
import json

(2)关键函数

通过url 获取信息:requests.get(GET模式)/request.post(POST模式)
结果转化为python的json对象:json.loads( )
Json对象的格式化输出:json.dumps(json对象, sort_keys=True, indent=2)
文件读写:

1
2
3
4
with open("data.txt","w") as f:
f.writelines(data)
格式化输出:
"{0:^6}{1:^10}{2:^10}{3}".format('序号','歌曲名','唱片集','播放连接')

(3)JSON数据在线可视化工具

http://www.esjson.com/jsonviewer.html

2.实践

(一)获取随机笑话

随机笑话查询接口:
请求路径:https://autumnfish.cn/api/joke/list (这个访问不了了)
请求方法:get
请求参数:num(笑话数量)
响应内容:显示得到笑话

分析接口的格式数据,程序获取用户输入笑话数量,每行显示一个笑话,按:“笑话编号:笑话内容”格式显示在屏幕上。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import requests
import json
num=int(input("请输入笑话数量:"))
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 Edg/122.0.0.0',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language': 'zh-CN,zh-Hans;q=0.9',
'Accept-Encoding': 'gzip, deflate, br',
}
url=f"https://api-vue-base.itheima.net/api/joke/list?num={num}"

content=requests.get(url,headers=headers)
for i in range(0,num):
print(f"笑话{i}号:"+content.json()['data'][i]+'\n')