爬虫中数据清洗的选择
前言
最近身边几个学习爬虫的朋友问我,获取到数据之后不知道如何选择数据清洗的方式,我给他们的需求做出了解答,发现还是有很多人都难在了这一步,今天分享一下我自己的思路。
获取的数据类型
这一步其实是最开始的一步,当我们分析需要获取的数据并去测试获取的时候就会知道,目前比较常见的是HTML格式、JSON格式或者混合的格式。
HTML格式
当我们获得的数据为HTML格式时,可以看看我们需要的数据是什么样子的,一般情况下是使用Xpath根据节点去获取对应的数据,但是如果Xpath提取很复杂或者提取不到想要的数据,可以先通过Xpath获取一个较大范围的数据,再利用正则表达式去进一步数据清洗。
JSON格式
JSON格式就比较简单了一般可以直接通过json
库的.load()
方法反序列化就可以了,需要注意的是,反序列化后数据类型可能不是我们想要的这时候我们再通过类型转换来帮助我们获取想要的数据。
混合类型
假如混合类型中存在类JSON格式的,我们可以先通过正则表达式将该段提取出来,然后通过json
库的.load()
方法反序列化获取。如果情况比较复杂,也不用慌,先观察数据的格式,可以将获取到的数据拿出来,重新排版观察后再进一步处理。
总结
数据清洗主要是考察我们对数据的观察力与逻辑,只要掌握基本办法然后多尝试几次就能掌握到规律。拿到数据后不要慌张,如果一开始不能清晰地判断,就将数据重新排版再看看,一定要先观察清楚在动手。Xpath是一定要学会的,许多爬虫框架中也都是通过Xpath来进行数据清洗的。
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: