我正在尝试从以下网页中提取数据。使用VBA将数据从网页提取到Excel
通行证:calnea1
一旦登录胡佛在 “专业服务”,然后点击 “搜索谱曲(照片)”。我已经输入了一个邮政编码并勾选了一些属性,这些属性应该将它们放入候选名单中。要访问短名单,请点击页面底部右侧的按钮,显示“查看候选名单”,点击。现在您可以看到选定的属性,并且我想要为每个属性提取每个数据,例如单元格A1 =地址,A2 =最后的销售价格,A3 =最后的销售日期等等。然后在下一行的下一个属性,所以B1 =地址等。如果可能我想获得图像的URL。
我不知道最好的解决办法,因为有一个登录,但我仍然登录在浏览器中,所以我认为这不是一个问题?
以下是我到目前为止,但不幸的是我没有运气和帮助将非常感谢! :)
Sub test()
Dim eRow As Long
Dim ele As Object
Set sht = Sheets("Sheet1")
RowCount = 1
sht.Range("A" & RowCount) = "Address"
sht.Range("B" & RowCount) = "Last Sales Price"
sht.Range("C" & RowCount) = "Last Sales Date"
sht.Range("D" & RowCount) = "Property Type"
eRow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
Set objIE = CreateObject("InternetExplorer.Application")
With objIE
.Visible = True
.navigate "http://pro.calnea.com/client/cmp_shortlist/bs6?Require_EA=false&SearchMode=CMP"
Do While .Busy Or _
.readyState <> 4
DoEvents
Loop
Set what = .document.getElementsByName("q")
what.Item(0).Value = Address
Set Address = .document.getElementsByName("where")
Address.Item(0).Value = Last Sales Price
.document.getElementById("View Shortlist").Click
Do While .Busy Or _
.readyState <> 4
DoEvents
Loop
For Each ele In .document.all
Select Case ele.classname
Case "Result"
RowCount = RowCount + 1
Case "Title"
sht.Range("A" & RowCount) = ele.innertext
Case "Company"
sht.Range("B" & RowCount) = ele.innertext
Case "Location"
sht.Range("C" & RowCount) = ele.innertext
Case "Description"
sht.Range("D" & RowCount) = ele.innertext
End Select
Next ele
End With
Macro1
Set objIE = Nothing
End Sub
非常不好的做法发布您的信息登录本网站,我已经删除它为您的利益。 – Sorceri
@Sorceri事实上,你提到你删除它,现在有人可以看到编辑[历史](http://stackoverflow.com/posts/19984280/revisions)不是我会用别人的密码,但只是说它不完全除去。 –
尽我所能去除它,这是我所能做的,帮助他们。没有人应该将他们的信息发布到公共场所。如果你不会发布这个链接,它可能仍然是一种隐藏,但现在任何人都可以看看你的链接! – Sorceri