웹 크롤링 (Web Crawling)
웹사이트의 정보를 자동으로 수집하는 기술입니다. 사람이 일일이 복사-붙여넣기 할 필요 없이, 프로그램이 웹페이지를 돌아다니며 원하는 데이터를 모아줍니다.
같은 말:웹 스크래핑Web Scraping데이터 수집웹 크롤러
목차
🤔 혹시 이런 경험 있나요?
쇼핑몰 10곳의 가격을 비교하려고 탭을 10개 열어서 하나씩 확인한 적 있나요? 경쟁사 블로그 글을 매일 직접 들어가서 확인하거나, 구인 사이트에서 조건에 맞는 공고를 하나하나 찾아본 적 있나요?
이런 반복적인 정보 수집을 대신 해주는 기술이 바로 웹 크롤링입니다.
🕷️ 크롤링이란?
웹 크롤링(Web Crawling)은 프로그램이 웹사이트를 자동으로 돌아다니며 정보를 수집하는 기술입니다. 여러분이 브라우저에서 사이트를 열고, 내용을 확인하고, 엑셀에 옮겨적는 작업을 프로그램이 대신 하는 것이라고 생각하면 됩니다.
가장 유명한 크롤러는 구글의 Googlebot입니다. 구글 검색결과에 웹사이트가 나타나는 이유가 바로 이 봇이 전 세계 웹사이트를 자동으로 돌아다니며 정보를 수집하기 때문입니다.
📦 크롤링 vs 스크래핑
이 두 단어가 자주 같이 나오는데, 차이는 간단합니다.
- 크롤링: 이 사이트, 저 사이트 돌아다니며 페이지를 찾는 것
- 스크래핑: 찾은 페이지에서 필요한 데이터만 꺼내오는 것
비유하면 크롤링은 마트를 돌아다니며 진열대를 훑는 것이고, 스크래핑은 필요한 상품만 장바구니에 넣는 것입니다. 보통은 이 두 가지를 합쳐서 "크롤링"이라고 부릅니다.
본문 개념을 설명하는 학습용 예시입니다. 실제 서비스 화면이 아닙니다.
🔧 웹에서 데이터를 받는 세 가지 방법
1. 간단한 방식: 페이지를 통째로 받아오기
웹사이트에 "이 페이지 내용 보여줘"라고 요청해서 받은 파일에서 필요한 부분만 꺼내는 방식입니다.
비유하면 신문을 배달받아서 필요한 기사만 오려두는 것과 같습니다.
- 빠르고 간단합니다
- JavaScript 실행 뒤 내용이 추가되는 페이지라면 처음 받은 HTML에 필요한 데이터가 없을 수 있습니다
2. 브라우저 방식: 진짜 크롬을 조종하기
스크롤을 내리거나 버튼을 클릭해야 내용이 나타나는 사이트가 있습니다. 필요한 경우 브라우저를 자동으로 조작해 내용이 표시된 뒤 읽는 방식을 검토합니다. 공식 내보내기나 API로 받을 수 있다면 브라우저 조작이 필요하지 않을 수도 있습니다.
화면에 보이지 않는 크롬 브라우저를 뒤에서 실행시키고, 프로그램이 주소를 입력하고, 클릭하고, 스크롤하고, 데이터를 읽어옵니다. 이것을 "헤드리스 브라우저" 방식이라고 부릅니다 (화면 없이 돌아가는 브라우저라는 뜻).
- JavaScript 실행 뒤 나타나는 내용을 확인할 수 있습니다
- 실제 브라우저를 써도 로그인, 자동화 제한과 이용 조건은 그대로 적용됩니다
- 단, 속도가 느리고 컴퓨터 자원을 많이 씁니다
3. API 방식: 공식 통로로 데이터 받기
일부 서비스는 데이터를 정식으로 제공하는 통로인 API를 운영합니다. 예를 들어 네이버 검색 API나 공공데이터포털 API를 이용하면 크롤링 없이도 깔끔하게 정리된 데이터를 바로 받을 수 있습니다.
- 데이터가 정리된 형태로 나옵니다 (엑셀처럼)
- 인증과 사용 권한, 요청 한도 및 제공 조건을 확인해야 합니다
- 단, API가 제공하지 않는 데이터는 받을 수 없습니다
결론: API가 있다면 API를 먼저 사용하고, 없을 때 크롤링을 고려하세요.
수집 전에 확인할 것
먼저 서비스의 공식 다운로드나 내보내기 기능, API가 필요한 데이터를 제공하는지 확인합니다. API가 있다는 사실만으로 모든 이용이 허용되지는 않으며 계정 권한, 사용 조건과 요청 한도를 따릅니다.
robots.txt는 자동 수집 프로그램에 접근할 경로를 안내하는 파일입니다. 이 파일이 수집을 허용한다고 저작권이나 개인정보 처리, 이용약관까지 모두 허가한 것은 아닙니다. 반대로 파일 하나가 접근 인증을 대신하는 장치도 아닙니다. 수집 목적과 보관 및 재사용 범위에 맞는 조건을 함께 확인합니다.
고정된 10초 또는 15초 간격을 두면 차단되지 않는다는 규칙은 없습니다. 제공자가 정한 한도를 따르고 오류 응답과 재시도 안내를 확인합니다. 접근이 거절되면 요청을 멈추고 허용된 경로나 관리자에게 확인할 사항을 정합니다.
가상 공지 두 개에서 필요한 값만 고르기
처음부터 여러 사이트를 연결하지 않고, 아래 연습용 HTML에서 제목과 날짜 두 항목을 정확히 옮겨 봅니다. HTML은 웹페이지의 내용과 구조를 표시하는 문법입니다. 이 예제에서는 h2가 공지 제목, time이 날짜를 나타냅니다.
<article>
<h2>가을 강좌 신청</h2>
<time>2026-10-01</time>
<p>신청은 10월 8일까지 받습니다.</p>
</article>
<article>
<h2>휴관 안내</h2>
<time>2026-10-02</time>
<p>10월 9일에는 문을 닫습니다.</p>
</article>메모장이나 평소 쓰는 문서에 공지 제목 / 게시일 두 열을 만들고 값을 옮깁니다. 기존 AI 채팅으로 해보려면 새 대화에 위 자료와 "h2의 제목과 time의 게시일만 두 열로 정리해 주세요. 본문의 마감일과 휴관일은 게시일에 넣지 말아 주세요"라는 요청을 함께 전송합니다. 새 도구 설치나 유료 구독이 필요한 연습은 아닙니다.
정상 결과는 "가을 강좌 신청 / 2026-10-01", "휴관 안내 / 2026-10-02" 두 행입니다. AI가 10월 8일이나 9일을 게시일로 넣었다면 본문 날짜를 잘못 고른 것입니다. 잘못 고른 문장을 짚고 time 안의 값으로 고치도록 요청한 뒤 원문을 다시 대조합니다.
이 연습은 이미 제공된 자료에서 값을 추출하는 스크래핑 부분의 연습이며 실제 웹사이트를 돌아다니는 자동 수집을 실행한 것은 아닙니다. 정확한 결과를 먼저 정해 놓으면 나중에 도구가 같은 필드를 수집했는지 비교할 수 있습니다.
두 번째 공지의 time 값만 2026-10-03으로 바꿔 다시 옮겨 봅니다. 두 번째 행의 게시일만 바뀌고 제목은 그대로여야 합니다. 결과와 수정 이유를 메모에 남기면 이번 연습은 마칠 수 있습니다. 실제 사이트로 확장할 때는 먼저 허용된 페이지 한 개에서 같은 필드를 찾고 원문과 대조합니다.
📋 3줄 요약
-
웹 크롤링은 프로그램이 웹사이트를 자동으로 돌아다니며 정보를 모으는 기술이고 페이지를 찾는 것이 크롤링, 그 안에서 데이터를 꺼내는 것이 스크래핑입니다.
-
웹 자료를 받을 때는 HTML 응답과 브라우저 자동화를 이용할 수 있고 공식 API가 제공되면 별도의 대안으로 검토합니다.
-
수집 가능 여부와 요청 한도를 먼저 확인하며 정해진 대기 간격이나 브라우저 사용만으로 허용과 성공이 보장되지는 않습니다.
프로그램끼리 데이터를 주고받는 정식 통로는 REST API 클래스에서 다룹니다.
참고 자료
크롤링과 robots.txt의 공식 문서 확인: 2026년 10월 3일. 공지는 학습용 가상 자료입니다.

제대로 이해했는지 한 문제로 확인해 볼까요?
답을 고르면 바로 풀이가 나와요.
허용된 페이지에서 제목을 수집하려는데 처음 받은 HTML에 제목이 없습니다. 다음 행동으로 적절한 것은 무엇인가요?
예제나 확인 질문을 직접 시도한 뒤 완료 표시해요. 더 연습할 내용이 남으면 표시하지 않고 다음 글을 읽어도 됩니다. 완료 버튼은 이해도를 채점하지 않으며 잘못 표시하면 취소할 수 있어요.

