解决方案:你会用Excel函数实现网页数据抓取吗?
优采云 发布时间: 2022-09-24 22:15解决方案:你会用Excel函数实现网页数据抓取吗?
HI~大家好,我是星光。
也就是说,随着互联网的飞速发展,网页数据越来越成为数据分析过程中最重要的数据源之一……或许正是基于这样的考虑,从2013版开始,Excel增加了一个新的工具叫Web 的功能类,利用这个类的功能,我们可以通过网页从web服务器获取数据,比如股票信息、天气查询、有道翻译、男女爱情等等。
打个响指,高大上的开场白就结束了。这是一个小栗子。
如上图,在B2单元格输入如下公式,将A2单元格的值翻译成英汉或汉英▼
=FILTERXML(WEBSERVICE(""&A2&"&doctype=xml"),"//translation")
公式看起来很长,主要是URL长度太长,但公式的结构其实很简单。
主要由三部分组成。
第 1 部分构建 URL。
""&A2&"&doctype=xml"
这是有道在线翻译的网页地址,收录关键参数,i="&A2是要翻译的词汇,doctype=xml是返回文件的类型,即xml,只返回xml因为 FILTERXML 函数可以获取 XML 结构化内容中的信息。Part 2 读取 URLs
WEBSERVICE函数可以通过指定的网页地址从web服务器获取数据(需要电脑联网状态)
在本例中,B2 公式▼
=WEBSERVICE(""&A2&"&doctype=xml&version")
获取数据如下
"
第三部分获取目标数据
这里使用了 FILTERXML 函数。 FILTERXML函数的语法如下▼
FILTERXML(xml,xpath)
该函数有两个参数,xml参数为有效的xml格式文本,xpath参数为xml中要查询的目标数据的标准路径。
通过第二部分得到的xml文件的内容,我们可以直接看到看星星的翻译结果看到星星在翻译路径下(代码6到8),所以第二个参数设置为/ / 翻译。
……
好的,这就是我今天要与您分享的内容。有兴趣的朋友可以尝试使用网页功能从百度天气预报中获取自己所在城市的天气信息~
因为FILTERXML可以从XML格式文本中获取数据,所以当XML文本是我们故意生成的字符串时,会有很多奇妙的用途,比如用这个函数来实现VBA编程Split函数的效果,关于我们'稍后再谈。
加入我的 Excel 会员资格,了解有关 Excel 数据透视表、函数、图表、VBAPQ 以及您想学习的所有内容
干货教程:【Excel数据获取】你会用函数实现网页数据抓取吗?
HI~大家好,我是星光。
也就是说,随着互联网的飞速发展,网页数据越来越成为数据分析过程中最重要的数据源之一……或许正是基于这样的考虑,从2013版开始,Excel增加了一个新的工具叫Web 的功能类,利用这个类的功能,我们可以通过网页从web服务器获取数据,比如股票信息、天气查询、有道翻译、男女爱情等等。
打个响指,高大上的开场白就结束了。这是一个小栗子。
如上图,在B2单元格输入如下公式,将A2单元格的值翻译成英汉或汉英▼
=FILTERXML(WEBSERVICE(""&A2&"&doctype=xml"),"//translation")
公式看起来很长,主要是URL长度太长,但公式的结构其实很简单。
看我的手指,歪的,画的,Sri,主要由3部分组成。
第 1 部分构建 URL。
""&A2&"&doctype=xml"
这是有道在线翻译的网页地址,收录关键参数,i="&A2是要翻译的词汇,doctype=xml是返回文件的类型,即xml,只返回xml因为 FILTERXML 函数可以获取 XML 结构化内容中的信息。Part 2 读取 URLs
WEBSERVICE函数可以通过指定的网页地址从web服务器获取数据(需要电脑联网状态)
在本例中,B2 公式▼
=WEBSERVICE(""&A2&"&doctype=xml&version")
获取数据如下
"
第三部分获取目标数据
这里使用了 FILTERXML 函数。 FILTERXML函数的语法如下▼
FILTERXML(xml,xpath)
该函数有两个参数,xml参数为有效的xml格式文本,xpath参数为xml中要查询的目标数据的标准路径。
通过第二部分得到的xml文件的内容,我们可以直接看到看星星的翻译结果看到星星在翻译路径下(代码6到8),所以第二个参数设置为/ / 翻译。
……
好的,这就是我今天要与您分享的内容。有兴趣的朋友可以尝试使用网页功能从百度天气预报中获取自己所在城市的天气信息~
因为FILTERXML可以从XML格式文本中获取数据,所以当XML文本是我们故意生成的字符串时,会有很多奇妙的用途,比如用这个函数来实现VBA编程Split函数的效果,关于我们'稍后再谈。