본문 바로가기
엑셀/VBA

VBA 웹 크롤링 하기 - InternetExplorer 사용

by 큐브빌드 2021. 4. 23.
반응형

 

웹 크롤링을 사용하면 상당히 편리합니다.

 

그리고 웹크롤링은 다양한 방법들이 존재한다.

 

이번에 소개할 방법은 InternetExplorer를 이용한 도입부 방법입니다.

 

세부적인 내용은 다루지 못하지만 시작 지점만 소개하려고 합니다.

 

1. 레퍼런스 등록합니다.

- VBA에서 도구 > 참조에서 2개 

. Microsoft HTML Object Library

. Microsoft Internet Controls

2. 시작문구 선언합니다. (거의 필수입니다.)

- Dim IE As New InternetExplorer

- Dim Doc As New HTMLDocument

- IE.navigate "주소"

- ie.visible = False '노출 유무 결정

- Do While IE.Busy = True or IE.readyState <> READYSTATE_COMPLETE

   Application.Wati (Now() + TimeValue("00:00:01")) '인터넷을 모두 불러올 때까지 1초씩 대기

  loop

 

- Set Doc = IE.document

 

3. Doc의 Class , ID , Tag 등을 찾아와서 사용하면 됩니다.

 

 - Doc. 입력 후 Ctrl + SpaceBar (자동완성)을 누르시면 getElement 관련된 사항들이 노출됩니다.

  . 가장 많이 사용하는 것 중 하나가 TagName입니다.

  . TagName을 사용하면 해당 웹페이지의 이미지를 모두 찾을 수 있습니다.

  . 이미지는 TagName 이 "img"입니다

  . 그런 이후 속성 또는 innerText 또는 href 등을 사용하여 해당 이미지의 주소를 확인할 수 있습니다.

 

4. Class , ID , Tag 등을 확인하는 방법은 인터넷 창에서 F12 눌러 개발 도구에서 확인 가능합니다.

 - Edge , Chrome , InternetExplorer 아무거나 상관없이 F12를 누르시면 개발 도구가 나타납니다.

 - Edge로 설명하겠습니다.

 - 붉은색으로 표시되어 있는 것을 선택합니다.

 - 그리고 홈페이지에 크롤링하고 싶은 영역을 선택합니다.

 - 이런 식으로 막 코드가 나타납니다.

 - 여기서 class 이름도 있고 , img Tag도 있습니다.

  ※ Class 이름의 경우 띄어쓰기가 되어있다면 앞에서만 사용해도 무방합니다.

  ※ 예) imageblock 만 사용해도 됩니다.

 - 필요한 위치를 잘 클릭하여 찾을 기준만 사용한다면 대부분 크롤링할 수 있습니다.

 

반응형

댓글