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

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开始

猜你喜欢

转载自blog.csdn.net/hanbo6/article/details/81637346