爬虫超爽暴力无脑数据提取工具库json_extract,json,dict

我们在提取json串中的某个值得时候难免会碰到一层一层又一层的嵌套 想要提取要一层一层的找key 像剥洋葱一样
今天安利一款暴力提取库 json_extract

极速上手教程

安装 json_extract

pip install json-extract

{
    "animals": {
        "zoon": [
            {
                "name": "Peki",
                "sex": "girl",
                "age": 18
            },
            {
                "name": "George",
                "sex": "boy",
                "type":"zoon"

            }
        ],
        "people": [
            {
                "name": "Rufus",
                "sex": "girl",
                "weight":"88"
            },
            {
                "name": "Marty",
                "sex": "boy",
                "people": [
                            {
                                "name": "Rufus",
                                "type":"people",
                            },
                            {
                                "name": "Marty",
                                "sex": "???",
                                "age": "10"
                            }]
            }]

    }
    }

response_json={}
from json_extract import GetValue2
getobj = GetValue2(response_json)

sex = getobj.get_values('sex')
print(sex)
# ['girl', 'boy', 'girl', 'boy']

deep = getobj.get_values("sex",deep=True)
# ['girl', 'boy', 'girl', 'boy', '???']

filte = getobj.get_values("sex",filters=True)
# ['girl', 'boy']

notexiste = getobj.get_values("asdfadfs",default='not existe')
# or
getobj.get_values("asdfadfs",'not existe')
# not existe

weight = getobj.get_values("weight")
# 88
weight_shell = getobj.get_values("weight",shell=True)
# ['88']

age = getobj.get_values("age")
# [18, '10']

age_int = getobj.get_values('age',ret_type=int)
# [18, 10]

age_str = getobj.get_values("age",ret_type=str)
# ['18', '10']




:param key: Key value to be resolved 需要解析的key值
:param default: If the result is empty, the default value is none  如果结果为空 备用值 默认None
:param deep: Do you want to deeply resolve all keys? Default false 是否深度解析所有key 默认False
:param filters: Whether to de duplicate the result, the default is false 是否去重结果 默认False
:param shell: If the result is whether to remove the outer list shell, the default is false 如果结果为一个 是否去掉外面list壳子 默认False(去壳)
:param ret_type: The return result type can pass in 'int' or 'str' by default  返回结果类型 可传入'int'或'str' 默认原始

✫传送门

End

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

s0ing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值