体育资讯网

您现在的位置是:首页 > 足球教学 > 正文

足球教学

vba获得当前网页源码(vba获取网页)

hacker2022-07-07 13:30:24足球教学59
本文目录一览:1、怎么用VBA或网络爬虫程序抓取网站数据2、

本文目录一览:

怎么用VBA或网络爬虫程序抓取网站数据

VBA网抓常用方法

1、xmlhttp/winhttp法:

用xmlhttp/winhttp模拟向服务器发送请求,接收服务器返回的数据。

优点:效率高,基本无兼容性问题。

缺点:需要借助如fiddler的工具来模拟http请求。

2、IE/webbrowser法:

创建IE控件或webbrowser控件,结合htmlfile对象的方法和属性,模拟浏览器操作,获取浏览器页面的数据。

优点:这个方法可以模拟大部分的浏览器操作。所见即所得,浏览器能看到的数据就能用代码获取。

缺点:各种弹窗相当烦人,兼容性也确实是个很伤脑筋的问题。上传文件在IE里根本无法实现。

3、QueryTables法:

因为它是excel自带,所以勉强也算是一种方法。其实此法和xmlhttp类似,也是GET或POST方式发送请求,然后得到服务器的response返回到单元格内。

优点:excel自带,可以通过录制宏得到代码,处理table很方便

。代码简短,适合快速获取一些存在于源代码的table里的数据。

缺点:无法模拟referer等发包头

也可以利用采集工具进行采集网页端的数据,无需写代码。

Excel 如何用VBA取得网页的源代码

Sub getHTML()

Dim http

Set http = CreateObject("Msxml2.ServerXMLHTTP")

http.Open "GET", "", False

http.send

Debug.Print http.Status

Debug.Print http.responsetext

End Sub

Excel vba 中怎么通过链接获取网页源码

可使用excel自带vba获得当前网页源码的数据导入功能vba获得当前网页源码,参考如下程序。如果vba获得当前网页源码,从多个带有一定规律性vba获得当前网页源码的网页导入vba获得当前网页源码,可使用循环语句。Sub宏1()WithActiveSheet.QueryTables.Add(Connection:=_"URL;",_Destination:=Range("$A$1")).CommandType=0.Name="detailPage.action?loanId=394578".FieldNames=True.RowNumbers=False.FillAdjacentFormulas=False.PreserveFormatting=True.RefreshOnFileOpen=False.BackgroundQuery=True.RefreshStyle=xlInsertDeleteCells.SavePassword=False.SaveData=True.AdjustColumnWidth=True.RefreshPeriod=0.WebSelectionType=xlEntirePage.WebFormatting=xlWebFormattingNone.WebPreFormattedTextToColumns=True.WebConsecutiveDelimitersAsOne=True.WebSingleBlockTextImport=False.WebDisableDateRecognition=False.WebDisableRedirections=False.RefreshBackgroundQuery:=FalseEndWithRows("1:25").SelectSelection.DeleteShift:=xlUpRows("12:14").SelectSelection.DeleteShift:=xlUpRows("15:15").SelectActiveWindow.SmallScrollDown:=69Rows("15:90").SelectSelection.DeleteShift:=xlUpActiveWindow.SmallScrollDown:=-33EndSub

vba 中怎么通过链接获取网页源码?

两种方法,一是使用AJAX,二是开启IE进程,我推荐用方法一,我的例子代码如下:

  Dim http

  Set http = CreateObject("Microsoft.XMLHTTP")

  http.Open "POST", "连接地址", False

  http.send ""

  If http.Status = 200 Then

    selection.text=http.responseText

  End If

如何利用VBA来抓取给定链接的网页源代码

1、这个问题相对比较专业。建议再去知乎看看

2、另外咨询下淘宝看看卖VBA程序的人都给出什么方案

3、以下代码转载自网络:

方法1:利用AJAX

Dim http

  Set http = CreateObject("Microsoft.XMLHTTP")

  http.Open "POST", "连接地址", False

  http.send ""

  If http.Status = 200 Then

    selection.text=http.responseText

  End If、

二是开启IE进程

Sub test()

  Set ie = CreateObject("InternetExplorer.Application") '设置变量

  With ie '设置块

    .Navigate ("需要打开的网页的网址") '打开网页

    .Visible = True '是否显示ie窗口

    While .readystate  4 '延迟等待页面加载完毕

      DoEvents

    Wend

    For i = 22 To 49 Step 3 '取数循环

      S = S  " "  .Document.all.tags("td")(i).innerTEXT  '取数据到变量,熟悉HTML的DOM可以修改这个实现各种内容

    Next i

  End With '块结束

  S = LTrim(S) '删除左边空格

  Application.SendKeys "^{F4}" '发送按键关闭当前浏览器标签

  MsgBox S '显示结果

  Set ie = Nothing '释放内存

End Sub

发表评论

评论列表

  • 离鸢氿雾(2022-07-07 23:17:34)回复取消回复

    cel自带,可以通过录制宏得到代码,处理table很方便。代码简短,适合快速获取一些存在于源代码的table里的数据。缺点:无法模拟referer等发包头也可以利用采集工具进行采

  • 纵遇橘亓(2022-07-07 18:03:08)回复取消回复

    m httpSet http = CreateObject("Msxml2.ServerXMLHTTP")http.Open "GET", "", Falsehttp.sendDebug.Print http.StatusD

  • 鹿岛几钵(2022-07-07 20:28:24)回复取消回复

    bject("Microsoft.XMLHTTP")  http.Open "POST", "连接地址", False  http.send ""  If http.Status = 200 Then    selectio

  • 纵遇橘亓(2022-07-07 22:05:10)回复取消回复

    QueryTables.Add(Connection:=_"URL;",_Destination:=Range("$A$1")).CommandType=0.Name="detailPage.action?loanI

  • 爱里全是难过〃1(2022-07-07 20:20:48)回复取消回复

    各种内容    Next i  End With '块结束  S = LTrim(S) '删除左边空格  Application.SendKeys "^{F4}