您的位置 首页 php

python爬虫-数据提取之JsonPATH

JsonPath

json Path 是一种信息抽取类库,是从JSON文档中抽取指定信息的工具,提供多种语言实现版本,包括: Java script, Python , PHP 和 Java。

JsonPath 对于 JSON 来说,相当于 XPATH 对于 XML。

JsonPath与XPath语法对比:

Json结构清晰,可读性高,复杂度低,非常容易匹配,下表中对应了XPath的用法。

152951039661454eefb87a0

示例:

我们以拉勾网城市JSON文件 为例,获取所有城市。

1529510439040b1ce2b8d79

注意事项:

  • json.loads() 是把 Json格式字符串解码转换成Python对象,如果在json.loads的时候出错,要注意被解码的Json字符的 编码

如果传入的字符串的编码不是UTF-8的话,需要指定 字符编码 的参数 encoding

dataDict = json.loads(jsonStr GBK );

  • dataJsonStr是JSON字符串,假设其编码本身是非UTF-8的话而是GBK 的,那么上述代码会导致出错,改为对应的:

dataDict = json.loads(jsonStrGBK, encoding=GBK

  • 如果 dataJsonStr通过encoding指定了合适的编码,但是其中又包含了其他编码的字符,则需要先去将dataJsonStr转换为 Unicode ,然后再指定编码格式调用json.loads()

dataJsonStrUni = dataJsonStr.decode(“GB2312″); dataDict = json.loads(dataJsonStrUni, encoding=”GB2312”);

1529510598595798d716a00

  1. decode的作用是将其他编码的字符串转换成 Unicode 编码
  2. encode的作用是将 Unicode 编码转换成其他编码的字符串
  3. 一句话:UTF-8是对Unicode字符集进行编码的一种编码方式
15295106826831f7ec030a7

机器学习 视频下载:关注发私信(机器学习)可获取下载链接

1528511392032245f083a01

文章来源:智云一二三科技

文章标题:python爬虫-数据提取之JsonPATH

文章地址:https://www.zhihuclub.com/31677.shtml

关于作者: 智云科技

热门文章

网站地图