【发布时间】:2021-05-27 01:45:26
【问题描述】:
我正在尝试从网页中获取特定的动态图形到 excel,我设法将所有网站获取响应收集到一个“全部”变量中,我应该解析该变量以提取我的数字,除了当我检查字符串变量我可以看到除了所需的动态数字之外的所有内容! :)“附图显示了当时的动态数字是2.19”, 任何想法为什么我要捕捉每一件事,将不胜感激,在此先感谢
我的想法: 1.我猜这些数字是由 JavaScript 或服务器端注入的,可能在我的 XMLHTTP 请求被处理后执行!如果是这种情况,否则我需要您的专业知识
- 除非看到特定的 Html 请求标头,否则网站不会响应,所以我可能需要模仿 Chrome 的标头,我不知道它们长什么样?
请查看下面我的代码和我想要捕获的图形的屏幕截图
'Tools>refrences>microsoft xml v3 must be refrenced
Public Function GetWebSource(ByRef URL As String) As String
Dim xml As IXMLHTTPRequest
On Error Resume Next
Set xml = CreateObject("Microsoft.XMLHTTP")
With xml
.Open "GET", URL, False
.send
GetWebSource = .responseText
End With
Set xml = Nothing
End Function
Sub ADAD()
Dim all As Variant
Dim objHTTP As Object
Dim URL As String
Set objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
all = GetWebSource("https://www.tradingview.com/symbols/CRYPTOCAP-ADA.D/")
pos = InStr(all, "tv-symbol-price-quote__value js-symbol-last")
testString = Mid(all, pos, 200)
'I am supposed to see the dynamic figure within the TAG but it is not showing!!
Debug.Print testString
End Sub
【问题讨论】:
-
您可能需要使用浏览器自动化来完成此类任务。要么直接自动化 IE,要么考虑使用 selenium。
-
请问有什么起点吗?
-
它使用 websocket 来更新。如果您想变得花哨,您可能会在这里找到一些东西:example-code.com/excel/websocket.asp。就个人而言,我会使用一种具有良好呈现 API 的语言来处理诸如 Python 之类的事情。另外,您是否检查过该公司是否提供任何公共 API?如果你去here,你可以使用 Network > ws > Messages 来监控通过套接字的流量。我的猜测是会有安全措施来防止抓住这个。
标签: javascript html vba xmlhttprequest