轻松掌握数据采集神器: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。