如何用vba抓取网页数据

2024-05-13

1. 如何用vba抓取网页数据

Sub cc()

    Cells.ClearContents

    Set oDoc = CreateObject("htmlfile")

    With CreateObject("WinHttp.WinHttpRequest.5.1")

            .Open "GET", 
"",
 False

            .Send

            .WaitForResponse

            oDoc.body.innerHTML = .responsetext

            Set r = oDoc.All.tags("table")(7).Rows

            For i = 0 To r.Length - 1

            k = [a65536].End(3).Row

                For j = 0 To r(i).Cells.Length - 1

                    Cells(k + 1, j + 1) = r(i).Cells(j).innerText

                Next j

            Next i

        Set r = Nothing

    End With

End Sub

如何用vba抓取网页数据

2. Excel 如何用VBA提取网页数据

1、首先打开Excel 2007工作表,点击想要把数据导入的位置,然后在菜单栏找到第五项'数据“,点击,在“获取外部数据”项下找到“自网站”并点击。
2、这时弹出来”新建 Web 查询“对话框,可以在“地址”一栏键入要添加数据的网页的地址。
3、添加完成后,点击“转到(G)”,下面会出来要添加网页的内容和黄色箭头,单击要选择的表旁边的黄色箭头,可以看到点击后黄色箭头变成绿色的对号,这表示内容已经选中了,然后单击“导入(I)”。
4、弹出来”导入数据“对话框,设置完成点击“确定”。
5、Excel表中显示“正在获取数据……”。
6、数据获取完成,之前选中的网页内容全部导入了Excel工作表里。

3. vba提取网页数据

下面的代码就可以:
Option ExplicitSub 批量获取网页内容()  Dim http, Pols, Arr, i, u  Set http = CreateObject("Microsoft.XMLHTTP")  i = 1  For Each u In Array("url1", "url2")    http.Open "POST", u, False    http.send ""    If http.Status = 200 Then      Cells(i, 1) = http.responseText      i = i + 1    End If  Next u  Set http = NothingEnd Sub
url1、url2就是你的网址,有多少写多少,每一个都要一http开头(然后是冒号和两个斜线)的完整地址。

vba提取网页数据

4. excel VBA 网页数据抓取

首先打开Excel 2007工作表,点击想要把数据导入的位置,然后在菜单栏找到第五项"数据“,点击,在“获取外部数据”项下找到“自网站”并点击。

这时弹出来”新建 Web 查询“对话框,可以在“地址”一栏键入要添加数据的网页的地址。

添加完成后,点击“转到(G)”,下面会出来要添加网页的内容和黄色箭头,单击要选择的表旁边的黄色箭头,可以看到点击后黄色箭头变成绿色的对号,这表示内容已经选中了,然后单击“导入(I)”。

弹出来”导入数据“对话框,设置完成点击“确定”。

Excel表中显示“正在获取数据……”。

数据获取完成,之前选中的网页内容全部导入了Excel工作表里。

5. 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, """", "")
Q1 = Replace(Q1, Chr(9), "")
Q1 = Replace(Q1, Chr(10), "")
Q1 = Replace(Q1, Chr(13), "")
Q1 = Replace(Q1, "=odd>", "=>")
End With
'Sheet1.[A2] = Q1
B1 = Split(Q1, "")
For j = 1 To UBound(B1)
B2 = Split(B1(j), "")
B3 = Split(Replace(B2(1), "", ""), ",")
A2(A + 1, 1) = Replace(B2(2), "", "")
A2(A + 1, 2) = Replace(B2(0), "", "")
For K = 0 To 9
A2(A + 1, 3 + K) = B3(K)
Next
A = A + 1
Next
Application.StatusBar = i
Next
MsgBox A
With Sheet1
If .AutoFilterMode = True Then .AutoFilterMode = False
.Rows("2:600000").ClearContents
If A > 0 Then .[A2].Resize(A, 15) = A2
.Rows(1).AutoFilter   '数据筛选
ActiveWindow.ScrollRow = 1
ActiveWindow.ScrollColumn = 1
End With
End Sub

Excel vba如何抓取指定的网页数据到单元格

6. excel vba 抓取网页数据

这个的话
你必须要对excel里面的VBA的很熟悉啊
你可以去excel home里面询问一些VBA高手啊
这里很难遇到啊

7. 如何利用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

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

8. 下面用VBA抓取网页数据的代码,希望不打开IE界面静默进行,看看代码怎么改

下面的这行代码:
   .Visible = True '是否显示ie窗口


修改为:
   .Visible = False '不显示ie窗口