📜 TIL

데이터 크롤링이란? / 크롤링과 스크래핑 / 크롤링은 불법인가

둥굴둥굴둥굴레차 2021. 8. 3. 20:30

 

인터넷에서 데이터를 수집하는 방법

쉬운 방법부터 어려운 방법까지 순서대로 나열해보았다.

 

 

1. OpenAPI 등 공개된 API를 사용

  • 데이터를 수집할 수 있는 방법 중 가장 쉬운 방법!
  • 정제된 데이터를 가져올 수 있다.
  • 파일로 제공이 되었기도 하고 API를 통해 데이터를 불러와 사용할 수도 있다.
  • 공개된 API를 살펴보며 프로젝트 구상 혹은 사업을 구상하는 사람들이 많다.

 

 

공공데이터 포털

 

공공데이터 포털

국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datase

www.data.go.kr

 

네이버 디벨로퍼스

 

 

NAVER Developers

네이버 오픈 API들을 활용해 개발자들이 다양한 애플리케이션을 개발할 수 있도록 API 가이드와 SDK를 제공합니다. 제공중인 오픈 API에는 네이버 로그인, 검색, 단축URL, 캡차를 비롯 기계번역, 음

developers.naver.com

 

 

 

2. HTTP Get Method

  • 정보가 게시되어있는 대상 웹사이트를 HTTP Get을 사용하여 Html코드를 얻고 TextParsing 해서 사용
  • Java/Go/Python 등등 거의 대부분 언어로 구현 가능
  • API연동보단 조금 어려움
  • 그러나 사실상 대부분의 데이터는 Get방식으로 가져올 수 없음.

 

 

3. Selenium Web Driver

  • 사실 이 드라이브는 처음엔 웹사이트 테스트 자동화 목적으로 개발된 것.
    그러다 점점 데이터를 가져올 수 있는 기법으로 진화된 것.
  • 웹 브라우저 인스턴스를 생성해 실행시킨 후 해당 인스턴스를 컨트롤
  • 이 방식을 통해 거의 모든 데이터를 크롤링할 수 있다
  • 사람이 하는 것과 유사한 자동화 방법
  • 가상의 브라우저를 실행시키는 Headless Mode 등이 있음
  • HTTP Get방식에 비해 느리고 불안정적이나 보다 많은 웹사이트를 스크래핑 가능

 

 

4. 수작업으로 데이터 크롤링

 

 

 

 

 

웹 크롤러 VS 웹 스크래퍼

면접에서도 자주 물어보는 주제.

 

웹 크롤러

조직적, 자동화된 방법으로 웹을 탐색 및 수집하는 프로그램

여러 사이트를 직접 돌아다니면서 필요한 데이터를 가지고 오는 봇을 크롤러라고 함

예) 구글, 네이버 등의 검색엔진 결과 데이터를 수집하기 위한 봇

 

 

웹 스크래퍼

웹 사이트에서 정보를 추출하는 프로그램

고정된 형상에서 데이터를 가져오는 것을 스크래퍼라고 함

예) 상품별 가격을 알기 위해 해당 상품을 파는 페이지들의 가격을 추출

 

크롤러보다는 대부분 단순 스크래퍼 개발 수요가 많음

우리나라에서는 많은 기업들이 같은 의미로 혼돈 및 혼용하고 있다.

 

 

웹 크롤링은 불법인가요?

  • 웹사이트의 홈 디렉터리에 위치한 robots.txt 파일을 열어보고 해당 사이트의 정책을 준수하지 않는다면 불법
  • 크롤링한 자료를 상업적 용도로 사용하면 불법
  • 비상업적인 용도라 하더라도 원작자에게 불이익을 주면 불법
  • 크롤러를 활용해 고의적으로 Abusing 하면 불법(네이버 검색 순위 조작, 음원 순위 조작 등)

 

 

웹 크롤링에 관한 판례

 

국내

예) 사람인 vs 잡코리아
사람인이 경쟁사인 잡코리아의 채용정보를 무단으로 크롤링하여 상업적으로 활용.
크롤링을 통해 확보한 콘텐츠를 자신의 영업에 무단으로 사용하는 것은 DB권 침해 행위로 불법이라는 판결이 나옴.

 

 

국외

예) HiQ Labs vs Linkedin
HiQ Labs에서 Linkedin 회원들의 프로필을 수집하고 이를 다른 정보와 함께 가공 및 분석하여 판매
퍼블릭 정보를 크롤링하는 것은 불법이 아니라고 판결이 나옴.
특정 사용자에게만 오픈된 데이터(로그인한 사용자 등)들이 아닌 것은 누구나 볼 수 있는 퍼블릭한 정보.
퍼블릭 데이터는 승인 없이 가져갈 수 있다. 심지어 게시자가 가져가지 말라고 하더라도!