二、创建批量获取数据的自定义函数

以上步骤只是完成了第一页 25 本书的数据采集,我们需要全部 250 本书的数据采集,需要使用 Power Query 的 M 函数来实现。将已经整理好的 25 条数据命名该查询为“Top 25 基本信息”,现在右键单击该查询名,选择“创建函数”,如图 3-4-6 所示。 图 3-4-6 创建函数
在弹出的窗口中会提示“未找到参数”,单击“创建”按钮,并输入函数名,将这个函数命名为“book info”。然后在编辑栏中手动更改代码,将前两行代码更改如下:
此代码的意思是将网址分为两个部分,比如第 1 页的网址:https://book.douban.com/top250? start=0 中的“https://book douban.com/top250?start”作为常量文本保持不变,而最后一个数字,设置为参数 x,二者组合到一起作为一个完整的网址,然后只需要将不同的数字赋给 x,就可以提取相应页面的数据。其中,(x as text)表示该自定义函数的参数为 x,参数类型为text 创建好的自定义函数,此时在窗口出现了一个输入参数的框,表示该自定义函数就创建完成,如图 3-4-7 所示。 图 3-4-7 自定义函数
输入参数值 25,单击“调用”,输出结果为网页中第 2 页的图书信息,如图 3-4-8 所示。
图 3-4-8 第 2 页图书信息
这样就得到了第 2 页 25 条图书信息,并且工具第 1 页数据格式自动完成了整理过程,因为这个自定义函数包含了第 1 页数据清洗的所有步骤。同理,可以利用这个自定义函数一次性提取全部网页的图书数据。