当前位置: 首页 > news >正文

Python爬虫——解析_jsonpath

jsonpath的安装

pip install jsonpath

jsonpath的使用:

obj = json.load(open('json文件', 'r', encoding='utf-8'))
ret = jsonpath.jsonpath(obj, 'jsonpath语法')

json文件:

{ "store": {"book": [{ "category": "末世","author": "晨星LL","title": "这游戏也太真实了","price": 8.95},{ "category": "玄幻","author": "辰东","title": "遮天","price": 12.99},{ "category": "御兽","author": "清泉流响","title": "不科学御兽","isbn": "0-553-21311-3","price": 8.99},{ "category": "科幻","author": "我吃西红柿","title": "吞噬星空","isbn": "0-395-19395-8","price": 22.99}],"bicycle": {"author": "车厂","color": "blue","price": 19.95}}
}
  • 书店所有书的作者
# *代表全部   可以根据下标来获取第几本书
book_list = jsonpath.jsonpath(obj, '$.store.book[*].author')
print(book_list)
  • 所有的作者
book_list = jsonpath.jsonpath(obj, '$..author')
print(book_list)
  • store下面所有的元素
book_list = jsonpath.jsonpath(obj, '$.store[*]')
print(book_list)
  • store里面所有东西的price
book_list = jsonpath.jsonpath(obj, '$.store..price')
print(book_list)
  • 第三本书
book_list = jsonpath.jsonpath(obj, '$..book[2]')
print(book_list)
  • 最后一本书
book_list = jsonpath.jsonpath(obj, '$..book[(@.length-1)]')
print(book_list)
  • 前两本书
# 两种写法
book_list = jsonpath.jsonpath(obj, '$..book[0,1]')
book_list = jsonpath.jsonpath(obj, '$..book[:2]')
print(book_list)
  • 条件过滤需要在()的前面添加一个?
  • 过滤出所有包含isbn的书
book_list = jsonpath.jsonpath(obj, '$..book[?(@.isbn)]')
print(book_list)
  • 哪本书超过了10块钱
book_list = jsonpath.jsonpath(obj, '$..book[?(@.price>10)]')
print(book_list)

参考:https://blog.csdn.net/Obstinate_L/article/details/125294971

http://www.lryc.cn/news/112721.html

相关文章:

  • 华为发布数字资产继承功能
  • 阿里云NAS文件存储基本介绍与购买使用
  • 大模型使用——超算上部署LLAMA-2-70B-Chat
  • 机器学习笔记:李宏毅ChatGPT课程1:刨析ChatGPT
  • Llama 2 with langchain项目详解(三)
  • 牛客 AB30 排序(快排模板)
  • 【Linux旅行记】第一个小程序“进度条“!
  • DeepMind将AI用于可控核聚变:将等离子体形状模拟精度提高65%
  • Scrum是什么意思,Scrum敏捷项目管理工具有哪些?
  • 【从零单排Golang】第十三话:使用WaitGroup等待多路并行的异步任务
  • WSL2安装CentOS7和CentOS8
  • 不平衡电网条件下基于变频器DG操作的多目标优化研究(Matlab代码Simulink实现)
  • 【Leetcode】(自食用)简单题||单词数
  • C语言代码的x86-64汇编指令分析过程记录
  • 基于springboot+vue的房屋租赁系统(前后端分离)
  • Python文件读写操作详解:从基础到高级
  • ThreadLocal基本介绍
  • ffmpeg源码编译成功,但是引用生成的静态库(.a)报错,报错位置在xxx_list.c,报错信息为某变量未定义
  • 2023爱分析·信创云市场厂商评估报告:中国电子云
  • 网络安全学习笔记——XFF攻击流程
  • 微信小程序阻止用户返回上一页,并弹窗给用户确定是否要返回上一页
  • LangChain+ChatGLM整合LLaMa模型(二)
  • 【NLP】训练chatglm2的评价指标BLEU,ROUGE
  • java+springboot+mysql员工工资管理系统
  • FL Studio Producer Edition 21 v21.0.3 Build 3517 Windows/mac官方中文版
  • 探索Python数据容器之乐趣:列表与元组的奇妙旅程!
  • Python自动化实战之使用Pytest进行API测试详解
  • TCP的三次握手以及四次断开
  • 目标检测YOLO实战应用案例100讲-基于视觉与激光雷达信息融合的智能车辆目标检测研究
  • Day 22 C++ STL常用容器——string容器