网络爬虫 - 6 JsonPath的使用方法与爬取案例

2023-11-07

1、json数据解析

(1)json概念:

JSON 是存储和交换文本信息的语法。类似 XML
JSON 比 XML 更小、更快,更易解析
JSON 是纯文本
JSON 具有"自我描述性"(人类可读)
JSON 具有层级结构(值中存在值)
JSON 可通过 JavaScript 进行解析
JSON 数据可使用 AJAX 进行传输

(2)json应用场景

前台 :由用户看到的界面称之为前台
后台 :管理员负责的查看的,后台管理系统
前端 :html、css、js,在浏览器那一块工作的
后端 :服务器端的,php、java、python
短信发送平台。会提供单独的接口
天气接口。
前端后端交互一般都是json格式。
后端服务器和特定功能服务器之间的交互,后端服务器称之为前端,提供服务的称之为后端,之间交互的格式也是json格式.

(3)json语法

(a)数据都在键值对中
(b)数据以逗号隔开
(c){}保存对象    对应的是咱的字典
(d)[]保存数组
字符串都是以双引号括起来
json的值可以是:数字、字符串、逻辑值、数组、字典、null 

例如:
{
"sites": [
{ "name":"baidu" , "url":"www.baidu.com" }, 
{ "name":"微博" , "url":"www.weibo.com" }
]
}

(4)Python如何解析json?

原生解析,通过字典、列表解析
import json
json.dumps() : 将python的字典或者列表转化为json格式字符串
ensure_ascii = False  输出中文指定为False
json.loads() : 将json格式的字符串转化为Python的对象

json.dump() : 将python对象转化为json字符串之后直接写入到文件中
json.load() : 将文件中的json字符串直接读到python对象中

(5)Jsonpath

jsonpath是用来解析json数据,当解析复杂一点的json数据就要用到这个。

obj[0]['lala']['goudan'][2]['dudu']['xixi']

参考博客文档:
http://blog.csdn.net/luxideyao/article/details/77802389

安装:pip install lxml    pip install jsonpath

和xpath对比
/   $  :根元素
/   .   :路径分隔符,直接子元素
.   @   :当前元素
//  ..  :任意位置开始查找
下标xpath从1开始,而jsonpath从0开始
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

网络爬虫 - 6 JsonPath的使用方法与爬取案例 的相关文章

