如何写公式抓取网页表格中的数据

本公式适用于Windows7+环境,WPS 2016及以上版本 或 Excel 2007及以上版本

GetTableByIdW(Url, Table_id)。在Excel表格或WPS表格中,抓取指定网页中某张表格的数据。Url指网页的网址,Table_id指网页中待抓取表格的id。

GetTableByClassNameW(Url, Class_name, [Index])。Url指网页的网址,Class_name指网页中待抓取表格的class名称,由于相同class名称的表格可能有多个,可使用参数Index来标识,默认取第一个表格。

网页抓取公式视频教程

下面以某网页表格数据抓取为例,讲解抓取过程。如下图所示,需在表格中抓取图片中红框标注的表格数据,并每隔5秒钟自动刷新一次。

第一步,查找表格id

使用谷歌浏览器打开网页,找到表格任意一个单元格,右键,在弹出的菜单中单击“检查”,在弹出的窗体中,找到table标记的id属性,本例中,id的值是flex_cb。

第二步,写网页抓取公式

在表格中写网页抓取公式=GetTableByIdW($B$1,$B$2)获得表格的全部数据,当做数据源,用作进一步拆分。

第三步,设置循环抓取任务

使用打开Excel浏览器,设置循环网页抓取任务。

第四步,拆分数据

网页抓取公式返回的表格数据是纯数据,每一行使用两个分号隔开,每一个单元格使用一个分号隔开,如下图所示。

写公式=Split2Array($B$3,";;",C8),从源数据中按照两个分号拆分行数据,其中C8表示行号,从0开始。

写公式=Split2Array($D8,";",E$6),从源每行数据中按照分号拆分单元格数据,其中E$6表示单元格序号,从0开始。

写好上述公式后,整行向下拖动公式,获得整张表的数据。

第五步,自动刷新数据

在表格中任意一个单元格,写公式=AutoRefresh(5),表示每隔5秒钟重新计算一下当前表格中的公式,达到每隔5秒钟自动刷新数据的目的。