기본 개념
크롤링(crawling) : 웹 페이지를 그대로 가져와서 거기서 데이터를 추출해 내는 행위
- Web상에 존재하는 Contents를 수집하는 작업 (프로그래밍으로 자동화 가능)
- HTML 페이지를 가져와서, HTML/CSS등을 파싱하고, 필요한 데이터만 추출하는 기법
- Open API(Rest API)를 제공하는 서비스에 Open API를 호출해서, 받은 데이터 중 필요한 데이터만 추출하는 기법
- Selenium등 브라우저를 프로그래밍으로 조작해서, 필요한 데이터만 추출하는 기법
웹 크롤링 vs 웹 스크래핑
- 웹 크롤링 : 원칙적으로는 탐색에만 그 기능이 제한되어 의미를 함양
- 웹 스크래핑 : 정보 추출에 더욱 초점

크롤링의 합법과 불법의 기준
“정보통신망법 제48조 정보통신망 침해행위 금지”
누구든지 정당한 접근권한 없이 또는 허용된 접근권한을 넘어 정보통신망에 침입하여서는 아니된다
불법이 되는 기준
- 수집한 데이터를 상업적으로 이용하는 경우
- 수집한 데이터를 비즈니스 자체에 이용한다거나, 데이터 자체를 판매하는 등 웹 크롤링을 통해 수집한 데이터를 금전적 이익을 목적으로 사용한다면 문제가 발생
- 웹 크롤링을 통해 상대 서버에 문제를 일으킨 경우
- 기본적으로 웹 크롤링은 자동화한 프로그램을 통해 정보를 요청하기 때문에 데이터를 너무 많이 요청하게 되면, 서버 부하를 일으킬 가능성이 존재
robots.txt를 통해 접근 범위 확인
- robots.txt : 웹사이트에서 크롤링하며 정보를 수집하는 검색엔진 크롤러(또는 검색 로봇)가 액세스 하거나 정보수집을 해도 되는 페이지가 무엇인지, 해서는 안 되는 페이지가 무엇인지 알려주는 역할을 하는 .txt(텍스트) 파일.
- www.naver.com/robots.txt 를 통해 download 가능