jsonpath 解析json数据

上一篇文章中我们爬取了数据但没有分析json数据我将豆瓣的那个接送数据复制过来。

在复制之前呢,我们可以先把复制的数据放到json.cn这个网页看一下。

会把我们的数据格式话这样子,让我们一眼可以看的清楚。有一个大括号把一部电影的数据呢全部包围起来了,有电影名称,评分,链接等等。一般我们要获取数据呢基本都是跨节点,又快,又不容易出错。

上部分链接:json解析豆瓣数据_weixin_58520733的博客-CSDN博客

# 这里面的代码可以参照我上一次写的那个获取豆瓣那个代码一起用
# $..title
#   跟目录开始 跨节点 只需要属性名为title的值 都取到...
res_ = jsonpath.jsonpath(data_, '$..title')
print(res_)

# $.subjects.*   store下的所有的元素
res_ = jsonpath.jsonpath(data_, '$.subjects.*')
print(res_)

# $.subjects.rate	subjects中的所有评分,这里用第一种方法也行
res_ = jsonpath.jsonpath(data_, '$.subjects.rate')
print(res_)


# $..rate[2]	第三个电影的评分
res_ = jsonpath.jsonpath(data_, '$..tate[2]')  # 从0开始
print(res_)
# 索引取值从0开始, 结果为列表.....

# $..title[(@.length-1)] or $..title[-1:]	最后一个电影的名称
res_ = jsonpath.jsonpath(data_, '$..title[-1:]')  # 从0开始
print(res_)
res_ = jsonpath.jsonpath(data_, '$..title[(@.length-1)]')  # 从0开始
print(res_)


# $..title[0,1] | $..title[:2]	前两个电影名称
res_ = jsonpath.jsonpath(data_, '$..title[0,1]')  # 从0开始
print(res_)
res_ = jsonpath.jsonpath(data, '$..title[:2]')  # 从0开始
print(res_)

# $..title[?(@.rata<5)]	获取评分小于5的所有的电影  
res_ = jsonpath.jsonpath(data_, '$..title[?(@.rate<5)]')  # 从0开始
print(res_)

# $..*	获取所有的数据
res_ = jsonpath.jsonpath(data_, '$..*')  # 从0开始
print(res_)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

胖子是个潜力股

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

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

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

打赏作者

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

抵扣说明:

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

余额充值