数据提取的定义
数据提取就是从的响应中提取我们想要的数据的过程
数据分类
1.非结构化数据:html等
处理方法:正则表达式,xpath
2.结构化数据:json,xml等
处理方法:转化为python数据类型
数据提取之json
json字符串或包含json类文件对象 通过 json.loads() 转化为 python数据类型
python数据类型 通过 json.dumps() 转化为 json字符串或包含json类文件对象
使用json注意点:
1.json中的字符串都是双引号引起来的,如果不是双引号,使用eval:能够实现简单的字符串和python类型的转化,使用replace:把单引号替换为双引号
2.往一个文件中写入多个json串,不在是一个json串,不能直接读取
3.一行写一个json串,按照行来读取
数据提取之xml
xml被设计为传输和存储数据,其焦点是数据的内容,使用xpath提取
xpath:https://www.jianshu.com/p/1cb12a4d69fd
要先安装lxml第三方模块
lxml能够修正HTML代码,但可能会改错
使用etree.tostring观察修改之后的html的样子,根据修改之后的html字符串写xpath
lxml能够接受bytes和str的字符串
提取页面数据的思路
1.先分组,取到一个包含分组标签的列表
2.遍历,取其中每一个进行数据的提取,不会造成数据对应错乱