爬虫_010_字典的嵌套

2023-01-13  本文已影响0人  为宇绸缪

在网页中爬取到的数据,很大都是以 json 的格式来存储的,可以转化为字典形式进行读取数据,但是很多时候数据格式非常的复杂,因此需要掌握字典的嵌套,来获得自己想要的数据

person = {
    "name": "汪峰",
    "age": 55,
    "songs": ["春天里", "北京北京", "挪威的苦咖啡"],
    "wife": {
        "name": "子怡",
        "age": 48,
        "hobby": ["化化妆", "做做头", "跳跳舞"],
        "前夫哥": {
            "name": "lucky",
            "age": 23,
            "height": 193,
            "hobby": ["摩托车", "上班"]
        }
    },
    "children": [
        {"name": "alex1", "age": 41},
        {"name": "alex2", "age": 42},
        {"name": "alex3", "age": 43},
        {"name": "alex4", "age": 44},
        {"name": "alex5", "age": 45},
    ]
}

上述自动就是一个字典的嵌套,如何从嵌套的内容中获取到你需要的那个。
方法:剥洋葱,一层层的获取

(1)获取汪峰的年龄

print(person["age"])

(2)汪峰老婆的年龄

print(person["wife"]["age"])

(3)拿到前夫哥的年龄

print(person["wife"]["前夫哥"]["age"])

(4)获取汪峰老婆的爱好

print(person["wife"]["hobby"])

(5)打印汪峰老婆的每一个爱好

for item in person["wife"]["hobby"]:
    print(item)

(6)打印汪峰每个孩子的名字和年龄

for item in person["children"]:
    print(item["name"], item["age"])

(7)判断前夫哥的身高是否存在

if person["wife"]["前夫哥"].get("height"):
    print("存在")
else:
    print("不存在")
上一篇 下一篇

猜你喜欢

热点阅读