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

橙三吉。 提交于 2020-01-19 15:15:52

环境: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'])          #输出:3

print(json0bj.get('arrayOfFruits')[2].get('fruit'))  #输出:pear
print(json0bj['arrayOfFruits'][2]['fruit'])          #输出:pear

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!