用vba下载网页数据,网址如下:

http://www.wanlicai.com/sd11y/index.shtml
下载如下图所示部分并实时更新,最好能修改更新时间间隔。

下载的数据可以放在变量、数组、单元格区域或剪贴板都行。

VBE--工具--引用  microsoft internet controls
Sub 获取网页信息1()
Dim vDoc, vTag, coll
     Dim i As Integer
     Dim j As Integer
     Dim ie As New InternetExplorer
'     Set ie = CreateObject("InternetExplorer.Application")
     ie.Navigate "http://www.wanlicai.com/sd11y/index.shtml"
     ie.Visible = True
     Do Until ie.ReadyState = READYSTATE_COMPLETE '如果IE加载宏完成
   DoEvents '在窗体加载时转交操作权
   Loop
  Application.Wait (Now + TimeValue("0:00:03")) '等待3秒,防止网速有延迟
     Set vDoc = ie.Document
     Dim mstrcell As String
     Set coll = vDoc.All("historyTable")
     For i = 0 To coll.Rows.Length - 1
         For j = 0 To coll.Rows(i).Cells.Length - 1
             mstrcell = mstrcell & Space(4) & coll.Rows(i).Cells(j).innertext
             Cells(i + 1, j + 1) = coll.Rows(i).Cells(j).innertext
         Next j
         Debug.Print mstrcell
         mstrcell = ""
     Next i
     ie.Quit
     Set ie = Nothing
     Set vDoc = Nothing
     Set coll = Nothing
End Sub

追问

我这里可以实现看得见就能够下载数据,关键是要求按设定时间间隔更新的,不能用重新打开网页的方法更新。

追答

可以用在最后面加一句 Application.OnTime Now + TimeValue("00:01:30"), "获取网页信息1"
让程序间隔 1分30秒 就运行一次
如果间隔比较长 ,也不是非常占用电脑资源 ,这种方法也是可以考虑的

追问

我觉得只要是用浏览器打开网页取数据的方法都不会优于全选复制到剪贴板再处理数据,一般得到的数据很容易处理,并且不需要工作表辅助处理,如下图所示:

纯文本格式无代码标签,无需正则表达式等复杂处理。

当然,还是要多谢你的关注和帮助。

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-04-03
VBA可以读取WebService数据,如果不是则不行

VBA 怎样抓取网页中的表格,网址是http:\/\/j.cailizhong.com\/ahk3...
1,先表明一下你的说法,“从浏览器中复制表格到一个文本文档或剪贴板”表格复制后放入文体文档是只能保留文字和数据,这种格式为TXT文档,站点有提供下载功能,另站点还提供XLS格式的EXCEL表格下载。如果你只需要开奖数据,以上已经足够。2,做VBA动态更新分析表所用到的。经过查看你提供的网页源代码,复...

如何用VBA获取网页异步数据(网址http:\/\/www.huilv.cc\/,获取里面汇率的...
经分析,汇率表的数据地址为http:\/\/www.huilv.cc\/paijia.php,使用xmlhttp从该地址获取数据字符串,截取ddd()里面的字符串作为json字符串,然后用msscriptcontrol运行js,使用eval函数将json字符串处理成json对象,然后遍历到二维数组,最后填入excel,可以参考我前几天写的一个:http:\/\/zhidao.baidu....

Excel vba 中怎么通过链接获取网页源码
可使用excel自带的数据导入功能,参考如下程序。如果,从多个带有一定规律性的网页导入,可使用循环语句。Sub宏1()WithActiveSheet.QueryTables.Add(Connection:=_"URL;http:\/\/www.renrendai.com\/lend\/detailPage.action?loanId=394578",_Destination:=Range("$A$1")).CommandType=0.Name="detailPage.ac...

excel VBA 网页数据抓取
首先打开Excel 2007工作表,点击想要把数据导入的位置,然后在菜单栏找到第五项"数据“,点击,在“获取外部数据”项下找到“自网站”并点击。这时弹出来”新建 Web 查询“对话框,可以在“地址”一栏键入要添加数据的网页的地址。添加完成后,点击“转到(G)”,下面会出来要添加网页的内容和黄色箭头,...

怎么用VBA或网络爬虫程序抓取网站数据
VBA网抓常用方法 1、xmlhttp\/winhttp法:用xmlhttp\/winhttp模拟向服务器发送请求,接收服务器返回的数据。优点:效率高,基本无兼容性问题。缺点:需要借助如fiddler的工具来模拟http请求。2、IE\/webbrowser法:创建IE控件或webbrowser控件,结合htmlfile对象的方法和属性,模拟浏览器操作,获取浏览器页面的...

用Excel VBA抓取网页数据,请将程序发到690704939@qq.com
2 自己写 原理 在excel中 建立工程 使用 xmlhttp 抓去整个网页内容到本地 然后分析代码 你这个页面里面主要提取 div class="list-items p4p clearfix"你想要的产品都是在这个div里面 然后在这个代码里面提取你想要的字段 然后在循环的插入的 exls里面 不过我觉得使用exls vba 不如使用 v...

Excel vba如何抓取指定的网页数据到单元格
Sub A1下载数据()ReDim A2(1 To 200000, 1 To 15): A = 0 For i = 1 To 5 Sleep 2000 + 1000 * Rnd With CreateObject("WinHttp.WinHttpRequest.5.1")URL = "目标网页".Open "get", URL, False .setRequestHeader "Host", "xxxxx".Send Q1 = .responseText Q1 = Replace(Q1,...

EXCEL中VBA,自动点击指定网页中下载按钮,并下载文件
【数据准备】1,excel中记录你需要下载的所有网址 2,设置下载的文档保存路径 【功能实现】1,利用VBA启动IE浏览器 2,打开你所需要下载的URL 3,触发该网址中的下载按钮

vba提取网页数据
vba所需要提取的网页数据真实数据应该在script里面,可以将源代码用split、instr等函数来提取,或者用正则表达式来提取,也可以用JS代码处理。

Excel 求助各位大侠VBA代码如何抓取网页JSON数据
基本上和JS的代码差不多哦,使用XMLHTTP对象,下面是例子代码:Option Explicit Sub xxx() Dim http Set http = CreateObject("Microsoft.XMLHTTP") http.Open "POST", "http:\/\/网址\/PHP文件名.PHP", False http.send "" If http.Status = 200 Then [a1] = http.responseText ...

相似回答