excel抓取网页数据(Excel教程Excel函数类别及应用方法(一)(图))
优采云 发布时间: 2022-04-13 13:33excel抓取网页数据(Excel教程Excel函数类别及应用方法(一)(图))
HI~大家好,我叫星光。
据说随着互联网的飞速发展,网页数据越来越成为数据分析过程中最重要的数据源之一……或许正是基于这样的考虑,从2013版开始,Excel增加了一个功能类叫做Web,利用这个类的功能,我们可以通过网页从web服务器获取数据,比如股票信息、天气查询、有道翻译、男女爱情等等。
弹指一挥,高大上的开场白就结束了,来个小栗子。
如上图,在B2单元格输入如下公式,将A2单元格的值翻译成英汉或汉英▼
=FILTERXML(WEBSERVICE('#39;&A2&'&doctype=xml'),'//翻译')
公式看起来很长,主要是URL长度太长,但公式的结构其实很简单。
它主要由3部分组成。
第 1 部分构建 URL。
'#39;&A2&'&doctype=xml'
这是有道在线翻译的网页地址,里面有关键参数,i='&A2是要翻译的词汇,doctype=xml是返回文件的类型,就是xml。只返回 xml,因为 FILTERXML 函数可以获取 XML 结构化内容中的信息。第 2 部分阅读网址
WEBSERVICE功能可以通过指定的网页地址从web服务器获取数据(需要电脑联网状态)
在本例中,B2 公式▼
=WEBSERVICE('#39;&A2&'&doctype=xml&version')
获取数据如下
'
Part 3 获取目标数据
此处使用 FILTERXML 函数。FILTERXML函数的语法如下▼
FILTERXML(xml,xpath)
该函数有两个参数,xml参数为有效的xml格式文本,xpath参数为xml中要查询的目标数据的标准路径。
通过第二部分得到的xml文件的内容,我们可以直接看到翻译结果See stars在翻译路径下(第6-8行),所以第二个参数设置为//translation。
...
好的,这就是我今天要与大家分享的内容。有兴趣的朋友可以尝试使用网页功能从百度天气预报中获取自己所在城市的天气信息~
由于FILTERXML可以从XML格式的文本中获取数据,所以当XML文本是我们刻意构造生成的字符串时,会有很多奇妙的用途,比如使用这个函数来实现VBA编程的效果Split函数,关于这个,我们来聊聊稍后再说。