Python爬虫——解析_jsonpath

jsonpath的安装

base 复制代码
pip install jsonpath

jsonpath的使用:

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

json文件:

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
    }
  }
}
  • 书店所有书的作者
python 复制代码
# *代表全部   可以根据下标来获取第几本书
book_list = jsonpath.jsonpath(obj, '$.store.book[*].author')
print(book_list)
  • 所有的作者
python 复制代码
book_list = jsonpath.jsonpath(obj, '$..author')
print(book_list)
  • store下面所有的元素
python 复制代码
book_list = jsonpath.jsonpath(obj, '$.store[*]')
print(book_list)
  • store里面所有东西的price
python 复制代码
book_list = jsonpath.jsonpath(obj, '$.store..price')
print(book_list)
  • 第三本书
python 复制代码
book_list = jsonpath.jsonpath(obj, '$..book[2]')
print(book_list)
  • 最后一本书
python 复制代码
book_list = jsonpath.jsonpath(obj, '$..book[(@.length-1)]')
print(book_list)
  • 前两本书
python 复制代码
# 两种写法
book_list = jsonpath.jsonpath(obj, '$..book[0,1]')
book_list = jsonpath.jsonpath(obj, '$..book[:2]')
print(book_list)
  • 条件过滤需要在()的前面添加一个?
  • 过滤出所有包含isbn的书
python 复制代码
book_list = jsonpath.jsonpath(obj, '$..book[?(@.isbn)]')
print(book_list)
  • 哪本书超过了10块钱
python 复制代码
book_list = jsonpath.jsonpath(obj, '$..book[?(@.price>10)]')
print(book_list)

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

相关推荐
维克兜率天5 小时前
【维克】趋势型CTA:期货市场的“追涨杀跌“
人工智能·python
取名真是6 小时前
Python 算法知识点从基础到进阶
开发语言·python·算法
梦想不只是梦与想6 小时前
PyTorch、CPU、GPU、CUDA
人工智能·pytorch·python·深度学习·机器学习·cuda
数字融合6 小时前
透明化视频孪生危化安全管控解决方案
人工智能·python·安全
别问!问就是全会7 小时前
Jupyter Notebook 安装包下载|单元格分块运行,图表直接内嵌
ide·python·其他·jupyter
深蓝AI8 小时前
Python 缓存击穿实测:16 个并发请求如何只回源 1 次
python
benchmark_cc8 小时前
用 00700.HK 做港股行情清洗:字段核对、校验与个人量化开发实践
python·数据分析·pandas·量化交易·股票数据·quantdash
zh路西法9 小时前
【PACE】面向永磁同步电机PMSM 执行器的参数辨识与能耗感知强化学习 Sim-to-Real
python·cma-es·pmsm·sim-to-real·issac·pace
后台模板学习9 小时前
大模型 Prompt 工程在电商订单系统中的踩坑记录
java·python·prompt
2601_967987379 小时前
如何运行 Python 代码
python·最佳实践·脚本文件·代码运行·交互式环境