봇을 개발해봤고 개발하고 있는 개발자 입장에서 좋은 봇과 나쁜 봇에 대해 정의된 글이 있어서 소개해본다.
좋은 봇
robots.txt를 준수하는 로봇
굉장히 빠른 속도로 크롤링해서 사이트에 부담을 주지 않는 로봇
적당한 시간에 신선한 자료를 가져오는 로봇
특정한 사이트를 크롤링하는데 소요한 트래픽 자료를 리턴한다.
나쁜 봇
컨텐츠를 접근하기 위해 수단과 방법을 가리지 않는다.
robots.txt를 지키지 않는 봇
주요 검색엔진 업체의 로봇 이름을 사칭한다.
필터를 속이기 위해 User-Agent를 주기적으로 바꾼다.
필터를 속이기 위해 사람을 속이는 로봇
필터에 걸리기 전에 굉장히 빠른 속도로 크롤링 하는 봇
레이터에 잡히지 않기 위한 굉장히 느린 속도로 크롤링 하는 봇
탐지를 피하기 위해 가능한 많은 IP를 사용하는 봇
자주 사이트를 방문해 새로운 데이터와 인덱스를 가져가는 봇
당신의 저작권을 위배하고 당신의 사이트를 재포장 하는 봇
당신의 검색엔진의 포지션을 납치하는 봇(랭킹이라든지…등등)
크롤링에 대한 어떠한 리턴 정보도 제공하지 않는 봇
자신의 사이트에서 봇의 행동 방식을 정의해주는 Yahoo! Site Explorer.
야후나 구글은 자신의 봇이 어떻개 행동하는지 사이트 운영자에게 어떤 피해를 주지는 않는지에 대한 피드백을 성실하게 받는다고 한다. 위 사이트도 그런 목적이 아닐까 한다. 봇의 행동방식에 대한 윤리적인 고민을 실제 외국에서는 하고 있군.
또한 웹 개발자가 준수해야될 검색로봇에 잘 특화된 웹 페이지 만들기 방법도 소개되어 있다. 역시나 자바스크립의 난무로 인한 접근 제한 항목이 있군.
위의 데이터가 있던 봇의 행동 방식에 대한 많은 생각을 하게된 글을 소개한다.
The Taming of the Bots