vba 网页数据抓取(《VBA信息收集与处理》教程的第九个“利用IE捕获互联网数据”的第二节)
优采云 发布时间: 2021-12-03 18:02vba 网页数据抓取(《VBA信息收集与处理》教程的第九个“利用IE捕获互联网数据”的第二节)
大家好,今天为大家讲解《VBA信息采集与处理》教程第九题《利用IE抓取互联网数据》,第二节《利用IE流入股本》。这个话题是一个非常有用的知识点。请熟悉它。
第二节 用IE捕捉主要资金流入的股票
大家好。下面我们就从这个讲起使用IE控件来完成网络数据的抓取任务。由于基础知识已经讲解了很多,这里的代码解释会比较简单。可以参考我给出的代码注释来理解。
实*敏*感*词*的动向。是否有大量资金流入,是大多数散户投资者投资某只股票的重要依据。我们使用财富网提供的主要资金流入的存量数据作为数据提取的基础。该网站是:。
1 应用IE实*敏*感*词*流入数据的思路分析
为了抓取数据,我们先来看看网页。以下是2020年6月11日网页提供的数据:
我们的任务是将上述数据捕获到EXCEL表中。为了实现使用IE进行数据抓取,首先要建立一个IE引用CreateObject("In;)。然后IE打开给定的URL,.navigate"; 实现我们从网页中得到的表号为5,然后提取该表中的数据。你可以回顾我之前关于表格的知识。从web文档中提取document对象,使用dmt.all.tags("table")(5)找到这张表,然后使用(i).Cells(j).innertext输出数据。
2 应用IE实*敏*感*词*流入数据抓取的代码实现
为了实现以上思路,我给出我的代码如下:
Sub myNZ()'用IE抢购财富网资金主要流入的股票
昏暗即,dmt,tb,i&,j&
Set myIE = CreateObject("In;)'创建一个IE对象
工作表(“SHEET1”)。选择
行(“3:100”)。清除内容
用我的IE
.Visible = True'显示它
.navigate ";'加载东风财富网资金的主要流入
Do until .readystate = 4'检查页面是否完全加载(4表示完全加载)
DoEvents在循环中将工作权限返还给系统,避免“软崩溃”
环形
set dmt = .document'将dmt变量赋值给IE浏览器加载的页面文档
set tb = dmt.all.tags("table")(5)'按索引号捕获表对象
For i = 2 To .Length-1'遍历它的每一行
For j = 0 To (i).Cells.Length-1'遍历每一行的每个单元格
Cells(i + 1, j + 1) = "'" & (i).Cells(j).innertext'将其内部文本写入单元格
下一个
下一个
结束于
MsgBox ("确定")
结束子
代码截图:
代码分析:
1)Set myIE = CreateObject("In;) 这段代码是创建IE对象,或者后期绑定。可以参考。
2) 表格(“SHEET1”)。选择
行(“3:100”)。清除内容
清除数据等待区。
3) 使用 myIE
.Visible = True'显示它
.导航“;
以上代码加载在IE"; URL,即东风财富网的主要资金流入。
4) Do until .readystate = 4'检查页面是否完全加载(4表示完全加载)
DoEvents在循环中将工作权限返还给系统,避免“软崩溃”
环形
这段代码是为了完成网页的加载,以便以后可以提取网页的数据
5)Set dmt = .document'将IE浏览器加载的页面文档设置为dmt变量,其中DMT为对象变量。
6) Set tb = dmt.all.tags("table")(5)'通过索引号捕获表对象,这里的序号是我们对网页的分析得到的,也可以使用分析网页的工具。
7)For i = 2 To .Length-1'遍历每一行
For j = 0 To (i).Cells.Length-1'遍历每一行的每个单元格
Cells(i + 1, j + 1) = "'" & (i).Cells(j).innertext'将其内部文本写入单元格
下一个
下一个
提取表的数据,其中.Length - 1为行数;(i).Cells(j).innertext 是单元格的内容。
3 应用IE实*敏*感*词*流入的数据抓取效果
我们点击页面上的运行按钮,实现如下数据采集:
从实现的效果来看,完全符合我们场景的需求。
本节知识点:如何提取页面文档中的表格数据?
本节内容参考:009 worksheet.xlsm
积木式编程的内涵:
在我的系列丛书中,我一直在强调“积木”的编程思想。这也是学习使用VBA的主要方法,尤其是专业人士。其主要内涵:
1 不要自己输入所有代码。您要做的就是将构建块放在正确的位置,然后修改代码。一定要复制,从你的构建块库中复制,然后修改代码,并利用你的时间进行有效的思考。
2 建立自己的“积木库”。平时在学习的过程中,把自己觉得有用的代码拼凑起来,多积累一些,用到的时候随时可以拿到。您的构建块库中的数据越多,您的编程想法就越广泛。
VBA 应用程序的定义
VBA是使用Office实现个人小型办公自动化的有效手段(工具)。这是我对VBA应用的定义。在取代OFFICE的新办公软件到来之前,谁能做到数据处理的极致才是王道。其中,技能的巅峰非VBA莫属!
记得20年前刚开始学VBA的时候,当时资料很少,只能自己看源码自己弄明白。这真的很难。二十年过去了。为了不让正在学习VBA的朋友重复我之前的经验,我根据自己多年的VBA实际使用经验,推出了6个VBA专用教程:
第一组:VBA代码解法是对VBA中各个知识点的讲解。一共147个教程,涵盖了大部分VBA知识点,初学者必备;
第二套:VBA数据库解决方案数据库是专业的数据处理工具。教程详细介绍了使用ADO连接ACCDB和EXCEL的方法和示例操作,适合中层人员学习。
第三套:VBA数组和字典解决方案。数组和字典是 VBA 的精髓。字典是提高VBA代码水平的有效手段。值得深入研究,是初学者和中级人员改进代码的一种手段。
第四套:VBA代码解法视频是专门针对初学者的视频讲解,可以快速上手,更快掌握这门技能。本套教程是第一套教程视频讲解,听元音比较好接受。
第五套:VBA中类的解释和利用这是一个高级教程,解释了类的空性和肉体的程度。虽然类的使用较少,但仔细研究可以促进你的VBA理论的提高。这套教程的领悟主要是读者的领悟,一种佛教哲学。
第六套教程:《VBA信息获取与处理》,本高级教程,涵盖面更广,实用性更强,面向中高级人员。教程共有20个主题,包括:跨应用信息获取、随机信息的使用、邮件发送、VBA上网数据抓取、VBA延时操作、剪贴板应用、Split函数扩展、工作表信息等应用交互、使用FSO对象、工作表和文件夹信息的获取、图形信息的获取、工作表信息功能的定制等。
您可以根据以上信息按照1→3→2→6→5或4→3→2→6→5的顺序学习。本教程在提供大量构建块的同时提供了解释。如有需要,您可以微信:NZ9668
学习VBA是一个过程,也需要体验一种枯燥的感觉
如太白的诗:百鸟高飞,孤云自在。相视不倦,唯景亭山。学习的过程,也是修心的过程,修心的过程。在代码的世界里,心静,心情好,身体自然就好。心是平静而正直的。心中没有那么多恶念,也没有那么多妄想。造福他人就是造福自己。这些教程也是为了帮助大家起航,帮助我。我上面的教程是我很多经验的传递。
“水利万物而不争”,密密麻麻,微微沉寂,巨浪汹涌。学习也是一样,知道自己需要什么,不要蜷缩在你认为是天堂的一小片世界里,等到晚年再自欺欺人。努力提升自己,用一颗充满活力的心,把握当下,这才是进取。越有意义的事情,越困难。意志力决定一切,智慧决定成败。不管遇到什么,都是风景。不顾争执,不顾得失。茶,不管是满是小,都不用担心;浓或淡,各有各的味道。感受真实的时光,静下心来,多学习,积累祝福。不仅仅是每天都在胡闹,它不会每天都忍受。在更加严峻的疫后杀猪世界,为自己的生存储备知识,尤其是新知识。学时小而无声,用时则大而动荡。
每一次的收获都是成长的记录,所以没有依据。正是这种坚持,造就了朝阳的荣耀。最后给致力于VBA学习的朋友做个小测验,让大家感受一下学习过程的枯燥和坚持:
浮云掠过,耳语无声,
唯有微风惊醒梦中莹莹。
看星星,去掉北斗七星,
奈与过去同行。
稻田里的人,明暗昏暗,
熊顾长亭。
多少VBA人,
在漆黑的夜里,静静地寻梦,盼望黎明。
没有证据!
回到学习和使用VBA的历史,我不禁感慨,想把这些话跟大家分享,分享我多年实际工作经验的成果,我很高兴这些有用的东西,给同道真正需要使用 VBA 的旅行者。