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

相关推荐
带娃的IT创业者23 分钟前
《Python实战进阶》专栏 No.3:Django 项目结构解析与入门DEMO
数据库·python·django
HealthScience1 小时前
【异常错误】pycharm debug view变量的时候显示不全,中间会以...显示
ide·python·pycharm
豌豆花下猫2 小时前
Python 潮流周刊#90:uv 一周岁了,优缺点分析(摘要)
后端·python·ai
橘猫云计算机设计2 小时前
基于SSM的《计算机网络》题库管理系统(源码+lw+部署文档+讲解),源码可白嫖!
java·数据库·spring boot·后端·python·计算机网络·毕设
小伍_Five2 小时前
从0开始:OpenCV入门教程【图像处理基础】
图像处理·python·opencv
m0_748245342 小时前
python——Django 框架
开发语言·python·django
java1234_小锋3 小时前
一周学会Flask3 Python Web开发-客户端状态信息Cookie以及加密
前端·python·flask·flask3
B站计算机毕业设计超人4 小时前
计算机毕业设计Python+DeepSeek-R1高考推荐系统 高考分数线预测 大数据毕设(源码+LW文档+PPT+讲解)
大数据·python·机器学习·网络爬虫·课程设计·数据可视化·推荐算法
winfredzhang4 小时前
Python实战:Excel中文转拼音工具开发教程
python·安全·excel·汉字·pinyin·缩写
奔跑吧邓邓子4 小时前
【Python爬虫(34)】Python多进程编程:开启高效并行世界的钥匙
开发语言·爬虫·python·多进程