【发布时间】:2020-08-16 03:46:14
【问题描述】:
我想了解特定地区的房地产价格概览。
我创建了将价格转移到列表中并进行统计的代码。
我的程序从特定链接中抓取价格、区域等。
在下一步中,我想通过 VBA 自动创建此链接列表。
对于这一步,我需要将暴露 ID 提取到 Excel。
Option Explicit
Sub ExposeID()
Dim browser As Object 'Aufnehmen der verwendeten Instanz des Browsers (Internet Explorer)
Dim knotenAst As Object 'Aufnehmen einer HTML Struktur aus dem Browser Dokument
Dim url As String 'Aufnehmen der auszulesenden Adresse
Dim ExposeID As String
url = "https://www.examplexyz.de"
Set browser = CreateObject("internetexplorer.application")
browser.Visible = False
browser.navigate url
Do Until browser.readyState = 4: DoEvents: Loop
Set knotenAst = browser.document.getElementsByClassName("is24-res-list is24-res-gallery result-list border-top")(0).getElementsBytagName("li")
'ExposeID
If Not knotenAst Is Nothing Then
ExposeID = Trim(knotenAst.innerText)
Else
ExposeID = "KeinWert"
End If
MsgBox ExposeID, vbOKCancel
'Aufräumen
browser.Quit
Set browser = Nothing
Set knotenAst = Nothing
End Sub
预期结果:所有exposeID的列表。
实际结果:我得到了一个转储。
我的清单图片:
[![Excel 中的结果][2]][2]
【问题讨论】:
-
knotenAst 是一个集合。它没有 innerText 属性。
-
你真的想要所有的exposeIds吗?
-
@QHarr:感谢您的回答。是的,获取所有公开 ID 很重要。 LINK 包含一个特殊区域的房屋列表。
如果我有 ExposeID 列表,我可以选择请求的信息,例如价格,例如从相应的详细信息页面。
标签: excel vba web-scraping getelementsbytagname