公告:
  • 欢迎访问火车采集器客户帮助中心
首页 >> 问题百科 >> V9版本火车采集器 >> V9采集问题 >> 火车采集器V10版Json功能介绍

火车采集器V10版Json功能介绍

【作者:客服小雅】【字号: 】【打印】【收藏

火车采集器以往发布的版本已经添加了提取json功能,但是该json功能只支持提取原始值(即不嵌套其他json数据的键值对),不支持提取任意位置的json功能,因此我们在V10.28及以上版本中添加了自定义编写json表达式来获取任意位置键值对的功能,下面介绍具体用法:

一.基础用法

基础用法不变,可以参考这个教程使用:点击打开链接

二.扩展用法

示例网址:https://interface.sina.cn/pc_api/public_news_data.d.json?callback=jQuery111209109273786274386_1745312922961&cre=tianyi&mod=pcmil&statics=1&cids=57922&merge=5&length=15&up=4&down=0&tm=1745312933&action=1&top_id=&offset=0&type=std_news%2Cstd_slide%2Cstd_video&editLevel=99&pageSize=20&cTime=1672502400&referrer=https%3A%2F%2Fwww.sina.com.cn%2F&_=1745312922966

源码为:

这个网址不是一直有效若是失效了,可以选择其他json内容的网址作为练手,所有json网址的json表达式写法一样的。下面介绍具体写法

1.处理内容为标准json格式(非必要)

有的HTTP地址的源码非标准的json,有其他干扰的字符,所以可以用关联区域的方式来截取出json,若是HTTP地址的源码格式标准,可省略这步

2.比如下图中要提取tags中的所有值,若是在之前的json功能中是无法获取的,因为tags不是原始值(tag中还嵌套了其他json数据),在新版本功能中就可以通过自行编写json表达式来获取

若是json编写不熟练的话,可将json数据放入json工具中,然后选中一个原始值作为编写json的参考。

在采集器中的json用  $.  开头,然后用  .  连接不同的节点,* 表示通配多条数据

这个是json工具分析的jsonpath:   data[0][tags][0]

但是这个值最终提取的是tags下的第[0] 行的值,我们要获取的是tags下的所有值,所以要删掉最后的[0],并用  .   连接不同键,并删掉 键的[]

最终的结果是,$.data[*].tags  ,然后再勾选循环匹配,即可得到结果:


再举一个例子:

比如我们要获取的thumb下面的所有图片,最终写法是  $.data[*].thumbs


上面是通过具体实例来学习json表达式的写法,并没有讲解jsonpath的具体原理,如果想要学习jsonpath的详细原理,可以自行搜索详细教程学习