VBA Macro/VBA Excel
[엑셀] DOM 방식의 웹페이지 정보 가져오기 (사이트 추천)
루아흐뉴마
2017. 12. 22. 02:07
반응형
#
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 중 어떤 요소를 통해 접근해야 할까?
답 : 찾기 쉬운거.
반응형