《数据清理作坊》系列-第2集-京东销售排名
in 技术日志 with 0 comment and 740 read

《数据清理作坊》系列-第2集-京东销售排名

in 技术日志 and 741 read

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

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

数据采集

  1. 首先,去京东搜一下鞋柜,按照销量排序。
  2. 将搜索结果页的HTML文件保存到电脑上,注意,一定得是HTML格式。
    (此处没有插图)

打开数据

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

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

初步清理数据

  1. 直接分析一波
    京东的页面和淘宝的页面差别很大,它整个都是由HTML写就的。

也因此,我们完全可以根据DIV元素的名字(ID)来判断哪一部分才是有用的内容。
直接跟大家说一下结果吧:
(1)往下翻,或者直接搜索<div id="J_goodsList" class="goods-list-v2 gl-type-3 J-goods-list">,从这一行开始往下,就是我们得到的数据。所以,把它上面的删干净。
img
(2)再往下翻,<div id="J_scroll_loading" class="notice-loading-more"><span>正在加载中,请稍后~~</span></div>,这一行开始,以及往下的,都是要删掉的。
中间剩下的就是数据内容了。

  1. 数据去格式化
    为什么要去格式化呢,因为接下来要用到正则表达式来进行数据处理,而正则表达式遇上回车、制表、空格的时候,会遇见特别多复杂的情况,所以我们直接提前清理掉这些问题即可。

现在打开编辑器里面那个搜索,我们需要删掉一批东西。
(1)首先,打开这个。*符号,这个是正则表达式开关,我们现在需要用到正则表达式。
img
现在往查找那一栏,输入\n,这个是换行符,我们现在要把所有的回车清理掉。
点击全部替换。
img
现在你可能会发现,所有的内容都到了一行中,很难观察。
􀆕Option + Z,可以让他自动换行。
img
(2)OK,现在我们把\n删了,改成\t。全部替换。
img
(3)然后关掉正则表达式,输入一个 空格,把所有的空格删掉。 (4)然后把这个搜出来,删掉:<fontclass="skcolor_ljg">。 (5)然后,删掉这个:``。

数据格式化

  1. 打开正则表达式,在查找框里输入上面这个公式:
    (.*?)(<divclass="p-price">.*?<em>¥<\/em><i>)(\d+.\d{2})(<\/i><\/strong>.*?<\/div>)(<divclass="p-namep-name-type-2">)((<atarget="_blank"title=")(.*?)(<em>)(.*?)(<\/em>)(.*?)(<\/i><\/a>))(<\/div>)

img
你会发现,全文都被查到了,只剩下最末尾一段没查到。
你把没查到的内容删掉。
img

  1. 接下来,把替换框中输入:
    {"价格":"$3", "商品名称":"$10"},\n

然后全部替换。
img
数据就会变成JSON格式了。

  1. 最后进行一点小处理
    清理掉当前的搜索框和替换框,把搜索框输入:<.*?>,把里面那些代码,<>之间包裹的部分,包括<>括号本身也删掉。

现在,删掉最后那个逗号。

数据转换为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