Я пытаюсь сделать что-то очень похожее на приведенный ниже пример: справочная проблема
С одним небольшим исключением, мне нужно отобрать только рейтинг и # обзоров для этого списка в 2 отдельных ячейки в Excel.
Как я могу сделать это таким образом, не вытаскивая данные всего сайта? Кажется, мне нужно вызвать конкретный тег html или использовать команду для этого, но я не знаю, что это такое.
Пожалуйста помоги!
Этот код будет извлекать две части запрошенной вами информации и размещать их на активной табличке
Sub test()
my_url = "http://www.yelp.com/biz/if-boutique-new-york"
Set html_doc = CreateObject("htmlfile")
Set xml_obj = CreateObject("MSXML2.XMLHTTP")
xml_obj.Open "GET", my_url, False
xml_obj.send
html_doc.body.innerhtml = xml_obj.responseText
Set xml_obj = Nothing
Set Results = html_doc.body.getElementsByTagName("i")
For Each itm In Results
If InStr(1, itm.outerhtml, "star-img", vbTextCompare) > 0 Then
numb_stars = itm.getAttribute("title")
Exit For
Else
End If
Next
Set Results = html_doc.body.getElementsByTagName("span")
For Each itm In Results
If InStr(1, itm.outerhtml, "reviewCount", vbTextCompare) > 0 Then
numb_rev = itm.innertext
Exit For
Else
End If
Next
ActiveCell = numb_stars
ActiveCell.Offset(1, 0) = numb_rev
End Sub