excelvba抓取网页数据(专题“利用IE抓取网络数据”的第二节(图))
优采云 发布时间: 2021-09-18 23:15excelvba抓取网页数据(专题“利用IE抓取网络数据”的第二节(图))
各位好。今天,我们将解释“VBA信息获取和处理”教程“使用IE捕获股票”中第九个主题“通过IE捕获网络数据”的第二部分,这是一个非常有用的知识点。我希望你能掌握它
第二节利用IE捕捉主要资本流入的存量
大家好,让我们从使用IE控件捕获网络数据的任务开始。由于基础知识已经解释了很多,这里的代码解释将更简单。您可以参考我给出的代码注释来理解
实施场景:当我们进行股票分析时,我们最关心的是基金的趋势。是否有大量资本流入是大多数散户投资者投资股票的重要依据。我们以《财富》网站提供的主要资本流入的*敏*感*词*作为数据提取的依据。该网站为:/zjlx/
1利用IE获取主要资本流入数据的思路分析
为了捕获数据,让我们首先看看web页面。以下是2020年6月11日网页提供的数据:
我们的任务是将上述数据捕获到excel表格中。为了使用IE进行数据捕获,我们首先需要创建一个IE引用CreateObject(“InternetExplorer.Application”)。然后,ie打开给定的web地址并单击。导航“/zjlx/”已实现。我们从网页上得到该表的序列号为5,然后提取该表中的数据。您可以回顾我以前关于表的知识。从web文档中提取文档对象,使用dmt.all.tags(“表”)(5)查找表,然后使用TB.Rows(I).Cells(J).InnerText输出数据
2使用IE实现主要资本流入数据捕获的代码
为了实现上述想法,我给出了以下代码:
Sub mynz()'使用IE捕获主要资本流入的股票
Dim ie、dmt、tb、i&;、j&
设置MyIE=CreateObject(“internetexplorer.Application”)'创建IE对象
图纸(“图纸1”)。选择
行(“3:100”)。ClearContents
和myIE在一起
.visible=true“显示它
.navigate“/zjlx/”加载东风财富网的主要资金流入
直到.ReadyState=4'检查网页是否已加载(4表示满载)
在“Doevents”循环中将工作权限返回给系统,以避免“软崩溃”
环路
Set DMT=.Document'将IE浏览器加载的页面文档分配给DMT变量
设置TB=dmt.all.tags(“table”)(5)'按索引号捕获表对象
对于I=2到tb.rows.length,通过其每行的长度为-1'
对于J=0到TB.Rows(I).Cells.Length-1'通过每行中的每个单元格
单元格(I+1,j+1)=“””和TB.Rows(I).Cells(j).InnerText”将其InnerText写入单元格
下一个
下一个
以
MsgBox(“OK”)
端接头
代码截图:
代码分析:
1)SetMyIE=CreateObject(“Internet Explorer.Application”)此代码用于创建IE对象或更高版本的绑定。可以使用引用
2)板材(“板材1”)。选择
行(“3:100”)。ClearContents
清除要填充的数据区域
3)和myIE
.visible=true“显示它
.导航“/zjlx/”
以上代码加载ie中的“/zjlx/”网站,即东风财富网的主要资金流入
4)do until.ReadyState=4'检查网页是否已加载(4表示满载)
在“Doevents”循环中将工作权限返回给系统,以避免“软崩溃”
环路
这段代码是让网页加载,以便以后提取网页的数据
5)SetDMT=.Document'将IE浏览器加载的页面文档分配给DMT变量,其中DMT是一个对象变量
6)set TB=DMT.All.Tags(“table”)(5))通过索引号捕获表对象。此处的序列号来自我们对网页的分析。您还可以使用工具分析网页
7)ForI=2到tb.rows.length-1'通过其每一行
对于J=0到TB.Rows(I).Cells.Length-1'通过每行中的每个单元格
单元格(I+1,j+1)=“””和TB.Rows(I).Cells(j).InnerText”将其InnerText写入单元格
下一个
下一个
提取表的数据,其中TB.Rows.Length–1是行数;TB.Rows(I).Cells(J).InnerText是单元格的内容
3.应用IE获取主要资本流入数据
我们单击页面上的“运行”按钮以捕获以下数据:
从实施效果来看,完全满足我们的场景需求
回到本节中的知识点:如何从页面文档中提取表数据
有关本节内容,请参阅009工作表.xlsm
构建块编程的思想和内涵:
在我的系列书籍中,我一直强调“积木”的编程思想,这也是学习和使用VBA的主要方法,尤其是对于专业人士而言。其主要内涵是:
1.不要自己输入所有代码。你要做的是将构建块放在正确的位置,然后更正代码。一定要复制它,从构建块库复制它,然后更正代码,以便利用你的时间进行有效思考
2.建立你自己的“积木库”。在学习过程中,把你认为有用的代码放在一起,积累更多,你可以在任何时候使用它。积木库中的信息越多,你在制作程序时的想法就越多
VBA的应用定义
VBA是利用office实现个人小型办公自动化的有效手段(工具)。这是我对VBA应用的定义。在取代office的新办公软件到来之前,谁能在数据处理方面取得最好成绩,谁就是王者。其中,VBA是最强大的技能
我记得20年前我第一次学习VBA时,材料很少。我只能看源代码,自己思考。这真的很难。20年后,为了不让我的朋友学习VBA重复我以前的经验,我在多年实践VBA的基础上开设了六门VBA特别课程经验:
第一套:VBA代码解决方案是解释VBA中的各种知识点。本教程共有147节课,涵盖了绝大多数VBA知识点,这是初学者所必需的
第二套:VBA数据库解决方案数据库是数据处理的专业工具,本教程详细介绍了用ADO连接accdb和excel的方法和示例操作,适合中级人员使用
第三套:VBA数组和字典解决方案数组和字典是VBA的精髓。字典是提高VBA代码水平的有效手段,值得深入学习。它是高级和中级人员代码的一种手段
第四套:VBA代码解决方案视频是针对初学者的视频讲解,可以快速入门,更快掌握这项技能。这套教程是第一套教程的视频讲解,更容易听元音
第五套:VBA中的课堂解读与运用。这是一门解释课堂虚无和肉体程度的高级课程。虽然课堂运用较少,但认真学习可以促进自身VBA理论的完善。对这套课程的理解主要是对f读者与一种佛教哲学
第六套教程:VBA信息获取与处理,这是一门高级课程,涵盖范围更广,对中高级人员更实用。该课程有20个主题,包括:跨应用程序信息获取、随机信息的利用、电子邮件发送、VBA Internet数据捕获、VBA delay操作、剪贴板应用程序、拆分功能扩展、工作表信息与其他应用程序的交互、FSO对象的使用、工作表和文件夹信息获取、图形信息获取和自定义工作表信息功能等
根据以上信息,您可以按照1的顺序逐步学习→ 3.→ 2.→ 6.→ 5或4→ 3.→ 2.→ 6.→ 5.本教程提供了说明和大量构建块。如果需要,您可以微信:nz9668
学习VBA是一个过程,也需要经历一种无聊的感觉
正如太白的诗所说:鸟儿高飞,寂寞的云朵独自消遣。你们不会厌倦彼此的相见,只有静亭山。学习的过程也是培养心灵的过程,培养一颗平静的心。在密码的世界里,当你的心灵平静时,你的身体自然会很好。当你平静时,你会很好没错。如果你心中没有那么多邪恶的知识和观点,你就不会有那么多妄想。对别人有益是自利。这些教程也是帮助你启航和帮助我的。我上面的教程是我的经验的传递
“水对万物都有好处,没有争议"学习也是一样。你知道你需要什么。不要蜷缩在一个你认为是天堂的小世界里。不要欺骗自己和他人,直到你年老。努力提高自己,用充满活力的心和精神把握现在。这是进步。事情越有意义,困难就越多。愿意做决定n智慧决定成败。无论你遇到什么,它都是一道风景。忽视争端,轻视得失。不管茶是满的还是小的,浓的还是淡的,它都有自己的味道值得品尝。去f