웹 크롤링과 데이터 스크래핑의 차이점 비교, 그리고 필요성에 알아보자.
웹 크롤링(Web Crawling)과 데이터 스크래핑(Data Scraping)이라는 개념이 있다 둘다 매우 많이 사용되는 개념이고 차이점 그리고 필요성에 대해 자세히 알아보자 우선 웹 크롤링(Web Crawling)은 검색엔진에 필요한것을 찾아 자료들을 다운받고 인덱스라는 목차를 만듭니다. 예를 들어 가상으로 만들어진 AI가 사이트맵을 휘젓고 다니며 자신들의 할일 합니다. 할일이란 내게 필요한 정보를 수집하는 것입니다. 이런 일련의 모든 과정을 크롤링 이라고 합니다. 쉽게 생각하면 도서관에 가보면 책들이 분류가 잘 되어 있습니다. 컴퓨터에 내가 원하는 책이나 분류를 검색하면 빠르게 책을 찾아볼수가 있습니다. 웹 크롤링은 이와 비슷합니다. 내가 원하는 정보를 추출하여 분류해서 필요할때마다 꺼내서 정보를 볼 수가 있습니다.하지만 생각보다 정확하지 않다는 점이 웹 크롤링 기술에 포함되어 있습니다. 인터넷에 존재하는 모든정보를 이렇게 분류할 수 없다는 점도 매우 큰 단점중에 하나입니다. 하지만 생각을 조금 낮추어 내가 필요한 정도의 정보라면 웹 크롤링 기술을 사용해서 손 쉽게 자료를 추출할 수 있습니다. 그러면 어떻게 분류를 하는 것일까요? 모든 페이지에 "색인"이라는 발자취를 남기게 됩니다. 자주사용하는 단어나, 내가 정한 단어를 기준으로 분류를 하여 사용하는 사람이 편한대로 분류를 시작합니다. 이 색인 이라는 발자취는 "메타제목, 설명" 이라고 메타라는 개념이 들어갑니다. 이런 메타정보를 기준으로 분류를 하여 웹 크롤링 작업을 마무리 합니다.
메타정보를 조금더 자세히 알아봅시다. 어떤 기준으로 분류를 하는지 알아보는것과 비슷합니다. 예를들어 페이지에 방문한 기준으로 정보를 분류한다면 조회수를 기준으로 분류하는것과 비슷합니다. 또한 링크가 걸려 있는 갯수를 기준으로 양질의 컨텐츠를 분류하는 것과 비슷합니다. 이렇게 목적에 따라 메타정보를 활용할 수 있습니다.
웹크롤링이라는 기술은 내가 원하는 정보를 메타정보를 기준으로 추출하여 분리하는 것입니다. 한줄로 요약하면 이렇게 정리가 되겠습니다. 이렇게 보면 장점이 돋보여서 정말 유용한 기술이라고 생각할수 있습니다. 하지만 단점또한 존재합니다. 무분별한 자료 추출은 서버에 부담을 줄 수 있을수도있고 비용을 지불해야될수도 있습니다. 그래서 유용하게 사용하려면 내가 일정부분만 웹크롤링을 못하게 막을수도 있습니다. 자칫하면 나의 정보가 모두 유출될 수 있으므로 악성적인 봇은 거리를 두면서 활용하는것이 매우 좋다고 생각합니다.
그리고 다음은 데이터 스크래핑(Data Scraping)에 대해 알아봅시다. 데이터 스크래핑은 크롤링과 비슷한 개념입니다. 순서대로 개념과 필요성에 알아보고 중간에 차이점에 대해 말씀드리겠습니다. 데이터 스크래핑은 만들어진 최종 결과물에서 데이터를 가져오는 기술입니다. 말그대로 어디에서? 데이터나 정보를 가져오냐, 어느정도의 선을 지키느냐에 따라 크롤링과 스크래핑의 개념이 정확히 여기서 갈라지는 것입니다. 말그대로 허락된 정보를 가져오는건 크롤링이고, 허락되지 않는 정보를 가져오는건 스크래핑입니다. 왜 스크래핑을 사용하는것일까요? 대부분 정보를 허락받지 않고 가져오는건 왠만한 사람은 불편해 합니다. 그렇기 때문에 이런 불편함을 가지고 있지만 스크래핑은 봇이 정보를 최대한 얻으려고만 합니다. 그래서 이런 작은 차이점이 존재합니다.
그럼 스크래핑을 못하게 하려면 어떻게 해야될까요? 특정 인물이 접근하는것을 최대한 제한함으로써 과도한 트래픽을 막아 나름 도움을 받아 볼 수 있습니다. 그래서 HTML을 주기적으로 탐색하여 자주 바꿔주는 것입니다. 홈페이지가 켜질때마다 코드가 바뀌는 것도 가능합니다. 그래서 길게보고 무분별한 스크래핑을 어느정도 차단할 수 있습니다. 가장좋은점은 구글처럼 CAPTCHA를 활용하는 것입니다. 이러한 변수로 봇이 최대한 접근하려는것에 거리를 둘 수 있습니다. 이말고도 매우 방법은 많고 완벽히 차단하는 방법또한 존재하니 이러한 것도 있구나 정도만 알아두시면 좋을거같습니다.
정리하며 크롤링(Crawling)과 스크래핑(Scraping)의 차이점은 허락된 정보냐 아니냐로 정해집니다. 둘다 정보를 가져오는 기술이며, 상황에 따라 필요한 기술임에는 틀림 없습니다. 저는 그래서 크롤링이라는 단어를 선호하는 편이며, 저작권이 있는 자료에는 최대한 손을 대지 않는것이 가장 좋은 방법입니다.
'지식&정보' 카테고리의 다른 글
데이터, 이미지, 음성 라벨링이 필요한 인공지능의 관계 정의와 필요성 (0) | 2021.02.12 |
---|---|
파이썬과 파이토치가 딥러닝에 사용되는 이유, 개념과 활용사례 (0) | 2021.02.12 |
3d프린팅의 원리와 기술 활용 사례 장점, 시작은 모델링부터 (0) | 2021.02.10 |
HPC, 슈퍼컴퓨터(SuperComputer) 원리와 역사, 우리가 사용하는 컴퓨터와 차이점은? (0) | 2021.02.09 |
반드시 알아야하는 공유주차장(Parking Sharing) 개념과 사례 그리고 스마트주차의 미래 (0) | 2021.02.08 |