当前位置: 代码迷 >> 综合 >> python爬虫(3)--解析json数据
  详细解决方案

python爬虫(3)--解析json数据

热度:72   发布时间:2024-01-26 05:21:05.0

环境:python3

1、前言:

在做数据采集的过程中,我们经常遇到json格式的数据,如有道翻译就是json格式的数据。

在使用requests库进行请求时,我们可以直接使用json()方法,将字符串格式的json数据转化为字典格式,然后利用字典的键-值索引和列表索引配合使用解析json数据或者使用get()方法和列表索引解析。

在使用urllib库进行请求时,我们使用json.loads(...)方法,将字符串格式的json数据转化为字典格式,然后利用字典的键-值索引和列表索引配合使用解析json数据或者使用get()方法和列表索引解析。

2、解析json的方法案例

import json
jsonString = '{"arrayOfNuns":[{"nunber":0},{"number":1},{"number":2}],\"arrayOfFruits":[{"fruit":"apple"},{"fruit":"banana"},\{"fruit":"pear"}]}'
json0bj=json.loads(jsonString)
print(type(json0bj)) #返回:<class 'dict'>print(json0bj.get("arrayOfNuns")) #输出:[{'nunber': 0}, {'number': 1}, {'nunber': 2}]
print(json0bj["arrayOfNuns"])     #输出:[{'nunber': 0}, {'number': 1}, {'nunber': 2}]print(json0bj.get('arrayOfNuns')[1]) #输出:{'number': 1}
print(json0bj["arrayOfNuns"][1])     #输出:{'number': 1}print(json0bj.get('arrayOfNuns')[1].get('number')\+json0bj.get('arrayOfNuns')[2].get('number'))  #输出:3
print(json0bj['arrayOfNuns'][1]['number']\+json0bj['arrayOfNuns'][2]['number'])          #输出:3print(json0bj.get('arrayOfFruits')[2].get('fruit'))  #输出:pear
print(json0bj['arrayOfFruits'][2]['fruit'])          #输出:pear