python3爬蟲(3)--解析json數據

環境: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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章