【Python】自动化测试系列之-细节-JsonPath模块
JsonPath 模块安装与介绍
JsonPath: 是一个根据路径定位json中数据的工具, 可以说JsonPath是json中的XPATH
安装方法:pip install jsonpath
官方文档:http://goessner.net/articles/JsonPath
JsonPath与XPath语法对比:
| JSONPath | 描述 |
|---|---|
| $ | 根节点 |
| @ | 现行节点 |
| .or[] | 取子节点 |
| .. | 就是不管位置,选择所有符合条件的节点 |
| * | 匹配所有元素节点 |
| [] | 迭代器标示(可以在里边做简单的迭代操作,如数组下标,根据内容选值等) |
| [,] | 支持迭代器中做多选。 |
| ?() | 支持过滤操作. |
| () | 支持表达式计算 |
| xpath | 描述 |
|---|---|
| nodename | 选中该元素。 |
| / | 从根节点选取、或者是元素和元素间的过渡。 |
| // | 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。 |
| . | 选取当前节点。 |
| .. | 选取当前节点的父节点。 |
| @ | 选取属性。 |
| text() | 选取文本。 |
| xpath 通配符 | 描述 |
|---|---|
| * | 匹配任何元素节点。 |
| @* | 匹配任何属性节点。 |
| node() | 匹配任何类型的节点。 |
Python之isonpath的使用
import json import jsonpath import requests url="https://www.lagou.com/lbs/getAllCitySearchLabels.json" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36"} html=requests.get(url,headers=headers).text #把json形式的字符串转换成python格式 unicodestr=json.loads(html) #利用jsonpath按照指定格式取出内容 city_list=jsonpath.jsonpath(unicodestr,"$..name") #把python形式的字符串转换成json格式用dumps #禁用ascii编码格式,返回unicode字符串,方便使用 city_array=json.dumps(city_list,ensure_ascii=False) with open("lagoucity.json","w") as f: f.write(city_array.encode("utf-8"))
待续
赠人玫瑰
手留余香
我们曾如此渴望命运的波澜,到最后才发现:人生最曼妙的风景,竟是内心的淡定与从容……我们曾如此期盼外界的认可,到最后才知道:世界是自己的,与他人毫无关系!-杨绛先生
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的【关注我】。

浙公网安备 33010602011771号