无意中看到这个网页《Excel应用系列之用Excel Power Query爬取网页数据》,由于缺乏json和html相关知识背景,再加上图片质量太差,这个教程我是看得相当痛苦。
为什么要“检查”?直接查看网页源代码行不行?
为什么要选“手机”?不选行不行?
为什么要选择“network”?“clear”是干嘛的?
为什么要点击女装后一直拖到最底部,直到出现“JS”?
为什么一定要选“Preview”和“martshows”?
为什么要选“headers”?
如何知道复制出来的链接里边包含json数据?
从第16步到第24步,是在干什么?
从第25步到第29步,又是在干什么?
那如果我来写这个教程的话,我该如何写呢?
首先,我要说明PowerQuery可以爬取的网页内容有哪些。按我的理解应该可以直接爬取表格,以及此文中说的json数据。爬取json数据用的是Json.Document()函数。
其次,如何判断一个网页中是否包含json数据呢?因此要对网页进行分析,找到json在什么地方。
第三,找到json数据之后,如何自动化批量获取呢?这就需要两个条件:一是这些json数据所在的位置具有共同特征,二是利用Web.Contents()函数中的字段可组合特性。
最后一步是直接展开PowerQuery获取的json数据到表格。
这个例子再次提醒我,当做一个教程的时候,除了讲清具体步骤,更重要的是讲清每一步操作背后的原理,这样才能举一反三,触类旁通。