크롤링/스크래핑
크롤링? 스크래핑?
요즘 뿐만이 아니라 오래전부터 사용해오던 IT계의 용어입니다.
그런데. 이 차이를 명확히 아는 사람들이 없죠.
저도 알고보니 월드컵이 있던 2002년쯤 크롤링을 해봤었네요.
그 당시에는 스크래핑이라는 단어를 사용하지 않았습니다.
저는 근래에 웹크롤링에 대해서 공부를 하고 있습니다.
그 때와 지금 사용하는 개발언어가 다르기 때문입니다.
그럼, 크롤링과 스크래핑에 대하여 알아볼까요.
크롤링과 스크래핑은 비슷한 목적이지만 상황에 따라 다르게 사용합니다. 그 목적은 다른 웹페이지의 정보를 가져와 활용하기 위한 것인데, 크롤링은 크롤링 서버에서 대상 서버로 요청을 보내 html 형태로 결과물을 가져올 수 있으면 이를 분석해서 원하는 데이터로 변환할 수 있어 상대적으로 간단한데, 대상 서버가 크롤링 서버의 접근을 막아놓은 경우는 스크래핑 방식을 이용해야 합니다.
스크래핑은 크롤링이 안 되는 경우, 브라우져 인스턴스를 생성해서 일반 사용자가 브라우져를 통해 사이트에 접근한 것처럼 해당 웹페이지 정보를 읽어올 수 있습니다. 브라우져 인스턴스를 띄우는 것은 메모리를 많이 사용하기 때문에 크롤링보다 느리고 구현도 번거로워서 비용 차이가 발생합니다. 크롤링을 먼저 시도하고 데이터를 가져오는데 실패하면 스크래핑을 시도합니다.
파이썬으로 작업하다가 보니 Chrome 인스턴스를 이용해서 하는 경우도 있더라구요. 예전에는 IE 인스턴스였는데 말입니다.
추가적으로 멀티 서버 크롤링은 대상 페이지에서 요청이 많은 IP 접속을 막는 경우 AWS 등의 클라우드 서버에서 인스턴스를 재시작하며 IP를 변경해가면서 접속을 시도할 때 사용합니다. 클라우드 운영 및 크롤링 환경 구축을 위해 많은 시간을 투입해야 하므로 비용이 많이 듭니다. 크롤링과 스크래핑은 대상 서비스에 크롤링 허락을 받은 상태 또는 일반적으로 허용되는 상태에만 구현이 가능합니다. 저작권 이슈 발생시 의뢰한 고객사의 책임이기도 하지만 저희 쪽에서도 법적인 이슈가 발생할 가능성이 있는 경우는 개발을 진행하지 않습니다.
'IT-개발,DB' 카테고리의 다른 글
vscode에서 파이썬 인터프리터 설정 (0) | 2021.02.08 |
---|---|
JMeter 설치와 실행 (0) | 2021.01.25 |
숫자가 아님 NaN (0) | 2021.01.10 |
go mod 캐시 삭제 (0) | 2021.01.04 |
델파이 커뮤니티 무료버전 설치 (0) | 2020.12.26 |
댓글