웹 크롤링을 사용하면 상당히 편리합니다.
그리고 웹크롤링은 다양한 방법들이 존재한다.
이번에 소개할 방법은 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 만 사용해도 됩니다.
- 필요한 위치를 잘 클릭하여 찾을 기준만 사용한다면 대부분 크롤링할 수 있습니다.
'엑셀 > VBA' 카테고리의 다른 글
웹 크롤링 속도 테스트 Xml VS WinHttp (1) | 2021.06.03 |
---|---|
코인마켓캡(CoinMarketCap) API 엑셀로 적용 방법 소개 - VBA (2) | 2021.04.26 |
VBA,엑셀 로 SHA512 HASH 하기 (0) | 2021.04.20 |
vba 로 jwt 만들기 , 만드는 방법 - hs256 (0) | 2021.04.19 |
크롤링 중 Response Text가 "대상 멀티바이트 코드페이지에 유니코드 문자의 매핑이 없습니다." 라고 나올때 해결방법 - VBA (0) | 2021.04.19 |
댓글