데이터 스크래핑

수천 장의 웹페이지에 흩어진 정보들을 사람이 손으로 베껴 적는 대신, 컴퓨터 프로그램이 순식간에 긁어모아 표로 정리해 주는 디지털 복사 로봇이에요.

정의 데이터 스크래핑은 웹사이트나 프로그램 화면에 나타난 정보를 소프트웨어가 자동으로 읽어 필요한 데이터만 골라 뽑아내는 기술이에요. 사람이 인터넷 창을 열고 글자를 하나하나 복사해서 엑셀에 붙여넣는 작업을 로봇이 대신하는 셈이에요.

사람의 복사 작업을 몇 초 만에 끝내요

인터넷 쇼핑몰 100곳의 운동화 가격을 비교한다고 상상해 보세요. 사람이 직접 한다면 사이트를 하나씩 방문해 상품명과 가격을 보고 메모장에 적어야 해요. 하루 종일 걸리고 실수로 숫자를 잘못 적을 수도 있죠.

데이터 스크래핑은 이 지루한 작업을 프로그램이 번개 같은 속도로 대신 처리해요. 프로그램이 웹페이지를 화면 뒤의 코드 형태로 다운로드한 뒤, 가격이나 상품명이 적힌 위치를 찾아내요. 그리고 필요한 정보만 쏙쏙 골라내어 엑셀 파일이나 데이터베이스에 깔끔하게 정리해 줘요.

이 기술 덕분에 우리는 여러 여행사의 최저가 항공권을 한눈에 비교하는 앱을 쓰거나, 매일 아침 전 세계 뉴스 헤드라인을 자동으로 모아서 볼 수 있어요. 사람의 손과 눈이 하던 '찾아서 옮겨 적기'를 자동화한 거예요.

웹페이지에서 필요한 정보를 자동으로 추출해 엑셀로 정리하는 데이터 스크래핑 과정 상품명 가격 웹페이지 복잡한 HTML 소스 데이터 추출 필요한 값만 자동 수집 엑셀 정리 표 형태로 깔끔히 저장

웹 크롤링과는 어떻게 다를까요?

데이터를 모은다는 점에서 데이터 스크래핑과 웹 크롤링은 자주 함께 쓰여요. 하지만 둘은 일하는 목적과 방식에서 분명한 차이가 있어요.

웹 크롤링은 인터넷이라는 거대한 도서관을 돌아다니며 새로운 책과 서가를 찾아 지도를 그리는 작업이에요. 구글이나 네이버 같은 검색 엔진이 웹페이지 사이의 링크를 타고 끝없이 이동하며 웹 전체를 탐색할 때 쓰는 기술이죠.

반면에 데이터 스크래핑은 특정 책을 펼쳐서 그 안에 적힌 특정 문장이나 숫자만 핀셋으로 집어내는 작업이에요. 예를 들어 '모든 블로그를 찾아다니며 주소를 모으는 것'은 크롤링이고, '그 블로그 안에서 작성자와 댓글 수만 긁어모으는 것'이 바로 스크래핑이에요.

조금 더 정확히 말하면: 지켜야 할 규칙이 있어요

데이터 스크래핑은 매우 유용하지만 서버 주인과의 갈등을 낳기도 해요. 로봇 프로그램이 1초에 수천 번씩 웹사이트에 접속해 데이터를 긁어가면, 정작 일반 사용자가 접속할 서버가 마비될 수 있거든요.

그래서 웹사이트들은 '로봇 배제 표준'이라는 문패를 걸어 두고 기계의 접근 범위를 정해 둬요. 또한 캡차처럼 로봇인지 사람인지 묻는 퀴즈를 내어 무분별한 스크래핑을 막아내기도 해요.

공개된 데이터라도 저작권이나 개인정보가 포함되어 있다면 법적인 문제가 될 수 있어요. 그래서 오늘날 많은 기업은 화면을 몰래 긁어오는 스크래핑 대신, 공식적으로 데이터를 주고받는 정식 창구인 API를 사용하도록 권장하고 있어요.

🤔 흔한 오해

✕ 오해

인터넷에 공개된 정보라면 누구나 스크래핑해서 상업적으로 자유롭게 써도 된다.

✓ 사실

화면에 보인다고 해서 무단 수집이 허용되는 것은 아니에요. 사이트 이용약관, 저작권, 개인정보 보호법에 따라 법적 분쟁이 생길 수 있고, 상대 서버에 과도한 부하를 주면 처벌을 받을 수 있어요.

🧺 일상에서 만나요

1 수십 개 항공사와 여행사의 실시간 요금을 긁어모아 최저가 항공권을 비교해 주는 서비스
2 부동산 사이트 여러 곳의 매물 정보와 실거래가를 자동으로 취합해 한눈에 보여주는 앱
💡 그러니까 한마디로

데이터 스크래핑은 웹 화면 속 필요한 데이터를 프로그램이 자동으로 쏙쏙 골라내어 표나 파일로 정리해 주는 수집 기술이에요.