5.1 静态数据采集
静态数据是指采集的目标数据在网页源码中,而且是一次性加载在网页中的。
例:采集某电商平台商品页面数据。
在亚马逊网站,搜索“连衣裙”,如图5-1所示。
图5-1
打开Power BI,单击“主页”选项卡中的“获取数据”下拉按钮,在打开的下拉列表中选择“Web”选项,如图5-2所示。
图5-2
弹出“从Web”对话框,将网页链接复制到URL文本框,然后单击“确定”按钮,如图5-3所示。
图5-3
单击“Web视图”选项卡,再单击“使用示例添加表”按钮,如图5-4所示。
图5-4
打开“使用示例添加表”对话框,在“列1”的第1行,输入价格“268.79”,选择弹出的第一个参数,如图5-5所示。
图5-5
按Enter键后,效果如图5-6所示。
图5-6
获取商品的其他数据也使用同样的操作,结果如图5-7所示。
图5-7
商品数据在“表视图”选项卡的“自定义表[1]”的“表7”中,如图5-8所示。
图5-8
例:采集休斯敦火箭队球员最新赛季的数据,球员比赛数据如图5-9所示。
图5-9
在Power BI的“主页”选项卡中,单击“获取数据”下拉按钮,在打开的下拉列表中选择“Web”选项获取网站的数据。
弹出“从Web”对话框,在URL文本框中输入网址,然后单击“确定”按钮,如图5-10所示。
图5-10
在打开的“导航器”对话框中通过“表视图”选项卡可以看到“表1”是目标数据。勾选“导航器”对话框左侧列表中的“表1”,如图5-11所示,再单击“转换数据”按钮进入Power Query编辑器。
图5-11
进入Power Query编辑器后,发现有一列空列,在该列名上右击,在弹出的快捷菜单中选择“删除”选项,如图5-12所示,将空列删除。
图5-12
在“主页”选项卡中单击“将第一行用作标题”按钮,如图5-13所示。
图5-13
筛选球员数据,取消勾选“总计”“全队数据”“对手数据”选项前的复选框,如图5-14所示。
图5-14
在Power Query编辑器的“主页”选项卡中单击“关闭并应用”按钮,如图5-15所示,将数据导入BI中。
图5-15
加载后,表格中的数据如图5-16所示。
图5-16
例:批量采集球队最新赛季的数据,球队名称及英文缩写如表5-1所示。
表5-1
将数据输入Excel工作表之后,在Power BI Desktop界面的“主页”选项卡中单击“获取数据”下拉按钮,在弹出的下拉列表中选择“Excel”选项,如图5-17所示,将数据导入Power Query编辑器。
图5-17
将数据导入Power Query编辑器后,创建URL,在“添加列”选项卡中单击“自定义列”按钮,如图5-18所示。
图5-18
图5-19
在打开的“自定义列”对话框的“自定义列公式”文本框中输入“="http://www.stat-nba.com/team/"&[缩写]&".html"”,然后单击“确定”按钮,如图5-19所示。
创建好URL后再次添加自定义列(在“添加列”选项卡中单击“自定义列”按钮),采集URL数据。
在弹出的“自定义列”对话框的“自定义列公式”文本框中输入“=Web.Page(Web.Contents ([URL])){0}[Data]”,如图5-20所示。
M函数说明
Web.Page:以网页的方式加载数据。
Web.Contents:将网页以二进制文件的格式下载。
{0}[Data]:打开网页中的第一张表格,也就是打开本例的“Table 0”。
图5-20
单击“确定”按钮后,如果是首次连接该域名,则会提示用户进行数据隐私设置,选择“忽略此文件的隐私级别检查,忽略隐私级别可能会向未经授权的用户公开敏感数据或机密数据”复选框,如图5-21所示。单击“保存”按钮即可采集数据。
图5-21
展开所有列,空列可以直接取消勾选,并且取消勾选“使用原始列名作为前缀”复选框,如图5-22所示。
图5-22
图5-23
展开球员数据后,分别取消勾选“总计”“全队数据”“对手数据”复选框,如图5-23所示。
按住“Ctrl”键,将不需要的列选中并右击,在弹出的快捷菜单中选择“删除”选项,如图5-24所示。
图5-24
在Power Query编辑器的“主页”选项卡中单击“关闭并应用”按钮。
加载好的数据如图5-25所示。
图5-25