JSON数据提取

JSON 数据提取

JSON 数据格式

定义

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写。同时也方便了机器进行解析和生成。适用于进行数据交互的场景,比如网站前台与后台之间的数据交互。

作用

获取方式

  • ajax 请求接口

  • 切换手机移动h5端

  • app抓包获取

  • 等等

格式化方式

  • 安装 chrome 插件 JSONView

  • 在chrome中的请求详情中使用 preview 查看

  • 使用在线JSON格式化工具,例如:https://www.bejson.com/

JSON 模块使用

方法介绍

  • json.loads json字符串 转 Python数据类型

  • json.dumps Python数据类型 转 json字符串

  • json.load json文件 转 Python数据类型

  • json.dump Python数据类型 转 json文件

    • ensure_ascii=False 实现让中文写入的时候保持为中文

    • indent=空格数 通过空格的数量进行缩紧

代码演练

JsonPath

介绍

用来解析多层嵌套的json数据;JsonPath 是一种信息抽取类库,是从JSON文档中抽取指定信息的工具,提供多种语言实现版本,包括:Javascript, Python, PHP 和 Java。

本质: 通过一种语法规则快速从 JSON 数据中提取数据。类似于 正则表达式 通过一定规则从 text 文本内容提取数据。

环境搭建

在线调试地址

在线调试环境说明

调试测试数据

语法规则

语法

描述

案例

$

根节点

@

现行节点

.

取子节点

$.store.book

..

取子孙节点

$..book

[]

设置筛选条件

$..book[0]

[,]

支持多选选择内容

$..book[1,3]

()

支持表达式计算

$..book[(@.length - 1)]

?()

支持过滤操作

$..book[?(@.price<10)]

jsonpath 代码演练

模块安装

pip install jsonpath

需求

http://www.lagou.com/lbs/getAllCitySearchLabels.json 接口返回数据中提取所有的城市信息

实现步骤

  1. 网络获取数据

  2. 把响应数据转换成python数据类型

  3. 使用 jsonpath 提取数据

代码实现

总结

  • JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式

  • JSON相关的方法

    • json.loads json字符串 转 Python数据类型

    • json.dumps Python数据类型 转 json字符串

    • json.load json文件 转 Python数据类型

    • json.dump Python数据类型 转 json文件

  • jsonpath 是一种语法规则快速从 JSON 数据中提取数据。

  • jsonpath 基本语法

    • $ 根节点

    • . 下一个节点

    • .. 子孙节点

    • [] 筛选条件,可以编写下标

Last updated

Was this helpful?