excel网页数据抓取vba(从网上爬虫数据来做分析越来越火,自然不能被时代落下)
优采云 发布时间: 2021-11-05 15:02excel网页数据抓取vba(从网上爬虫数据来做分析越来越火,自然不能被时代落下)
作者江海知乎主页:
现在,分析来自在线爬虫的数据变得越来越流行。如果您不使用此技能集进行数据处理,则无法强制使用。作为一名兴趣广泛的高能物理学博士,自然不能被时代所遗忘。
首先,我没有学过HTML语言或VBA,所以我自己解释的逻辑应该很容易理解,所以我可以在没有任何编程基础的情况下学习。当然,前提是你有Excel。
文章中的方法其实并不局限于从统计局抓取数据。任何网站都可以随心所欲地抓住它,就像没有人进出一样。(文末有彩蛋!)
好吧,让我们摇滚吧!
一开始是因为我的业余想分析分析中国的宏观数据。我去了统计局的网站,发现是一场灾难……
再来看看美联储的网站:(最近发*敏*感*词*融文章已经开始用这张美联储图了,是不是因为我之前的宏文章传了~嘚瑟一次)
美联储经济数据
数据量极其丰富,随心所欲。有各种加法、减法、乘法、除法和比较。
上图是我想研究套利交易对美国股市的影响。将它们放在一起可以使相关性清晰,非常便于组织逻辑。
但同时,我也想研究国内的数据,然后就迷茫了。
国家统计局的网站是这样的,
你在逗我吗?只有一只手表?每月发布一次吗?
这种比较显示了社会主义、勤奋和简单的优越性。自己动手,一一数数。
我比较懒,正要放弃的时候,突然有了一个想法。爬虫可以帮我解决这个问题吗?
快速搜索知乎,发现大部分都是Python语言。估计至少需要几天时间才能上手。有没有更简单粗鲁的事情?然后我搜索了这个问题下面的答案,
简直就是救命恩人,于是挽起袖子,连忙起身。
在这里,Excel对于mac用户其实是非常不友好的,因为从网上抓取数据的功能已经被删除了。毕竟,它是一个 Windows 软件……但不要气馁,我们还有 Google 文档。当然,Windows 用户就没有这样的问题。
先放*敏*感*词*:
你看到了吗!统计局的统计都是自己Excel的~
未来,何去何从,数据将被捕捉到哪里?
接下来,我将介绍如何操作:
首先,我们需要打开一个Excel:
然后在第一个方框中写上广维政统计局的网址,以示尊重。(我这里选择的网页是上个月公布的PMI指数。2017年2月,中国制造业采购经理人指数为51.6%)
然后,我们开始从这个页面抓取表格数据:
可以自己抓数据了,想想有点激动~
我们需要先选择一个舒服的姿势,然后输入一句话:
=IMPORTHTML(A1,"表格",1)
如下所示:
那么这句话有什么作用呢?
IMPORTHTML() 函数的具体传递是三个参数值,
第一个值是告诉功能区从A1那里抓取数据,也就是统计局网址所在的Excel的位置。
第二个值是选择“表格”格式,它告诉这个函数我们要指定网页上的表格。我们可以从下面的评论中看到还有一个选项“列表”,它是 HTML 中的另一种格式。我们需要的是一张桌子,所以我们现在可以忽略它。(这里有一个很大的限制就是只能选择这两种格式。如果要进行更复杂的条件判断,是不可能的。如果坚持使用Excel,可能需要使用VBA。不过这里我们只介绍最简单的数据捕获方法。)
第三个值是网页中的第 n 个表。这里我选择网页中的第一个表格
好的,
走了。
是不是感觉还没完呢?准备接受高级伪装的知识,但声音消失了?
如果您只是想知道如何使用它,则无需继续阅读。
但作为一名合格的科学研究人员,工作是找出原因。接下来,我们可以仔细看看这个函数是如何爬取的。
首先,我们需要使用谷歌浏览器。因为这个浏览器有一个特殊的技能,那就是“检查”。
如下所示:
然后毫不犹豫地点击它:
右边跳出来的一簇是什么!
别着急,我们慢慢看。
首先我们可以使用快捷键command+shift+C(这里我猜windows用户应该是control+shift+C),然后移动到左边我们需要的表格。
这时,奇妙的事情发生了。右上角的代码块会随着鼠标移动!
其实这个快捷键的作用很简单,就是指出你的鼠标所在的代码。右上角的东西就是整个网页的代码,自然也包括了我们需要的表格部分的代码。
Excel所做的就是从这段代码中找到我们需要的表格“表格”,然后将表格的内容复制到Excel中让我们玩得开心。
如下图,我们可以看到关键字“table”,指的是左边的表格,“table”下的内容就是这个表格在网页上的呈现方式。
看到现在我们应该可以理解Excel是怎么操作的了,太简单了~
但是统计局网站的数据抓取其实是有问题的,因为是一个网页发布的数据,和其他数据混在一起,随机排列,所以需要手动选择需要抓取的网页。. 当然Excel还有一个函数叫IMPORTxm_x_l(),这个函数是用来抓取某个xpath_query的,不限于上面的IMPORTHTML()这个函数只能抓取表格或者列表。
所以你也可以用这个功能把网页中的信息,比如搜索特定关键字的网页地址输入Excel,然后自动把网页地址输入到开头的IMPORTHTML()函数中,抓取所有选中的网页。表或列表。
其实也可以用VBA来做这个,不过你可能需要学习VBA,但大概思路应该是这样的。
当然,如果你有编程背景,最好用Python或者Java做爬虫。毕竟,它更主流,工具包也更多。稍后我可能会更新它以使用 Python 来执行此操作,但我很懒惰。
末了悄悄告诉一个宇宙无敌超级霹雳最简单最简单的方法,是绝活,保证一秒学会,没有任何知识背景。
那是,
直接复制粘贴。
近期精彩活动(点击直接查看):
结尾
对于提交和反馈,请发送电子邮件至。转载大数据公众号文章,请向原作者申请授权,否则产生的版权纠纷与大数据无关。
大数据
为大家提供与大数据相关的最新技术和信息。
近期精彩文章(点击直接查看):
161224
161222
161216
161213
161208
161206
161205
161129
161126
161122
161119
161114
161112
161108
161107
161105
161028
161025
161023
161016
161014
161009
161001