随机推荐

  • 有奖调研

    桔妹导读 参与滴滴开源问卷调研 前100名有效填写问卷的用户可获得10元滴滴快车出行卡 第99位有效参与问卷的用户可额外获得100元滴滴快车出行卡一张 滴滴开源诚挚邀请您扫码参与开源问卷调研 给我们提出宝贵建议 长按二维码识别 填写问卷 关
  • DOS命令之copy:复制

    DOS 命令 copy 用于将一个文件从一个位置复制到另一个位置 以下是五个示例 说明了如何使用 copy 命令 1 复制文件到另一个目录假设我们有一个名为 test txt 的文件 它位于 C Users username Documen
  • 安全线程的集合

    1 CopyOnWriteArrayList package com kuang unsafe import java util import java util concurrent CopyOnWriteArrayList java u
  • Windows11安装kohya_ss详细步骤(报错、踩坑)

    文章目录 笔者环境 所需环境 安装kohya ss 方式一 带有GUI的kohya ss仓库 方式二 kohya ss核心仓库 题外话 笔者环境 OS windows11 Python 3 10 6 CUDA11 6 所需环境 Python
  • JavaEE初阶(5)多线程案例(定时器、标准库中的定时器、实现定时器、线程池、标准库中的线程池、实现线程池)

    接上次博客 JavaEE初阶 4 线程的状态 线程安全 synchronized volatile wait 和 notify 多线程的代码案例 单例模式 饿汉懒汉 阻塞队列 di Dora的博客 CSDN博客 目录 多线程案例 定时器 标
  • 云计算复习资料

    文章目录 第一章 云计算 一 云计算的概念与特征 1 云计算的概念 2 云计算的特征 3 云计算发展历程 二 云计算的服务类型 1 laaS 1 IaaS的核心技术 2 IaaS的服务优势 2 PaaS 1 PaaS的核心技术 2 PasS
  • SMOTE过采样技术原理与实现

    1 这种操作的原理是什么 目的是什么 目的是合成分类问题中的少数类样本 使数据达到平衡 其中 样本数量过少的类别称为 少数类 原理和思想 合成的策略是对每个少数类样本a 从它的最近邻中随机选一个样本b 然后在a b之间的连线上随机选一点作为
  • 正交矩阵的保范性:正交变换不改变向量的长度(范数)

    在推导使用SVD分解解方程时 用到了正交矩阵的保范性这一性质 1 正交矩阵定义 A mathbf A intercal A A A A
  • QT编程----事件(一)

    review ui 生成 h cpp文件 uic form1 ui o form1 h uic form1 ui i form1 h o form1 cpp C 三个特点 继承 重载 封装 QT程序设计进阶 事件 Qt事件 Qt程序是事件驱
  • JavaScript 根据指定年月获取该月的第一天和最后一天、获取上个月的年月、上个月月底日期

    文章目录 根据指定年月获取该月的第一天和最后一天 获取上个月的年月 上个月月底日期 根据指定年月获取该月的第一天和最后一天 let date new Date let new year date getFullYear 取当前的年份 let
  • Spring内置定时器的使用

    1 Spring内置定时器的使用 在configuration配置类中 引入 EnableSchedule 开启定时器 编写定时器类 在定时方法中添加 Schedule注解 并且使用fixedDelay fixedRate cron表达式用
  • 关于Unsupported major.minor version 52.0报错问题解决方案

    目录 1 问题描述 2 问题分析 3 解决方案 步骤一 删除JDK1 7版本 步骤二 导入JDK1 8版本 步骤三 将新的JDK1 8引入到工程中 4 总结 1 问题描述 在启动项目工程中 当编译class文件的时候会报错一个 java l
  • QClub大连站2013年第一期总结

    今天下午 QClub大连站2013年第一期如期举行 报名差不多50人 到场也有30多人 地点还在老地方 万恒商务大厦 我自己今天的状态不太好 女儿最近感冒 我也跟着有些上火 嗓子疼了三天了 今天开始有点儿咳嗽 还好不是特别严重 开场比较简单
  • python中系统找不到指定文件怎么办_PyCharm-错误-找不到指定文件python.exe的解决方法...

    1 现象 系统提示找不到指定的文件 Error running hello Cannot run program B pystudy venv Scripts python exe in directory python study Cre
  • 微前端解决方案

    目录 微前端解决方案 微前端的整体架构 微前端部署平台 微前端解决方案 在理想的情况下 期望能达到 将一个复杂的单体应用以功能或业务需求垂直的切分成更小的子系统 并且能够达到以下能力 子系统间的开发 发布从空间上完成隔离 子系统可以使用不同
  • debug跳出循环_Java基础-第04章:循环结构「云图智联」

    免费学习视频欢迎关注云图智联 https e yuntuzhilian com 1 什么是循环结构 1 1 为什么要学习循环结构 生活中 有很多 重复的去作某件事 的例子 旋转的钟表指针 滚动的车轮 日复一日的上课等等 同理 在程序中也有很
  • Python实现经纬度空间点DBSCAN聚类

    写在前面 博主前期科研工作中 涉及到要对某个地区的一些空间点进行聚类分析 想到读研期间 曾经用DBSCAN聚类算法实现了四线激光雷达扫描的三维点云数据聚类 论文题目 基于改进DBSCAN算法的激光雷达目标物检测方法 当初用matlab实现的
  • Spark SQL参数调优指南

    目录 1 运行行为 1 1 动态生成分区 1 2 broadcast join 使用hint强制做broadcastjoin 1 3 动态资源分配 1 4 Shuflle相关 1 5 读ORC表优化 2 executor能力 2 1内存 2
  • 独孤九剑第五式-朴素贝叶斯模型

    文章适合于所有的相关人士进行学习 各位看官看完了之后不要立刻转身呀 期待三连关注小小博主加收藏 小小博主回关快 会给你意想不到的惊喜呀 各位老板动动小手给小弟点赞收藏一下 多多支持是我更新得动力 文章目录 前言 朴素贝叶斯模型理论讲解 模型
  • 网络爬虫 - 6 JsonPath的使用方法与爬取案例

    1 json数据解析 1 json概念 JSON 是存储和交换文本信息的语法 类似 XML JSON 比 XML 更小 更快 更易解析 JSON 是纯文本 JSON 具有 自我描述性 人类可读 JSON 具有层级结构 值中存在值 JSON