웹테이블 스크래핑 기능은 특정 웹페이지에 존재하는 HTML 테이블 형식의 데이터를 Excel로 자동으로 가져오는 VBA 도구입니다. 사용자는 기본 URL과 옵션 설정만으로 여러 페이지에 걸친 테이블 데이터를 반복적으로 수집할 수 있습니다.
💡 필요성 및 유용성
-
반복되는 복사-붙여넣기 작업 제거
복잡한 표 데이터를 브라우저에서 수작업으로 복사하여 엑셀로 붙여넣는 작업은 시간이 많이 걸리고 오류 가능성이 큽니다. 이 매크로는 해당 과정을 자동화하여 작업 시간을 크게 단축시켜 줍니다. -
여러 페이지 데이터 자동 수집
페이징이 존재하는 웹사이트에서 시작 페이지와 끝 페이지만 입력하면 각 페이지의 테이블을 자동으로 수집합니다.
예)https://example.com/page=
+ 페이지번호 +&type=list
-
기초 코딩 지식 없이도 사용 가능
사용자는 단지 URL 주소, 페이지 옵션만 입력하면 되므로, 비전문가도 쉽게 활용할 수 있습니다. -
엑셀 파일 내 데이터 관리 용이
웹에서 불러온 테이블은 엑셀 시트에 정리되어 표시되므로, 이후 분석, 가공, 보고서 작성 등이 쉬워집니다.
⚙️ 사용 방법 요약
-
URL 입력
C2 셀에 스크래핑 대상 웹페이지의 URL을 입력합니다.
예:https://example.com/data?page=
-
페이지 옵션 설정 (선택)
-
G2 셀:
"별도 페이지 있음"
입력 시, 페이징 기능 활성화 -
H2 셀: 시작 페이지 번호 입력
-
I2 셀: 끝 페이지 번호 입력
-
J2 셀:
"페이지종료문자 있음"
입력 시 -
K2 셀: 페이지 URL 끝에 붙는 추가 문자열 입력 (예:
&end=true
)
-
-
실행
웹_스크래핑
매크로를 실행하면, 지정된 URL 및 설정에 따라 데이터를 수집합니다. -
초기화
스크래핑_지우기
매크로를 실행하면 기존 스크래핑된 데이터가 정리됩니다.
⚠️ 주의 사항
-
테이블 구조가 일정한 웹페이지만 지원
HTML 내 테이블 구조(tr
,td
태그) 기반이므로, 자바스크립트로 렌더링되는 비표준 테이블은 불러올 수 없습니다. -
네트워크 상태 및 URL 오류 감지 필요
URL이 잘못되었거나 연결에 실패하면 경고창이 나타나고 중단됩니다. -
크롤링 허용 여부 확인
스크래핑 대상 사이트의robots.txt
정책을 확인하여 크롤링이 허용된 페이지인지 점검해야 합니다. 불법적 스크래핑은 법적 문제가 발생할 수 있습니다. -
페이지당 처리 속도 고려
각 페이지를 불러올 때 1초 간격으로 대기합니다. 대량 페이지 수집 시 다소 시간이 소요될 수 있습니다.
✅ 활용 예시
-
공공기관이나 학회 웹사이트의 발표 자료 수집
-
상품 가격 비교를 위한 리스트 수집
-
시험 일정, 통계 자료, 실적 표 등의 정리