gpt4 book ai didi

excel - 如何使用 VBA 和选择器将此网站的内容转换为 Excel?

转载 作者:行者123 更新时间:2023-12-04 19:57:34 24 4
gpt4 key购买 nike

我的网站问题:
尽管数据定期更改,但数据的结构始终保持不变。我尝试将内容(仅带有标题的最后两列: Aktenzeichen Aufgehoben )转移到 excel 3 列(ID 号、日期、时间)通过在日期和时间中拆分 Aufgehoben 的值。
我的问题是“Bundesland”和“Amtsgericht”列中的值 (尽管我不需要这些)与其余数据的出现频率不同,并且弄乱了 html 结构中的所有 trs 和 tds,所以我不明白如何使用选择器!有任何想法吗?谢谢。
我的……嗯……代码:

Sub GetData()

Const URL = "https://www.zvg.com/appl/aufgehoben.prg?act=getHTML"
Dim html As New HTMLDocument
Dim elmt As Object
Dim x As long

With CreateObject("MSXML2.XMLHTTP")
.Open "GET", URL, False
.send
html.body.innerHTML = .responseText
End With

For x = 0 to ????.Length - 1
Set elmt = html.querySelectorAll("???")
ActiveSheet.Cells(y + 2, 2) = elmt.Item(?).innerText 'Aktenzeichen
ActiveSheet.Cells(y + 2, 3) = elmt.Item(?).innerText 'Date
ActiveSheet.Cells(y + 2, 4) = elmt.Item(?).innerText 'Time
Next

End Sub

最佳答案

我可以向您保证,可能有比这更好的答案,但以下代码有效:

Sub getStuff()

' Declare variables
Dim XMLPage As New MSXML2.XMLHTTP60
Dim HTMLDoc As New MSHTML.HTMLDocument
Dim Table, Row, Data, Point As Variant
Dim i, x, j As Integer

' Make Request
With XMLPage
.Open "GET", "https://www.zvg.com/appl/aufgehoben.prg?act=getHTML", False
.send
HTMLDoc.body.innerHTML = .responseText
End With

' Set counters
i = 1
x = 0
j = 1

' Parse data into worksheet
For Each Table In HTMLDoc.getElementsByTagName("tr")
For Each Row In Table.getElementsByTagName("tr")
For Each Data In Row.getElementsByTagName("td")
' Parse headers in first run
If i = 1 Then
Cells(i, j).Value = Data.innerText
Else
x = i
' Split the data points
For Each Point In Split(Data.innerText, Chr(13))
Cells(i, j).Value = Point
i = i + 1
Next Point
If j <> 3 Then
i = x
End If
End If
j = j + 1
Next Data
i = i + 1
j = 1
Next Row
Next Table

' Remove empty rows
Columns("C:C").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.EntireRow.Delete

End Sub

关于excel - 如何使用 VBA 和选择器将此网站的内容转换为 Excel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67592809/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com