python爬虫中json和xml字符串的xPath和jsonpath过滤语法区别对比

参考博客

两种语法结构作用

为了处理从网络请求返回的网页源码中得到自己想要的数据

首先了解两种库处理的对象语法

jsonpath处理的是json语法格式的字符串

**json(JavaScript Object Notation)**字符串的语法参考

**类似于下面的格式,以键值的形式,其中值可以是字符串,数值或中括号包括的数组形式。**但最小的元素表示还是以键值的i形式。

xpath处理的是xml字符串

xml(Extensible Markup Language)可扩展标记语言,这种语言注重是对数据传输而不是显示
实例语法参考,

xml文件和html文件的不同

主要还是标签和功能的不同 ,从标签定义看 ,HTML中的标签是定义好的,而xml是可以自己定义不同的标签;从功能重点上看,html为了更好的显示,让用户看;而xml为了更好的数据检索传递。

两种分析模块的语法

jsonpath模块

代码参考

json 复制代码
{
  "store":{
    "book":[
      {
        "category":"reference",
        "author":"Nigel Rees",
        "title":"Sayings of the Century",
        "price":8.95
      },
      {
        "category":"fiction",
        "author":"J. R. R. Tolkien",
        "title":"The Lord of the Rings",
        "isbn":"0-395-19395-8",
        "price":22.99
      }
    ],
    "bicycle":{
      "color":"red",
      "price":19.95
    }
  }
}


实例输出分析筛选规则

jsonpath最终返回的都是json字符串键值对中 的键对应的值,并使用列表包括,最终返回的数据类型是列表

xpath语法


实例代码参考

两种语法的对比

参考文档

相关推荐
老纪2 分钟前
Angular 表单中基于下拉选择动态启用字段必填校验的完整实现
jvm·数据库·python
weixin_459753942 分钟前
Vue.js响应式shallowReadonly实现对象属性的一层状态保护
jvm·数据库·python
m0_470857642 分钟前
uni-app怎么实现拖拽调整顺序 uni-app可拖动格子布局实现【技巧】
jvm·数据库·python
dFObBIMmai4 分钟前
MySQL如何利用存储过程封装权限_通过DEFINER与INVOKER模式控制
jvm·数据库·python
m0_748554815 分钟前
如何用 stopPropagation 阻止事件冒泡防止触发父级回调
jvm·数据库·python
2301_812539675 分钟前
SQL如何基于窗口函数实现复杂分层 DENSE_RANK应用
jvm·数据库·python
weixin_459753946 分钟前
Go语言怎么做多阶段构建_Go语言Docker多阶段构建教程【完整】
jvm·数据库·python
meng_ser6 分钟前
[NewStarCTF 2023 公开赛道]eazy_crt
开发语言·python
m0_631529826 分钟前
MySQL如何解决锁等待超时异常_捕获MySQL Error 1205错误
jvm·数据库·python
qq_392690666 分钟前
如何防止MongoDB副本集被误初始化_副本集名称(replSetName)锁定
jvm·数据库·python