IMPORTHTML 함수 추가기능 (웹 크롤링 함수)

(2개의 고객 상품평)

특정 웹페이지의 테이블 및 목록 데이터를 추출합니다. 순번 또는 클래스를 직접 지정하여 추출할 수 있습니다.

⭐️ 모든 일반 회원에게 무료로 제공되는 자료입니다.
자료 다운로드

파일형식

카테고리:

IMPORTHTML 함수 추가기능 - DuTool

특정 웹 페이지의 테이블 또는 목록 데이터를 추출하는 사용자 지정 함수
(동적출력, 배열반환가능, 특정 클래스 지정 가능)

엑셀 IMPORTHTML 함수 추가기능 안내

IMPORTHTML 함수는 특정 웹페이지의 테이블 및 목록 데이터를 빠르게 추출하는 사용자 지정함수입니다. 추출하고자 하는 테이블, 항목의 '순번'을 지정하거나 또는 클래스 이름을 직접 지정하여 데이터를 추출할 수 있습니다. 만약 순번이나 클래스이름이 입력되지 않을 경우, 해당 페이지에서 가장 데이터가 많은 항목을 반환합니다.

엑셀 IMPORTHTML 함수 동적반환이 기본값으로 설정되어 있습니다. 따라서 출력범위에 기존값이 있을 경우, 기존값을 지운 뒤 새로운 값을 덮어쓰기 합니다. 만약 정해진 범위에만 데이터를 출력해야 할 경우, 상황에 따라 배열반환여부를 'TRUE'로 설정하여 사용할 수 있습니다. 함수는 아래 3개 Tag를 가진 데이터만 추출가능합니다.

  • table : 표
  • ul (unordered list) : 번호없는 목록
  • ol (ordered list) : 번호 목록

보다 유연한 웹 크롤링 기법은 아래 VBA 크롤링 강의에서 단계별로 설명하여 드렸습니다. 보다 세부적인 데이터 추출작업이 필요할 경우, 아래 강의를 참고하여 사용자명령문을 직접 제작하여 사용할 수 있습니다.

DuTool 추가기능은 다운로드받은 파일을 실행하면 자동으로 설치됩니다. 단계별 설치방법은 아래 링크를 참고하세요.

회원에게 제공되는 특별한 혜택!

.

주기적인 업데이트 및 패치 제공 

파일 사용 중에 오류나 버그 발생시 커뮤니티에 문의해주세요! 확인 후 실시간 업데이트 및 패치를 제공해드립니다.

.

언제 어디서든, 무제한 다운로드 가능

1년 365일 언제 어디서든 파일이 필요할 경우, '클릭 한 번' 으로 손쉽게 파일을 다운받을 수 있습니다.

.

엑셀 커뮤니티 1:1 질의응답

파일 사용 중에 궁금한 점, 개선사항이 있을 경우 커뮤니티에 글을 올려주세요! 회원 여러분과 함께 교류하며 소통할 수 있습니다.

엑셀 IMPORTHTML함수 구문
= IMPORTHTML ( URL주소, 형식, 순번(또는 클래스), 배열반환여부 )
IMPORTHTML 함수 인수설명
인수설명
URL주소데이터를 추출할 웹 페이지 주소입니다.
형식추출할 데이터 형식입니다. 아래 3가지 형식만 선택가능하며, 이외 값 선택시 #VALUE! 오류를 반환합니다.

  • table
  • ul
  • ol
