爬虫4

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'haha''dudu'0 jsonpath和xpath对比 / $ 根元素 / . 层级分隔符 // .. 任意位置开始查找 索引,xpath从1开始,jsonpath从0开始 http://blog.csdn.net/luxideyao/article/details/77802389

 

posted @ 2018-11-06 12:18  qwehelloworld  阅读(88)  评论(0编辑  收藏  举报