본 포스팅에서는 웹 크롤링의 뜻과 고려할 점 그리고 작동 방식 중요성 등에 대하여 자세히 설명드리도록 하겠습니다. 아래의 목차에서 알아보고 싶으신 부분을 클릭하시면 해당 부분으로 이동됩니다.
목차
웹 크롤링 뜻
크롤링이란 웹 페이지의 필요한 데이터를 분석하여 수집하는 과정을 의미합니다. 데이터를 긁어온다. 추출한다. 정도로 생각할 수 있습니다.
웹 페이지에는 사용자마다 쓸모 있는 정보가 있고 아닌 정보들이 존재합니다. 그중에서 사용자가 원하는 정보들만 긁어서 수집하는 것이죠.
또한 이렇게 개인의 블로그나 사이트에 글을 작성할 경우 구글이나 빙같은 검색 엔진들이 개인의 사이트의 정보들을 수집, 크롤링 해가야 웹 콘텐츠를 분류하고 사용자들이 검색했을시 노출되게 할 수 있습니다.
웹 크롤링을 위해서는 대표적으로 Python 언어를 사용한 beautifulsoup 또는 selenium을 활용하여 진행합니다. 보통 정적 크롤링을 위해서는 beautifulsoup를 이용하고 동적 크롤링을 위해서는 selenium을 이용합니다.
웹 크롤링 작동 방식
웹 크롤링 과정은 크롤링과 인덱싱 두 가지 주요 단계로 나눌 수 있습니다.
크롤링 단계에서 웹 크롤러는 시드 URL 또는 웹 주소 목록으로 시작합니다. 이러한 크롤러는 시드 URL을 방문하여 해당 페이지에 있는 링크를 추출합니다. 그런 다음 해당 링크를 방문하여 프로세스에서 더 많은 링크를 추출합니다. 이렇게 하면 크롤러가 탐색하는 상호 연결된 페이지 웹이 생성됩니다.
크롤링 단계가 완료되면 추출된 데이터가 검색 엔진의 인덱스로 전송됩니다. 색인은 기본적으로 크롤링된 각 페이지에서 단어, 구문 및 해당 위치에 대한 정보를 포함하는 방대한 데이터베이스입니다. 이 인덱스는 사용자가 쿼리를 입력할 때 검색 엔진이 관련 결과를 빠르게 검색할 수 있게 해줍니다. 이것이 인덱싱 과정입니다.
주의할 점
웹 크롤링 과정에서 주의해야할 점이 있습니다. 웹 페이지 자체가 개인이나 단체가 열심히 노력하여 만든 것인 만큼 수집한 데이터를 무단으로 상업적으로 이용해서는 안됩니다. 또한 크롤링 과정에서 서버를 과부하 시킬 수 있기때문에 이를 막기위해서 크롤링을 금지해두는 사이트들도 존해합니다.
어떤 사이트들을 크롤링해도 되고 어떤 사이트를 크롤링하면 안되는지 사전에 확인하기 위하여 robots.txt를 확인해야 합니다. 일종의 사이트 가이드 같은 느낌이죠.
이를 확인하는 방법은 해당 사이트 url뒤에 /robots.txt를 입력하면 해당 페이지로 이동이 되거나 파일이 다운로드 받아집니다. 이후에 정보를 잘 읽어보시고 가이드라인을 준수하여 크롤링을 진행하시기 바랍니다.
Allow된것과 Disallow된것을 잘 확인하셔야 합니다. 무단으로 크롤링을 진행하시면 법적인 책임을 물을 수 있습니다.
또한 개인의 개인 정보를 존중하며 크롤링을 진행해야합니다.
웹 크롤링과 웹 스크래핑
웹 크롤링과 웹 스크래핑은 서로 관련된 개념이지만 서로 다른 용도로 사용됩니다.
웹 크롤링에는 체계적으로 웹을 탐색하고 검색 엔진용 콘텐츠를 인덱싱하는 작업이 포함됩니다. 반면 웹 스크래핑은 데이터 분석이나 연구 등 다양한 목적으로 웹사이트에서 특정 데이터를 추출하는 과정입니다.
추가
내 웹사이트가 크롤링되지 않도록 하려면 어떻게 해야 하나요?
robots.txt 파일을 사용하여 웹 크롤러에게 웹 사이트에서 피해야 할 부분을 지시할 수 있습니다. 하지만 robots.txt는 가이드일뿐 크롤러는 여전히 제한된 콘텐츠에 액세스할 수 있습니다.
웹 크롤링과 관련된 법적 문제가 있습니까?
예, 웹 크롤링이 웹 사이트의 사용 약관을 위반하거나 동의 없이 민감한 정보를 수집하는 경우 법적 문제가 발생할 수 있습니다.