1단계: 준비


크롤러란 무엇인가?


크롤러는 WWW인 인터넷 속을 자유롭게 다니는 프로그램을 의미한다. 구체적으로 말하자면 자유롭게가 아닌 알고리즘에 의해 움직이며 데이터를 수집하는 프로그램.

크롤러를 부르는 다양한 표현

크롤러는 스크래퍼, 봇, 스파이더, 지능 에이전트라고도 부른다. 이 중에서 가장 많이 사용되는 용어는 크롤러와 스크래퍼. 크롤러가 동작하는 것을 크롤링, 스크래퍼가 동장하는 것을 스크래핑이라고 부른다.

  • 페이지를 돌아다니는 행위는 크롤링
  • 특정 페이지의 데이터를 수집하는 행위는 스크래핑

이 둘을 합쳐 통상적으로 크롤러가 크롤링한다고 표현

크롤러를 만들기 위해 필요한 지식


크롤러를 만드는데 다양한 개념이 필요한 이유는 크롤러가 웹에 대해 상당히 의존적이기 때문. 크롤러는 우리가 수집하고자 하는 사이트에 따라 만드는 방식이 달라진다.

클라이언트

클라이언트란 웹 브라우저 및 웹을 의미한다.

우리가 사용하고 있는 각종 앱, 프로그램, 웹 브라우저를 클라이언트 프로그램이라고 한다.

서버

클라이언트를 제외하고 보이지 않는 곳에서 클라이언트의 처리를 도와주는 것

서버없이 클라이언트는 존재할 수 없다. 서버는 클라이언트가 필요한 데이터를 제공해주는 역할을 한다.

크롤러를 만들어야 하는 이유


수많은 데이터 중에서 의미있는 데이터를 판단하는 능력 필요

데이터 생산

각종 매체를 통해 끊임없이 데이터가 생산되고 데이터에 노출됨. 시간이 지날수록 데이터가 생산되고 데이터를 접하는 양이 점점 더 많아져 직접 데이터를 수집하기 쉽지 않다.

데이터의 사용

인공지능, 머신러닝, 딥러닝

과 같은 예측 분야는 데이터가 많을수록 더 정확한 예측을 함. 애플의 시리와 같은 음성인식, 금융/핀테크, 자동 운전, 검색 엔진 등 다양한 인공지능 분야에도 사용

데이터 수집 방법

가장 간단한 방법은 API를 활용하는 것. API란, 특정 서비스가 데이터를 제공하는 방법을 말한다. 하지만 웹에서는 API를 제공하지 않아 사용이 불가능한 데이터들이 존재. 이 때 크롤러를 만들면 웹에서 제공하는 데이터 수집이 가능.

Reference


  • 파이썬으로 배우는 웹 크롤러 : 빅데이터