반응형
#
http://automatetheweb.net/ 사이트 추천(클릭하면 링크로 이동)
# DOM(Document Object Model) 방식의 웹페이지 크롤링에 관한 내용을 다루고 있다.
# 군더더기를 다 빼고 오로지 웹페이지 크롤링만을 다룬다. (매우 깔끔하게 정리되어 있다.)
# 엑셀을 활용해서 웹페이지를 크롤링 하는 방법은 크게 두 가지로 나눌 수 있는데,
# 1. 웹페이지를 관리하는 서버에 필요한 데이터를 직접 요청하는 방식
(Set WHTTP = CreateObject("WinHTTP.WinHTTPrequest.5")와 같은 형식으로 서버에 수신 요청을 보내는 방식)
# 2. 위 사이트에서 제시하는 DOM 방식
(정확히는 DOM 방식이 아니라 DOM을 지향하는 웹페이지의 개체(Object)를 건드리는 방식)
(마치 사용자가 직접 웹페이지를 서핑하듯이 <- 이게 요점이다.)
(그렇기 때문에 위 사이트에서 제공하는 코드를 실행하면 인터넷 익스플로러가 실행된다.)
(방법 1에 비해 방법 2가 비교적 쉽다. 대신, 느리다.)
※ DOM(Document Object Model)? - 네이버에 접속해서 Ctrl+U(또는 마우스 오른쪽 클릭 - 페이지 소스 보기)
여기서 보이는 페이지가 DOM 그 자체다. 본인이 이해하는 한 그렇다.
웹페이지의 모든 요소를 < >로 처리해서 일종의 구획이 만들어져 있다. 이 하나의 구획(또는 구획의 집합)이 곧 개체(Object)다.
위 사이트에서 웹페이지 정보를 가져오는 방식은 필요한 데이터가 있는 페이지의 문서(HTML)를 뒤져서
그 데이터가 어떤 요소(Element), 즉 < >로 묶여 있는지를 확인하고, 필요한 데이터만 빼오는 방식이다.
여기서 우리가 정해야 하는 것은 딱 한 가지. Id, ClassName, TagName 중 어떤 요소를 통해 접근해야 할까?
답 : 찾기 쉬운거.
반응형
'VBA Macro > VBA Excel' 카테고리의 다른 글
[엑셀] 유사 단어의 일치도(%) 산출 매크로 (11) | 2018.01.13 |
---|---|
[엑셀] 글자 수 세기 (사용자 정의 함수) (0) | 2018.01.11 |
[엑셀] 같은 내용인 경우에 셀 병합하는 매크로 (0) | 2017.12.19 |
[엑셀] XML 파싱하기 #1 - 웹페이지 소스코드 따오기(기본코드) (0) | 2017.12.02 |
[엑셀] 빈행을 동일하게 채우기 매크로 (0) | 2017.11.16 |