我一直在使用IE從Excel中抓取這個網站,但最近使用IE已經不一致和緩慢。我的列表通常在500到1000左右,所以我必須在一夜之間運行宏。最近宏開始掛斷。這就是爲什麼我決定第一次使用MSXML2進行資源管理器的搜索。XML網絡動態密鑰刮網站
該網站不需要認證,但它具有動態更改的隱藏輸入。
我做了什麼..我使用GET來拉動網站並提取動態密鑰,然後嘗試使用POST將輸入數據發送到網站。我一直在獲取服務器錯誤/運行時錯誤。我曾嘗試使用不同的標題請求選項,但我仍然沒有得到結果頁。我也嘗試使用MSXML2.ServerXMLHTTP。我在正確的軌道上嗎?
感謝
Sub test_66()
Dim oXML_get
'Dim oXML_post
Dim sendText As String, s2 As String, n1 As Integer, postUrl As String, sHTML As String, s1 As String
' Instantiate MSXML2
Set oXML_get = New MSXML2.XMLHTTP
oXML_get.Open "GET", "http://www.phila.gov/revenue/realestatetax/default.aspx", False
oXML_get.setRequestHeader "Accept", "text/html;charset=UTF-8"
oXML_get.setRequestHeader "Accept-Encoding", "identity"
oXML_get.setRequestHeader "Accept-Charset", "UTF-8" 'Connection keep -alive
oXML_get.setRequestHeader "Connection", "keep -alive"
oXML_get.send
sHTML = oXML_get.responseText
'Debug.Print sHTML
Dim hDOC As MSHTML.HTMLDocument
Set hDOC = New MSHTML.HTMLDocument
hDOC.body.innerHTML = sHTML
s1 = Replace(hDOC.getElementsByTagName("input").Item(2).Value, "/", "%2F")
s2 = Replace(hDOC.getElementsByTagName("input").Item(3).Value, "/", "%2F")
sendText = "__VIEWSTATE=" & s1 & "&__EVENTVALIDATION=" & s2 & "&ctl00%24BodyContentPlaceHolder%24SearchByBRTControl%24txtTaxInfo=043185500&ctl00%24BodyContentPlaceHolder%24SearchByBRTControl%24btnTaxByBRT=%20>>"
Debug.Print sendText '"__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=" & s1 & "__EVENTVALIDATION=" & s2 &
oXML_get.Open "POST", "http://www.phila.gov/revenue/realestatetax/default.aspx", False
oXML_get.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
oXML_get.setRequestHeader "Accept", "text/html;charset=UTF-8"
oXML_get.setRequestHeader "Accept-Encoding", "identity"
oXML_get.setRequestHeader "Accept-Charset", "UTF-8" 'Connection keep -alive
'oXML_get.setRequestHeader "Connection", "keep -alive"
oXML_get.send (sendText)
Dim objIE As Object: Set objIE = CreateObject("InternetExplorer.Application")
objIE.navigate "about:blank"
objIE.Visible = True
objIE.document.Write oXML_get.responseText
End Sub
這是我收到運行時錯誤消息....
Server Error in '/revenue/RealEstateTax' Application.
<!-- Web.Config Configuration File -->
<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>
檢查,如果你只是缺少&'sendText = 「__VIEWSTATE =」 &S1&「&__ EVENTVALIDATION = 「...' – omegastripes
你說得對,我會更新並檢查代碼。感謝您的快速響應。 – user3121922
我插入了&符號,但仍然收到來自服務器的相同錯誤。我已經更新了上面的代碼。 – user3121922