엑셀

2014-04-21 2 views
0

나는 아래 기존의 예제와 매우 비슷한 할 노력하고 있어요 통해 웹 사이트에서 특정 데이터를 가져 오는 : 하나 개의 작은 제외 reference problem엑셀

을, 나는 당겨야 리뷰 만 평가# 이 목록을 Excel의 2 개의 개별 셀에 저장합니다.

전체 사이트의 데이터를 가져 오지 않으면 어떻게 이런 짓을 할 수 있습니까? 특정 html 태그를 호출하거나 명령을 사용하여이 작업을 수행해야하지만이 작업이 무엇인지 알 필요가없는 것 같습니다.

제발 도와주세요!

+0

관심있는 웹 사이트의 URL은 무엇에 그들을 배치 할 것인가? – ron

+0

이것은 좋은 예가 될 것입니다 : [http://www.yelp.com/biz/if-boutique-new-york#] (http://example.com) – user3558159

답변

0

이 코드는 사용자가 요청한 정보의 두 가지를 검색하고 activesheet

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 
+0

이것은 놀랍습니다! 실제로 이것은 내가이 사이트에서 물어 본 첫 번째 질문이므로 좋은 반응을 얻었습니다. 고맙습니다! 한 가지 더, my_url 변수에서 셀 참조를 사용하여 동적으로 URL을 변경할 수 있습니까? 스크립트를 실행하면 10 개의 다른 URL 목록을 말할 수 있습니다 (a1 : a10). – user3558159

+0

예, 동적으로 URL을 업데이트하는 것은 문제가되지 않습니다. 제안한 방법은 잘 작동합니다. 내 대답이 도움이 되었다면, "수락 함"으로 표시해주십시오, 감사합니다. – ron

+0

또한 쿼리 시간을 단축하는 방법이 있습니까? – user3558159