分享

Excel也能抓取网页数据,别再复制粘贴了!(2)——多页数据

 匁匁 2019-02-17

但是如何要一次性抓取多个页码下的数据,该如何抓取呢?如下图所示,是

某网址中关于股票的一些数据:

现要求抓取以上网页中的全部近5天的4页数据,并能实时更新。网址如下:

http://vip.stock.finance.sina.com.cn/q/go.php/vLHBData/kind/ggtj/index.phtml?last=5&p=1


01

检查Excel的版本

以下数据清理使用的是Excel Power Query的功能。

如果你是Excel2013及Excel2010版本的,请在微软官网下载插件安装即可。


下载网址:

https://www.microsoft.com/en-us/download/details.aspx?id=39379


如果你是Excel2016,2019以及365版本的用户,你可以直接在【数据】选项卡下面找到相关的菜单:




02

具体操作步骤

具体的操作步骤如下图所示:

Step-01:单击【数据】-【新建查询】-【从其他源】-【自网站】,如下图所示:


Step-02:在弹出的对话框中选择【高级】,在URL部分粘贴复制出来的网址,将网址拆分成两部分,第二分为表示页码的ID的部分,最后单击【确定】,如下图所示:


Step-03:在弹出的对话框中选择“Table 0”列表,然后单击【编辑】,如下图所示:


Step-04:进入到Power Query的编译器界面 ,单击【高级编辑器】,

然后在'let'前面输入:(n as number) as table =>,将并原来的代码的部分“

修改为:


Step-05:然后弹出自定义函数的界面,在这个界面里输入参数只能查询单页的数据,还需要构造一个页码的范围。然后单击左边的查询框,右键单击【新建查询】-【其他源】-【空查询】,如图所示:


Step-06:在弹出的对话框中输入公式:={1..4},然后单击【到表】,如下图所示:


Step-07:单击【添加列】-【调用自定义函数】-【功能查询】选择Table 0,最后单击【确定】,如下图所示:



Step-08:单击扩展按钮,在弹出的对话框中勾选掉”使用原始列名作为前缀“,最后单击【确定】,如下图所示:


Step-09:修改第1列的列名为”页码“,然后关闭并上载。如下图所示:


最终效果如下图所示:

如果要随时更新数据,右键任意一个单元格,单击【刷新】即可。如下图所示:

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多