轻松掌握数据采集神器:json path实战详解

优采云 发布时间: 2023-05-01 23:55

  在数据采集过程中,json path是一个常用的工具,可以帮助我们快速、准确地获取所需的数据。本文将介绍采集软件中json path的使用方法,帮助大家更好地进行数据采集。

  一、json path简介

  json path是一种用于从JSON数据中提取值的语言。它类似于XPath,可以通过路径表达式来引用JSON对象中的元素。

  二、采集软件中json path的使用

  1. json path的基本语法

  在采集软件中,我们可以使用$或者@符号来表示JSON根节点。例如,$表示根节点,$.store表示store节点。

  另外,我们可以使用点号(.)来获取某个元素,使用方括号([])来获取数组中的元素。例如:

  -$.store.book[0].title:获取第一个book元素的title值

  -$.store.book[*].author:获取所有book元素的author值

  2. json path的高级语法

  除了基本语法之外,json path还支持一些高级语法,例如通配符、过滤器等。

  通配符:

  

  -*:匹配任意节点

  -@:当前节点

  过滤器:

  -?():过滤器表达式

  -$[?()]:递归下降过滤器表达式

  3.采集软件中json path的应用场景

  在采集软件中,我们可以使用json path来获取网页中的数据。例如,我们可以使用json path来获取淘宝商品页面中的商品名称、价格、销量等信息。

  下面是一个使用json path采集淘宝商品信息的示例:

  python

from uiautomator import Device

import jsonpath

d = Device()

d(text="搜索").click()

d(className="android.widget.EditText").set_text("手机")

d.press.enter()

d(text="综合").click()

d(scrollable=True).scroll.to(textContains="销量")

d(textContains="销量").click()

result =d.dump_hierarchy()

data = json.loads(result)

goods_list = jsonpath.jsonpath(data,'$..goods')

for goods in goods_list:

name = jsonpath.jsonpath(goods,'$..name')[0]

price = jsonpath.jsonpath(goods,'$..price')[0]

sales = jsonpath.jsonpath(goods,'$..sales')[0]

print(name, price, sales)

  四、总结

  本文介绍了采集软件中json path的使用方法,包括基本语法和高级语法,并且提供了一个采集淘宝商品信息的示例。希望本文对大家有所帮助。

  优采云是一款强大的数据采集工具,支持多种数据源和多种采集方式,可以帮助用户快速、准确地采集数据,并且提供了SEO优化功能。更多详情请访问www.ucaiyun.com。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线