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
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开头(然后是冒号和两个斜线)的完整地址。
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
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
8. 下面用VBA抓取网页数据的代码,希望不打开IE界面静默进行,看看代码怎么改
下面的这行代码:
.Visible = True '是否显示ie窗口
修改为:
.Visible = False '不显示ie窗口