로봇이란
스파이더(spider) 혹은 크롤러(crawler)라고도 불리는 로봇은 웹에 있는 웹페이지를 방문해서 모든 내용을 읽어 옵니다.
이 때 한 페이지만 방문하고 마는 것이 아니라 그 페이지에 링크되어 있는 또 다른 페이지를 차례로 방문합니다.
이처럼 링크를 따라 웹(web; 거미줄)을 돌아다니는 모습이 마치 거미와 비슷하다고 해서 스파이더라고 부르는 것입니다.
참고로 각 검색엔진의 로봇에는 고유한 이름이 존재하며, 네이버 로봇의 이름은 Naverbot이라고 합니다. (Yeti도 있음)
로봇의 작동 방식
1) 우선 로봇이 수집해야 할 웹문서의 초기 목록을 지정해줍니다. 예를 들어, 맨 처음 수집해야 할 문서를 문서 A, 문서 B, 문서 C,
문서 D, 문서 E로 지정했다고 합시다. 로봇은 이들 문서를 차례로 방문하여 수집해 옵니다.
2) 대개 웹문서는 하나만 따로 떨어져 있지 않고 다른 문서와 링크로 연결되어 있습니다. 아래 그림을 보면 문서 A에는 문서 F, G가
링크되어 있고(화살표 표시) 문서 B에는 문서 F, G, H가 링크되어 있습니다. 문서 A~E를 수집해온 로봇은 이번에는 문서 A~E에
링크되어 있는 문서를 수집해 옵니다.
예를 들어, 문서 A의 링크를 따라가서 문서 F, G를 수집해 오고 문서 B의 링크를 따라가서 문서 F, G, H를 수집해 옵니다.
이런 식으로 문서 F~J까지를 수집합니다. 이 과정에서 중복되는 웹문서는 제거되고 이전에 방문했던 웹문서의 내용이 변한 경우
이를 재수집하게 됩니다. 상당한 양의 성인 페이지 또한 이 과정에서 제거됩니다.
3) 다음에는 문서 F~J에 링크되어 있는 문서를 수집해 옵니다.
이런 식으로 로봇이 웹 전체에 있는 문서를 수집하는 데는 적게는 몇 주 많게는 몇 달 정도가 소요됩니다.
4) 수집해 온 문서를 DB에 저장합니다. 단, DB에 수집해온 그대로 저장하는 것이 아니라 검색에 적합하도록 일정한 가공을 거치게
됩니다. DB에 저장되는 내용에는 문서의 제목, 본문, 링크 그리고 문서가 웹에서 차지하는 중요도 등이 있습니다.
1. 로봇의 문제점
로봇이라는 프로그램이 네트워크를 돌아다니게 되면 자칫 네트워크에 엄청난 트래픽(Traffic)이 발생할 수 있습니다.
즉, 네트워크에 과부하가 걸려 특정 사이트에 접속이 잘 되지 않거나 속도가 느려지는 문제가 생길 수 있습니다.
또한 동호회 명단, 직장 전화번호 등 원치 않은 정보가 검색엔진에 노출되는 결과가 생길 수도 있습니다.
2. 해결방안
이를 해결하기 위한 방법은 다음과 같습니다.
1) 첫 번째로 어떤 사이트를 보려면 ID와 비밀번호가 필요하도록 만드는 방법입니다.
이 경우 로봇은 해당 사이트의 ID와 비밀번호를 가지고 있지 않기 때문에 접근할 수가 없게 됩니다.
이 방법은 로봇의 접근을 직접적으로 배제하는 강력한 수단이지만 사이트를 사용하는 사람들도 ID와 비밀번호를 입력해야
하는 불편함이 있습니다.
간혹 ID와 비밀번호로 막아놓은 페이지가 네이버의 웹문서 검색에 노출된다는 문의가 들어오기도 합니다.
하지만 링크로 연결되지 않는 한 네이버의 로봇은 비밀번호로 보안을 걸어놓은 문서에 접근하지 못합니다.
비밀번호로 보안을 걸어놓았는데도 웹검색에 노출이 되는 경우는 어떤 사람(주로 내부자)이 해당 문서의 URL을 다른
웹페이지에 적어놓았기 때문일 가능성이 큽니다.
2) 두 번째로 로봇 배제(Robot exclusion) 표준 을 따르는 방법이 있습니다.
로봇 배제 표준이란 말 그대로 웹문서를 수집해 가는 로봇을 배제한다는 뜻입니다.
로봇의 배제와 관련된 내용을 적어 놓은 robots.txt 파일을 사이트의 최상위 주소
(서버 루트 디렉토리 예:www.naver.com/robots.txt)에 저장하면 됩니다.
robots.txt를 서브디렉토리에 놓는 경우 효력이 없다는 사실에 주의하세요.
예를 들어, www.yourhost/~mypage 밑에 robots.txt가 있어도 이는 아무런 효력을 갖지 못합니다.
로봇은 오직 루트 디렉토리의 robots.txt만을 참조할 뿐입니다.
로봇의 접근을 어디까지 허용할 것이냐에 따라 robots.txt에 들어가는 내용은 달라집니다.
①
User-agent: *
Disallow: /
이 경우에는 “robots.txt”를 작성할 필요가 없으나, 굳이 작성을 하자면 다음과 같습니다.
(Ex1과 비교했을 때 “/”가 빠져 있습니다.)
User-agent: *
Disallow:
③ 모든 로봇에게 서버의 일부분만을 제한하고 싶을 때
User-agent: *
Disallow: /my_photo/
Disallow: /my_diary/
이렇게 작성하면 로봇은 my_photo, my_diary라는 폴더에 속한 웹문서에 접근할 수 없습니다.
④ 특정 로봇만을 배제하고 싶을 때
User-agent: EvilRobot
Disallow: /
위의 예에서는 “EvilRobot”이라는 이름을 가진 로봇만을 배제하게 됩니다.
⑤ 특정 로봇에게만 접근을 허용하고 싶을 때
User-agent: *
Disallow: /
User-agent: NaverBot
Allow: /
User-agent: Yeti
Allow: /
이 경우 NaverBot, Yeti 만이 웹문서를 수집해갈 수 있습니다.
“robots.txt”를 작성하는 것과 유사한 방법으로 HTML문서의 <HEAD>와 </HEAD> 태그 사이에
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">라는 메타태그를 추가하면 로봇은 웹문서를 가져갈 수 없습니다.
이 방법은 다소 번거롭기는 하지만 문서 하나하나에 대해 정확하게 명시를 해주기 때문에 가장 확실하게 로봇의 접근을
막을 수 있는 방법입니다.
로봇 배제에 대한 보다 자세한 내용은 http://www.robotstxt.org 에서 확인할 수 있습니다.
3) 네이버 로봇이 고객의 사이트에 접근하는 것을 원치 않으시거나 자신의 웹문서가 검색화면에 나타나는 것을 원치 않으신다면
네이버 고객 센터 로 연락해 주십시오. 확인 후 네이버 검색에서 삭제해 드리겠습니다.
[원문 URL]
http://help.naver.com/ops/step2/faq.nhn?faqId=3208&faqType=3208
http://help.naver.com/ops/step2/faq.nhn?faqId=3209&faqType=3209
'PC' 카테고리의 다른 글
중복된 데이터 표시하기 (0) | 2011.05.27 |
---|---|
Daum 클라우드 서비스 오픈 및 이용 방법 (0) | 2011.03.07 |
검색엔진이 긁어가는 것 막기 (robots.txt) (0) | 2011.02.14 |
컴퓨터(PC) 성별 확인법 (0) | 2011.01.10 |
피벗테이블 (0) | 2010.11.07 |
댓글