【发布时间】:2019-08-16 14:28:30
【问题描述】:
我正在尝试从以下网页中提取所有诊所的诊所名称和相应地址:https://medimap.ca/Location/Calgary,%20AB,%20Canada
我在定位我应该深入钻探的确切区域时遇到问题。所有诊所名称都有相同的类名“_1FLG5”,地址都是“_1-Gov”。但是,当我运行下面的代码时,什么都没有发生 - 没有错误,什么都没有。
我也不确定 .getElementsByClassName 之后的引用是否正确,因为我想要与我引用“_1FLG5”的同一行中的内部文本 (0),因为我想要下面两行中的文本“ _1-Gov" 我引用了 (2)。
Option Explicit
Sub GetClinicData()
Dim objIE As InternetExplorer
Dim clinicEle As Object
Dim clinicAdd As Object
Dim clinicName As String
Dim address As String
Dim y As Integer
Dim x As Integer
Set objIE = New InternetExplorer
objIE.Visible = False
objIE.navigate "https://medimap.ca/Location/Calgary,%20AB,%20Canada"
Do While objIE.Busy = True Or objIE.readyState <> 4: DoEvents: Loop
y = 1
For Each clinicEle In objIE.document.getElementsByClassName("_1FLG5")
clinicName = clinicEle.getElementsByClassName("_1FLG5")(0).innerText
Sheets("Sheet1").Range("A" & y).Value = clinicName
y = y + 1
Next
x = 1
For Each clinicAdd In objIE.document.getElementsByClassName("_1-Gov")
clinicAdd = clinicAdd.getElementsByClassName("_1-Gov")(2).innerText
Sheets("Sheet1").Range("B" & x).Value = clinicAdd
x = x + 1
Next
End Sub
【问题讨论】:
标签: html excel vba web-scraping