본문 바로가기
  • 실행력이 모든걸 결정한다
Crawling

크롤링의 정의와 이점 그리고 주의할 점

by 김코더 김주역 2020. 10. 22.
반응형

크롤링이란 무수히 많은 컴퓨터에 분산 저장되어 있는 문서를 수집하여 검색 대상의 색인으로 포함시키는 기술을 의미하며, 스크래핑(Scraping) 이라고도 한다.

쉽게 말하면 웹 페이지를 가져와서 그 안에서 데이터를 추출하는 기술이다.

자동 입력, 파일 다운로드 기능도 가능하고, driver을 이용하면 동적인 크롤링을 할 수 있게 된다. 여기서 동적이라는 의미는, 코드에 의해 사이트를 옮겨다니거나 스크롤이나 클릭을 하여 웹 코드에 변동이 있더라도 데이터를 추출할 수 있게 되는 것이다.

 

크롤링을 할 때 주의할 점이 있다.

웹사이트에서 크롤링봇 접근을 Disallow 하는 페이지는 크롤링을 해서는 안된다. 이는 처벌을 받을 수 있다.

그렇다면 접근을 허용하는지에 대한 여부는 어떻게 확인할까?

그것은 robots.txt 이다. 최상위 도메인주소 뒤에 /robots.txt를 입력하면 접근 허용 여부 컨텐츠를 확인할 수 있다. 

 

예를 들어, 백준 온라인 저지(BOJ)의 robots.txt를 확인해보았다.

 

 

여기서 Disallow 라고 되어있는 하위 디렉토리 페이지들에서는 크롤링을 할 수 없다.

다행히도 크롤링 해보고싶었던 /problemset 은 비허용 목록에 없었다.

 

 

 

이런 식으로 크롤링 허용 여부를 잘 판단하여야 한다.

더 안전하게 2차적으로 meta태그를 확인해보는 것도 좋다.

 

이 크롤링 카테고리에서는 이 robots.txt를 고려하여, 웹 사이트에 큰 트래픽을 주지 않는 선에서 다양한 예제들을 크롤링 해볼 것이다.

 

다음 포스팅에서는 크롤링을 위한 세팅에 대해 다룰 것이다.

python 환경에서 selenium, beautifulsoup, chromedriver을 이용할 계획이다.

반응형

댓글