이 페이지에서 테이블 데이터를 스크래핑하는 데 문제가 있습니다. [http://www.eex.com/en/market-data/power/derivatives-market/phelix-futures]. 이 코드를 사용하지만 데이터 긁어하지 않습니다XMLHTTP 개체를 기반으로 VBA를 사용하여 동적 웹 페이지를 긁음
Public Sub ScrapTableData()
Dim sURL As String
Dim XMLHttpRequest As XMLHTTP
Dim HTMLDoc As New HTMLDocument
Dim elc As HTMLHtmlElement
Dim i As Integer
sURL = "http://www.eex.com/en/market-data/power/derivatives-market/phelix-futures"
Set XMLHttpRequest = New MSXML2.XMLHTTP
XMLHttpRequest.Open "GET", sURL, False
XMLHttpRequest.responseXML.async = False
XMLHttpRequest.send
Do While XMLHttpRequest.Status <> 200
DoEvents
Loop
While XMLHttpRequest.ReadyState <> 4
DoEvents
Wend
HTMLDoc.body.innerHTML = XMLHttpRequest.responseText
' Tables
Dim tbl As HTMLTable, row As HTMLTableRow, cell As HTMLTableCell
i = 1
For Each tbl In HTMLDoc.getElementsByTagName("table")
For Each row In tbl.Rows
For Each cell In row.Cells
ActiveSheet.Cells(i, 5) = cell.innerText
i = i + 1
Next
Next
Next
End Sub
내 코드는 HTML에게 table
태그를 찾을하지 않습니다. , 연도, 분기, 월 :
i = 0
Dim elc As HTMLHtmlElement
For Each elc In HTMLDoc.all
Worksheets("Tables").Range("A1").Offset(i, 0) = elc.tagName
i = i + 1
Next
6 버튼 : 나는 코드의이 부분을 사용하는 경우
또한, 6 개 버튼을 설명하고 HTML (예를 들어, HTML DIV
태그) 모든 HTML 태그를 나열하지 않습니다 ..., 일
서로 다른 테이블의 데이터를 표시 (긁어 내기)하려면 시뮬레이션을해야합니다.
데이터가로드 한 후 페이지에 동적으로 추가됩니다 도움이되기를 바랍니다 - XMLHTTP은 초기 페이지 소스를 가져옵니다 때문에,이 같은 페이지를 긁어 그 방법을 사용할 수 없습니다 : 그것은 동적 업데이트를 수행하지 않습니다. 대신 IE를 자동화하십시오. –