Excel实战:如何抓取网页中的表格数据

优采云 发布时间: 2022-05-04 03:23

  Excel实战:如何抓取网页中的表格数据

  近几年,Python编程语言非常火,很多人都用Python开发网络爬虫工具。虽然Python简单,但学起来并不容易,需要一定基础。今天小编给大家介绍一个Excel爬虫函数,学起来相对容易些,可应对特定场景下的数据采集需求。

  

  有一个基金类的网页#qdiie,网页中存在一个数据表格,如下图所示,需抓取红框标注的数据到Excel表,并定时更新表格数据。

  

  抓取过程共六个步骤

  第一步,使用Firefox火狐或Chrome谷歌浏览器打开目标网页,右键通过检查代码找到表格的id。如果表格不存在id,可使用表格class样式代替。

  

  第二步,书写公式=GetTableByIdW(B1,"flex_qdiie"),其中B1指要抓取的网址,"flex_qdiie"指的是表格元素在网页中的id号。函数名中的W表示当前函数需借助Excel浏览器。细心的朋友可能会有疑问,为什么要借助Excel浏览器?原因在于现在的网页越来越复杂,通过传统的HttpGet()或HttpPost()方式无法读取完整的网页,所以需要使用浏览器读取全部网页数据。

  第三步,打开Excel浏览器,设置网页循环抓取任务。因为需要定时更新网页数据,所以需要Excel浏览器循环抓取网页。

  

  第四步,在Excel中刷新公式,此时抓取函数会返回表格"flex_qdiie"全部数据,这是一长串文本,可以发现每一列使用一个分号隔开,每一行使用两个分号分割。找到了个规律,我们就可以使用Split2Array()函数来拆分提取数据。

  513100;纳指etf;4.284;-0.93%;4228.65;29762;100;4.0850;20-11-16;4.0552;20-11-17;5.64%;会员;会员;会员;纳斯达克100;-0.30%;0.50%;0.50%;国泰基金;;164906;中国互联;1.994;-0.85%;556.36;8077;94;1.9950;20-11-16;1.9332;20-11-17;3.15%;-;-;-;中证海外中国互联网指数;-3.26%;1.20%;1.50%;交银施罗德;;513050;中概互联;2.080;-0.43%;13851.75;244643;-1300;2.1344;20-11-16;2.0605;20-11-17;0.95%;-;-;-;中国互联网50;-3.03%;0.50%;0.50%;易方达;;159822;新经济;1.024;-0.19%;1186.78;74473;-1500;1.0415;20-11-16;1.0269;20-11-17;-0.28%;-;-;-;标普中国新经济行业指数;-1.05%;;1.50%;银华基金;;159941;纳指etf;2.439;-1.01%;6268.25;39605;400;2.4695;20-11-16;2.4515;20-11-17;-0.51%;会员;会员;会员;纳斯达克100;-0.30%;0.50%;0.50%;广发基金;;513300;纳斯达克;0.991;-1.10%;2062.63;85267;-150;1.0042;20-11-16;0.9969;20-11-17;-0.59%;会员;会员;会员;纳斯达克100;-0.30%;0.50%;0.50%;华夏基金;;164824;印度基金;0.953;-0.52%;77.46;3293;-12;0.9669;20-11-16;0.9620;20-11-17;-0.94%;会员;会员;会员;印度etp指数;-;1.20%;1.50%;工银瑞信;;...

  第五步,拆分提取数据。先拆分每一行的数据,再拆分每一列的数据。

  

  第六步,使用=AutoRefresh(120)公式,设置定时刷新任务,每隔120秒钟自动刷新表格数据。

  一共六步,完美抓取到一个表格的数据,并实现了自动定时刷新。有了实时数据,就可以对数据进行加工运算,达到监控预警的目的。怎么样,还算简单吧,写公式就可以进行网页数据采集。

  如果觉得这个技巧很实用,请帮忙转发给您的朋友

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线