puppeteer로 구글 검색 결과를 크롤링하는 프로젝트를 진행하면서 웹 크롤링에 대하여 참고한 내용을 요약 정리해보았다.
웹에서 필요한 정보를 찾아 수집하고 필요한 데이터를 가져와서 저장하는 것을 의미한다.
웹 크롤러 봇은, 정리되지 않은 도서관의 모든 책을 검토하고 카드 카탈로그를 구성함으로써, 도서관을 찾는 이가 필요한 정보를 빠르고 쉽게 찾을 수 있도록 도와주는 사람과 유사합니다. 이 사람은 도서관의 책을 주제별로 분류하고 정렬할 수 있도록, 책의 제목, 요약, 본문 중 일부를 읽어 무엇에 대한 책인지 파악할 것입니다.
-Cloudflare 웹 크롤러
정보를 필요로 하는 사람에게 인터넷의 어디에서 그 정보를 찾을 수 있는지 알려주는 색인과 같다. 페이지의 메타데이터에 중점을 두고 가장 관련성이 높은 페이지를 선택해서 보여준다.
엄청나게 많은 양의 웹페이지가 있기 때문에 아래 항목과 같은 것들을 참고해서 중요한 정보가 포함될 가능성이 있는 웹을 먼저 크롤링한다.
웹 콘텐츠는 지속적으로 변경되거나 삭제되고 새로운 위치로 이동하기 때문에 정기적으로 페이지를 다시 방문해서 최신 버전의 콘텐츠를 색인화한다.
웹스크래핑은 봇이 허가 없이 웹사이트의 콘텐츠를 다운로드하는 경우를 의미한다.
웹 크롤링보다 대상이 명확하고, 웹 크롤러는 링크를 계속 따라가며 크롤링하는 반면, 웹 스크래퍼는 특정 페이지만을 추적하기도 한다. 웹사이트의 콘텐츠를 악의적인 목적으로 이용하려는 의도가 있는 경우도 많다.
웹크롤러는 보통 robots.txt 파일을 준수하고 웹 서버에 부담이 되지 않도록 요청을 제한하는데, 웹 스크래퍼는 웹 서버에 대한 영향을 무시하고 활동하기도 한다.