순번(또는 클래스)
[선택인수]
출력하고자 하는 항목이 페이지에서 몇번째 위치하는지 순번을 입력하거나 또는 클래스를 직접 입력합니다. 순서는 큰따옴표(") 없이 숫자로 입력하며, 클래스는 큰따옴표로 묶어서 입력합니다.

순번 또는 클래스가 지정되지 않을경우, IMPORTHTML 함수는 페이지에서 데이터가 가장 많은 항목을 결과값으로 출력합니다.

배열반환여부
[선택인수]
배열반환여부가 TRUE면 결과값을 배열로 반환합니다. 기본값은 FALSE 입니다. 배열반환여부가 TRUE 일 경우, 함수는 반드시 CTRL + SHIFT + ENTER 로 입력되어야 합니다.
호환성
운영체제호환성
Windows 버전엑셀 2007 이상 버전에서 사용가능합니다.
Mac 버전Mac용 엑셀 2011 이상 버전에서 사용가능합니다.

IMPORTHTML 함수 사용예제

1. 음악 차트 100위 까지 순위 목록 가져오기 (벅스뮤직 벅스차트)
=IMPORTHTML( URL주소, "table", "list trackList byChart")
'// URL주소 : https://music.bugs.co.kr/chart (URL 주소는 홈페이지 사정에 따라 달라질 수 있습니다)

크롤링 음악 순위 가져오기 IMPORTHTML 함수

2. 역대 국회의원 목록 추출하기
=IMPORTHTML( URL주소, "table", 순번)
'// URL주소 : https://www.assembly.go.kr/views/cms/assm/assembly/asshistory/asshistory0105.jsp (URL 주소는 홈페이지 사정에 따라 달라질 수 있습니다)

엑셀 IMPORTHTML 함수 국회의원 목록

3. 네이버 카테고리 별 상품 목록 추출하기
=IMPORTHTML( URL주소, "ul", "goods_list")
'// URL주소 : https://search.shopping.naver.com/search/category.nhn?cat_id=카테고리번호 (URL 주소는 홈페이지 사정에 따라 달라질 수 있습니다)

네이버 쇼핑 크롤링

4. 국회의원 목록 중 성이 "김"씨인 국회의원 인원수 계산
=SUMPRODUCT(--(ISNUMBER(SEARCH("김*",IMPORTHTML(URL,"table",1,TRUE)))))
'// URL주소 : https://www.assembly.go.kr/views/cms/assm/assembly/asshistory/asshistory0105.jsp (URL 주소는 홈페이지 사정에 따라 달라질 수 있습니다)

특정 문자를 포함하는 부분일치 여부를 검색하는 공식에 대한 자세한 설명은 아래 관련포스트를 확인하세요.

그 외 참고사항

  • 추가기능으로 제공되는 모든 함수는, '함수가 실행 될 경우' 이전에 기록된 모든 작업 기록을 초기화하므로 이전단계 되돌리기(Ctrl + Z) 기능을 사용할 수 없게되는 점을 주의하여 사용합니다.
  • IMPORTHTML 함수의 배열반환여부가 FALSE 이고, 함수가 출력될 범위에 기존값이 있을 경우, 함수는 기존값을 지우고 새로운 값을 덮어쓰기 합니다. 정해진 크기의 데이터를 정해진 범위에만 추출해야 할 경우, 배열반환여부를 TRUE로 변경한 뒤 배열수식으로 이용할 수 있습니다.
  • 해당 함수는 table, ul, ol 목록만 추출합니다. 보다 세분화 된 크롤링 작업이 필요할 경우, 아래 VBA 강의를 참고하여 본인만의 커스텀 크롤링 명령문을 작성하여 이용합니다.

패치노트

  • v1.0.1 (2020.06.01)
    - 호환성 개선
  • v1.0.0 (2020.05.08)
    - IMPORTHTML 함수 추가기능 릴리즈
guest
Inline Feedbacks
View all comments
스타크엑셀
2020년 5월 11일 7:20 오전
별점주기 :
     

표나 목록이 아니라 div 로 여러개가 겹쳐져 잇는거는 방법이 없나요?ㅠ

여시
2020년 6월 1일 6:18 오전
별점주기 :
     

IMPORTHTML 함수로 이미지는 못 가져오나요??
안되네요. 방법이 있으면 부탁합니다.

여시
2020년 6월 1일 6:47 오전
Reply to  여시

그리고 지금 리턴값이 #NULL로 나오네요. 어디가 잘못되었는지도 한번 봐주심 감사합니다.
IMPORTHTML("https://search.shopping.naver.com/search/category?catId=50000190","ul","list_basis")

여시
2020년 6월 1일 5:22 오후

안녕하세요. 빠른 답변 감사합니다.
업데이트 후 "숨겨진 모듈 Module1에서 컴파일 오류가 발생했습니다. ..."메세지가 뜹니다.

여시
2020년 6월 1일 7:19 오후

네 잘 됩니다. 감사합니다.
한가지 더 문의. 이미지(URL경로)는 가져올 수 없나용??
아니면 웹 크롤링으로 해야 할까요???
시장조사와 상품분석(가격변동)에 필요한 엑셀 VBA을 만들어 보려합니다.
예제소스가 있으면 부탁드립니다. ( [email protected] )
뒤늦게 본 주식관련 예제는 정말 도움이 되었습니다.

여시
2020년 6월 2일 6:05 오후

네. 웹 크롤링으로 이미지 경로을 받아서 처리하였읍니다. 감사합니다.
추가 질문 하나 더 ^^
엑셀 웹 크롤링 작업시 워크시트에서 Web Browser1를 안보이게 (Hidden:)숨기는 방법이 있을까요?? 리턴값리스트만 보였으면해서요.
재 쿼리(실행)시 이미지가 중복되어 Sheet.Pictures.Delete 추가했더니 Web Browser도 지워지네요 ㅜㅜ

여시
2020년 6월 3일 1:27 오후

위 소스로 잘 해결했으나 Shape.Visible = False로 삭제해결^^ 그런데 WebBrowser의 Visible 속성을 False로 변경하면 다음 실행때 Wait_Browser MyBrowser가 루프에서 나오질 못하더군요 ㅜㅜ 그래서 Set MyBrowser = New InternetExplorer Set Mybutton… 더보기 »

13
0
여러분의 생각을 댓글로 남겨주세요.x