1.xml是什么?
和json处在同一个位置,后端给前端传输数据的时候使用的数据格式,目前以json使用居多
xml:可扩展标记语言 html:超文本标记语言
不同: (1)xml用来传输和存储数据,html用来显示数据
(2)xml标签可以自行定义,html不行
(3)xml是纯文本信息,html是超文本信息 xpath是什么?xpath是用来解析xml数据的
xpath和html有什么关系?
因为xml和html的结构一模一样,所以能不能使用xpath解析html数据呢?能,有一个第三方库实现了这个功能,lxml pip install lxml
2.xpath语法
常用的路径表达式
/ 从根节点开始查找
// 从任意位置开始查找. 从当前节点开始查找.. 从当前节点的父节点开始查找@ 选取属性xpath在代码中的应用
(1)可以解析本地文件 from lxml import etree tree = etree.parse(文件名) ret = tree.xpath('路径表达式') 返回的是一个列表
(2)可以解析网络文件 tree = etree.HTML(网络文件字符串内容)
json格式的语法: json比xml更小、更快、更易解析 (1)数据保存在键值对中 (2)键值对以逗号分隔 (3){} 保存对象 (4)[] 保存数组 键值对写法:键一般都是字符串,字符串要以双引号引起来 值可以是: 数字、浮点 字符串,必须在双引号中 布尔值 true false 数组 [] 对象 {}
3.python 如何解析json格式
(1)自带模块解析 import json json.dumps(): 将python字典、列表转化为json格式字符串 string = json.dumps(lt, ensure_ascii=False) json.loads(): 将json格式字符串转化为python字典、列表 obj = json.loads(string) json.dump(): 将python字典、列表转化为json格式字符串并且直接写入文件中 json.load(): 从文件中读取json格式的字符串转化为python字典、列表
(2)jsonpath(了解) jsonpath是什么?
就是用来解析json数据的 obj jsonpath和xpath对比 / $ 根元素 / . 层级分隔符 // .. 任意位置开始查找 索引,xpath从1开始,jsonpath从0开始 http://blog.csdn.net/luxideyao/article/details/77802389