Я новичок в кодировании и пытаюсь выяснить, как извлечь конкретные данные из Zillow и импортировать их в Excel.Честно говоря, я довольно растерялся, пытаясь выяснить это, и я просматривал форму и другие онлайн-видео, но мне не повезло.
Вот ссылка на сайт, который я используюhttps://www.zillow.com/new-york-ny/home-values/
Я хочу вывести все числа в Excel, чтобы я мог выполнить некоторые вычисления.Если бы кто-то мог помочь мне просто включить индекс стоимости дома Zillow в $ 660 000 в excel, я чувствую, что могу выяснить все остальное.
Это код с сайта
<ul class="value-info-list" id="yui_3_18_1_1_1529698944920_2626">
<li id="yui_3_18_1_1_1529698944920_2625">
<!-- TODO: need zillow logo icon here -->
<!-- <span class="zss-logo-color"><span class="zss-font-icon"></span></span> -->
<span class="value" id="yui_3_18_1_1_1529698944920_2624">
$660,000
</span>
<span class="info zsg-fineprint"> ZHVI
</span>
Я пробовал getElementsByTagName getElementById и getElemenByClass Идентификатор сбивает меня с толку, так как я хочу иметь возможность ввести любой город в Excel, и он будет искать данные на веб-странице на zillow.Все теги id отличаются, поэтому, если я буду искать по id в этом коде, он не будет работать для других городов.Я использовал тег Class и смог получить некоторые данные, которые я искал.
Это код, который я придумал. Он вытаскивает в окно сообщения 660 000 долларов.Функция Range работает и выводит данные окна сообщения в Excel.Это натягивает кучу строк, которые я смог вытащить за 660 000 долларов, но как настроено жало Я не уверен, как извлечь оставшиеся данные, например, прогноз на 1 год "yr_forcast" - это диапазон ячеек, который я хочувытащить данные в Excel.Я также собираюсь извлечь оставшиеся цифры из этого окна сообщения для оценочной работы.
Я также включил снимок экрана окна сообщения, чтобы вы могли видеть то, на что я смотрю. Ссылка на скриншот окна сообщения
Sub SearchBot1()
'dimension (declare or set aside memory for) our variables
Dim objIE As InternetExplorer 'special object variable representing the IE browser
Dim aEle As HTMLLinkElement 'special object variable for an <a> (link) element
Dim y As Integer 'integer variable we'll use as a counter
Dim result As String 'string variable that will hold our result link
Dim Doc As HTMLDocument 'holds document object for internet explorer
'initiating a new instance of Internet Explorer and asigning it to objIE
Set objIE = New InternetExplorer
'make IE browser visible (False would allow IE to run in the background)
objIE.Visible = True
'navigate IE to this web page (a pretty neat search engine really)
objIE.navigate "https://www.zillow.com/new-york-ny/home-values/"
'wait here a few seconds while the browser is busy
Do While objIE.Busy = True Or objIE.readyState <> 4: DoEvents: Loop
'in the search box put cell "A2" value, the word "in" and cell "C1" value
objIE.document.getElementById("local-search").Value = _
Sheets("Sheet2").Range("B3").Value & ", " & Sheets("Sheet2").Range("B4").Value
'click the 'go' button
Set the_input_elements = objIE.document.getElementsByTagName("button")
For Each input_element In the_input_elements
If input_element.getAttribute("name") = "SubmitButton" Then
input_element.Click
Exit For
End If
Next input_element
'wait again for the browser
Do While objIE.Busy = True Or objIE.readyState <> 4: DoEvents: Loop
'price for home
Set Doc = objIE.document
Dim cclass As String
cclass = Trim(Doc.getElementsByClassName("value-info-list")(0).innerText)
MsgBox cclass
Dim aclass As Variant
aclass = Split(cclass, " ")
Range("Market_Price").Value = aclass(0)
Range("yr_forecast").Value = aclass(5)
'close the browser
objIE.Quit
End Sub
Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.