我在使用VBA方面有些技巧,但是从网站上抓取数据时是一个完全新手。这是我正在使用的代码:
Sub test()
Dim XMLPage As New MSXML2.XMLHTTP60
Dim HTMLDoc As New MSHTML.HTMLDocument
Dim HTMLDiv As MSHTML.IHTMLElement
Dim HTMLTable As MSHTML.IHTMLElement
Dim reqURL As String
reqURL = "https://www.xxxxx.com/options-income/signals?page=1&pageSize=40"
XMLPage.Open "GET", reqURL, False ', "xxxxx.com", "11576"
XMLPage.send
If XMLPage.Status <> 200 Then
MsgBox XMLPage.Status & " _ " & XMLPage.statusText
Exit Sub
End If
MsgBox XMLPage.Status & " _ " & XMLPage.statusText
HTMLDoc.body.innerHTML = XMLPage.responseText
Debug.Print XMLPage.responseText
End Sub
这是我运行此代码时得到的结果:
<pre>
!doctype HTML>
html lang="en">
head>
base href="/">
meta charset="UTF-8">
meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
meta name="mobile-web-app-capable" content="yes">
title>xxxxxx</title>
link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,500,600,700,800">
link rel="apple-touch-icon" sizes="60x60" href="/assets/images/favicons/apple-touch-icon.png">
link rel="icon" type="image/png" sizes="32x32" href="/assets/images/favicons/favicon-32x32.png">
link rel="icon" type="image/png" sizes="16x16" href="/assets/images/favicons/favicon-16x16.png">
link rel="manifest" href="/assets/images/favicons/site.webmanifest">
link rel="mask-icon" href="/assets/images/favicons/safari-pinned-tab.svg" color="#5bbad5">
meta name="msapplication-TileColor" content="#da532c">
meta name="theme-color" content="#ffffff">
link href="app.1484e48c09d5c2673d38.css" rel="stylesheet"></head>
body>
div id="root"></div>
script type="text/javascript" src="vendor-89c02a07.js"></script><script type="text/javascript" src="app-ce8531bd.js"></script></body>
/html>
</pre>
代码或结果中的所有标识信息均已更改。
结果与Edge Developer Tools(或等效的Chrome或IE)的“源”选项卡上显示的信息相同。我需要的是开发人员工具的“元素”标签上显示的“ td”标签中的信息,但是到目前为止,我仍然无法产生该结果。
非常感谢您可能提供的任何帮助,在此先感谢您提供的帮助。顺便说一句,我认为这是我的第一篇有关堆栈溢出的文章。因此,我不确定自己做得是否正确。抱歉,如果没有的话。