jsonpath提取王者全英雄名字

简介: jsonpath提取王者全英雄名字


image.png

文章目录


前言

在玩爬虫的时候,总会遇到一些无法通过xpath提取的数据,通常都会存放在JSON格式中,所我这学一下jsonpath。


JSON是什么

可以看看我这篇博客,不过有不全的地方请多多担待,提出来一起学习一起进步!

JSON学习笔记


jsonpath

jsonpath是对JSON格式提取文件的东西,看看这熟悉的path,有没有联想到xpath?差不多,都是用来提取数据的东西

  1. xpath是用于提取HTML和XML的
  2. jsonpath是用于提取JSON格式的


Python中的jsonpath

先安装jsonpath第三方库

pip install jsonpath -i https://pypi.doubanio.com/simple


jsonpath语法

符号 描述
$ 查询的根节点对象,用于表示一个json数据,可以是数组或对象
@ 过滤器(filter predicate)处理的当前节点对象
* 获取所有节点
. 获取子节点
递归搜索,筛选所有符合条件的节点
?() 过滤器表达式,筛选操作
[start:end] 数组片段,区间为[start,end),不包含end
[A]或[A,B] 迭代器下标,表示一个或多个数组下标


使用

我们的数据是从王者网站拿的——王者网站

大概就是张这个样子

image.png

然后我们开始联系jsonpath吧

import jsonpath  # 导入jsonpath包
import json  # 导入json包
import requests  # 导入爬虫包
with open("王者英雄.json",'wb') as f:
    f.write(requests.get('https://pvp.qq.com/web201605/js/herolist.json').content)
    # 将json文件保存到本地
with open('王者英雄.json', 'r', encoding="utf-8") as f:
    js = f.read()
    # 读取
c = json.loads(js) # 转成python数据
print(jsonpath.jsonpath(c, '$.*.cname'))  # 使用jsonpath将英雄名字取出来
'''
$.:根目录
*:根目录下所有节点
cname:所有cname元素的值
'''

运行结果:

image.png


结语

拜拜 学习如逆水行舟,不进则退,所以一定要在学习后多加练习~~~~~

那么今天就到这里了哦,( _ )/~~

image.png


目录
相关文章
|
6月前
|
JSON 前端开发 JavaScript
解锁JSON的奇妙世界:从基础到高级应用,一文搞懂JSON的妙用(上)
解锁JSON的奇妙世界:从基础到高级应用,一文搞懂JSON的妙用(上)
107 0
解锁JSON的奇妙世界:从基础到高级应用,一文搞懂JSON的妙用(上)
|
6月前
|
JSON JavaScript 前端开发
JavaScript原生代码处理JSON的一些高频次方法合集
JavaScript原生代码处理JSON的一些高频次方法合集
|
6月前
|
存储 JSON NoSQL
解锁JSON的奇妙世界:从基础到高级应用,一文搞懂JSON的妙用(下)
解锁JSON的奇妙世界:从基础到高级应用,一文搞懂JSON的妙用(下)
|
6月前
|
JSON JavaScript 前端开发
解锁JSON的奇妙世界:从基础到高级应用,一文搞懂JSON的妙用(中)
解锁JSON的奇妙世界:从基础到高级应用,一文搞懂JSON的妙用(中)
|
3月前
|
JSON 数据格式 Python
Python 将省、市 json 替换 成拼音
Python 将省、市 json 替换 成拼音
54 0
|
6月前
|
数据挖掘 数据处理 Python
【亮剑】介绍了Python中以表格格式打印列表的三种方法
【4月更文挑战第30天】本文介绍了Python中以表格格式打印列表的三种方法:1) 使用字符串格式化,适用于简单场景;2) 使用prettytable库,适合需要更多格式化选项的情况;3) 使用pandas库,适用于处理大量数据和复杂分析。根据需求选择合适的方法来展示数据。
321 0
|
JSON 数据格式 C++
数组这样的物模型的json该怎么写呢
数组这样的物模型的json该怎么写呢
154 0
|
XML 安全 数据挖掘
Python3,3行代码,把excel转换成任意格式的word文档,老板直接给我涨薪10K!!!
Python3,3行代码,把excel转换成任意格式的word文档,老板直接给我涨薪10K!!!
31469 1
Python3,3行代码,把excel转换成任意格式的word文档,老板直接给我涨薪10K!!!
|
JSON Java fastjson
行政区信息_JSON 解析|学习笔记
快速学习行政区信息_JSON 解析
176 0
行政区信息_JSON 解析|学习笔记
|
XML JSON 数据格式
记录python爬某文化交易遇到的问题xml转json读出单个数据
记录python爬某文化交易遇到的问题xml转json读出单个数据
118 0
记录python爬某文化交易遇到的问题xml转json读出单个数据