《数据清理作坊》系列-第1集-淘宝销量数据
in 技术日志 with 0 comment and 472 read

《数据清理作坊》系列-第1集-淘宝销量数据

in 技术日志 and 473 read

最近我老婆忙着分析淘宝、京东上鞋柜的销售情况,但是手头没有好用的爬虫程序,只能手动去做数据的采集与分析。

这多累啊,因此我为她准备了一套“入门级”的数据清理操作流程,她觉得还蛮好用的。因此,作成《数据清理作坊》系列短文,以飨读者。

数据采集

  1. 首先,去淘宝搜一下鞋柜,按照销量排序。
  2. 将搜索结果页的HTML文件保存到电脑上,注意,一定得是HTML格式。
    img

打开数据

  1. 使用VSCode打开这个HTML。
    没有VSCode的同学,请从官网下载:https://code.visualstudio.com
  2. 首先,观察一下文件中是否看得到汉字。
    如果看得到汉字,说明不需要进行格式转换;

如果看不到汉字,反而发现有很多\u6dd8\u5b9d之类的反斜杠字符串,那说明文字现在都是Unicode格式,需要转换一下。
格式转换我们可以直接从VSCode的插件库中下载一个,例如“UnicodeToChinese”。
img
使用时,直接全选文件的所有内容,然后按􀆔Command + 􀆝Shift + P,在弹出的指令框中输入unicode即可找到对应的命令,选中命令后,回车键执行即可。

初步清理数据

  1. 清理明显的无用内容,只保留数据
    我们可以全局地观察一下,发现数据中,除了一开始写的很规矩的HTML外,下面有很多都是白茫茫一片的内容,不符合HTML的语法。

img再仔细一看,他们正是用键值对组合而成的商品搜索结果数据。
也就是说,他们就是我们要保留的数据。
我们清理掉这部分数据之前的HTML和之后的其他内容(在一个明显的缩进的后面,虽然也是白茫茫,但是看了看数据都没有价值)。
img

数据格式化

  1. 观察数据的特征
    然后我们可以发现,除了开头一部分只出现了一次,而其中每条数据的结构都是重复的。

每条数据的开头,必然是:{"i2iTags"
img
怎么知道的呢?其实,想检验一个单词在全文中共出现了几次,可以直接使用搜索工具:􀆔Command + F

  1. 进行简单的区隔
    所以,搜索这个字符串{"i2iTags"

然后呢,你点击搜索框头上那个小尖头,就能切换到文本替换功能,我们吧这个字符串替换一下;
直接把,{"i2iTags"粘贴到替换框中;
然后呢,你把替换框里面的光标,移动到最头上,也就是最左边;
然后按下􀆍Control + 􀅇Return,按两次,你会发现这个上面插入了两个换行:
img
然后点击这个图标,这个是全部替换的意思:
img
完了你会看到每条数据都跟其他数据分离开了。
img

  1. 判断数据的结尾
    然后你观察一下第一条数据,他的结尾是什么?

"risk":""},。 然后我们知道,这应该是个JSON。
JSON是一种数据组织格式,每条数据以{}花括号包括,数据与数据之间,则以,英文逗号作为区分。

  1. 清理不太明显的无用内容
    我们现在,删掉最后那个小逗号,只搜索"risk":""},找到最后一个"risk":""}

img
你会发现,这个后面有个]符号,这个就是JSON的结尾了。
JSON文件在开头和结尾,会使用[]方括号,将所有的花括号数据进行包裹;需要注意的是,开头的[{和结尾的}]之间,不含任何标点符号。
现在把方括号后面的内容都删掉即可,这里的方括号留不留不重要,用的时候现加上也来得及。 img现在回到开头,开头没用的东西删掉,剩下的部分就是有效数据了。
img

数据转换为Excel表格

  1. 我们在文件的开头和结尾加上[](此步骤可选)
  2. 将文件另存为,起个名字,比如“鞋柜淘宝01.json”
  3. 将JSON转为CSV格式
    这个有两种操作方式:

(1)可以直接通过VSCode的插件完成:
img
(2)可以通过线上转换工具完成:
https://www.bejson.com/json/json2excel

  1. 保存CSV文件
  2. 用WPS(不要用Mac Excel,兼容性不好)打开CSV文件,然后另存为XSLX格式

完成

数据的获取已经完成了,对于WPS来说,数据的下一步排序啦、图表化啦,都是简单的事情。

Responses