많은 분들이 프로그래밍 언어를 사용해 만든 크롤러, 또는 웹스크래퍼를 이용해서 인터넷 사이트에 있는 웹 사이트의 정보들을 수집합니다.
이러한 행위를 크롤링, 또는 웹스크래핑이라고 하는데, 이렇게 인터넷에 존재하는 자료들을 수집하는 행동을 자동화하려는 사람들의 관심이 얼마나 많은지는 '크롤러 만들기', 또는 '웹스크래퍼 만들기'와 같은 검색어로 검색 포털에서 얼마나 많은 문서들이 검색되는지 확인해보면 쉽게 알 수 있습니다.

크롤러와 웹스크래퍼는 엄밀히 말하면 서로 다른 것이지만, 사실상 웹스크래퍼에 해당하는 것들도 크롤러라고 불리고 있기 때문에 편의상 크롤러로 통합해서 말하겠습니다.

이런 크롤링 봇들이 점점 증가하는 상태에서 이런 크롤링 봇들의 행동을 제한하기 위해서 나타낸게 robots.txt입니다.
그런데, 이 robots.txt가 무엇을 의미하고, 어떻게 확인할 수 있는지 알고 크롤링을 하는 분들이 얼마나 있을지 잘 모르겠네요.

robots.txt가 알려주는 것은?

robots.txt는 사람이 아닌 크롤링 봇이 웹사이트를 탐색할 때, 크롤링 봇이 접근할 수 있는 범위를 제한하기 위해 사용됩니다.
만약 크롤링 봇이 무차별적으로 웹사이트를 탐색하게 되면 해당 사이트에는 과도한 트래픽이 발생하게 되고, 이렇게 일반 사용자가 아닌 봇에 의해 트래픽이 소모되게 되면 다른 사용자들이 해당 사이트를 정상적으로 이용하지 못하게 됩니다.
어느 정도 규모가 있는 포털 사이트들은 이렇게 봇에 의해 과도한 트래픽이 발생하게 되면 해당 트래픽을 요구하는 ip 주소를 차단하거나, 또는 일정 시간동안 요청 가능한 트래픽 요청 횟수에 제한을 두는 방식으로 트래픽 문제를 방지하고 있습니다.

robots.txt는 어떻게 해석할까?

robots.txt에 어떤 내용이 들어가야 하는지, 그리고 그 내용들을 어떻게 해석해야 하는지에 대해 알려주는 사이트가 있습니다.
다음 사이트를 참고하거나, 네이버 서치 어드바이저에서 제공하는 robots.txt 관련 페이지를 참고할 수도 있습니다.

 

The Web Robots Pages

About /robots.txt In a nutshell Web site owners use the /robots.txt file to give instructions about their site to web robots; this is called The Robots Exclusion Protocol. It works likes this: a robot wants to vists a Web site URL, say http://www.example.c

www.robotstxt.org

 

robots.txt 설정하기

robots.txt는 검색로봇에게 사이트 및 웹페이지를 수집할 수 있도록 허용하거나 제한하는 국제 권고안입니다. robots.txt 파일은 항상 사이트의 루트 디렉터리에 위치해야 하며 로봇 배제 표준을 따

searchadvisor.naver.com

다음은 티스토리의 robots.txt 페이지에서 확인할 수 있는 내용입니다.

User-agent: *는 모든 크롤링 봇들을 의미합니다.
Allow: /는 사이트의 모든 페이지를 제한 없이 탐색해도 된다는 의미지만,
Disallow: /m
Disallow: /login
Disallow: /gateway
위에 Disallow한 페이지는 탐색하지 말라는 뜻입니다.

이렇게 탐색 경로에 제한을 두면 크롤링 봇이 자신이 원하는 페이지만 탐색하도록 유도할 수 있습니다.

robots.txt를 업로드할 수 없으면 어떻게 할까?

자신이 직접 운영하는 웹사이트인 경우 서버에 robots.txt를 자유롭게 업로드할 수 있지만, 다른 사람의 서버를 빌려서 사용하는 티스토리 블로그, 네이버 블로그, 다음 블로그와 같은 경우 사용자가 서버에 접속하거나 수정할 수 있는 권한이 없기 때문에 robots.txt 업로드가 불가능합니다.
이런 경우 사이트의 html 태그를 통해 크롤링 봇의 행동을 제한하도록 요청할 수 있습니다.
관련 내용은 다음 사이트들이 프로그래밍 언어를 사용해 만든 크롤러, 또는 웹스크래퍼를 이용해서 인터넷 사이트에 있는 웹 사이트의 정보들을 수집합니다.

이러한 행위를 크롤링, 또는 웹스크래핑이라고 하는데, 이렇게 인터넷에 존재하는 자료들을 수집하는 행동을 자동화하려는 사람들의 관심이 얼마나 많은지는 '크롤러 만들기', 또는 '웹스크래퍼 만들기'와 같은 검색어로 검색 포털에서 얼마나 많은 문서들이 검색되는지 확인해보면 쉽게 알 수 있습니다.

 

크롤러와 웹스크래퍼는 엄밀히 말하면 서로 다른 것이지만, 사실상 웹스크래퍼에 해당하는 것들도 크롤러라고 불리고 있기 때문에 편의상 크롤러로 통합해서 말하겠습니다.

 

이런 크롤링 봇들이 점점 증가하는 상태에서 이런 크롤링 봇들의 행동을 제한하기 위해서 나타낸게 robots.txt입니다.

그런데, 이 robots.txt가 무엇을 의미하고, 어떻게 확인할 수 있는지 알고 크롤링을 하는 분들이 얼마나 있을지 잘 모르겠네요.

 

robots.txt가 알려주는 것은?

robots.txt는 사람이 아닌 크롤링 봇이 웹사이트를 탐색할 때, 크롤링 봇이 접근할 수 있는 범위를 제한하기 위해 사용됩니다.

만약 크롤링 봇이 무차별적으로 웹사이트를 탐색하게 되면 해당 사이트에는 과도한 트래픽이 발생하게 되고, 이렇게 일반 사용자가 아닌 봇에 의해 트래픽이 소모되게 되면 다른 사용자들이 해당 사이트를 정상적으로 이용하지 못하게 됩니다.

어느 정도 규모가 있는 포털 사이트들은 이렇게 봇에 의해 과도한 트래픽이 발생하게 되면 해당 트래픽을 요구하는 ip 주소를 차단하거나, 또는 일정 시간동안 요청 가능한 트래픽 요청 횟수에 제한을 두는 방식으로 트래픽 문제를 방지하고 있습니다.

 

robots.txt는 어떻게 해석할까?

robots.txt에 어떤 내용이 들어가야 하는지, 그리고 그 내용들을 어떻게 해석해야 하는지에 대해 알려주는 사이트가 있습니다.

다음 사이트를 참고하거나, 네이버 서치 어드바이저에서 제공하는 robots.txt 관련 페이지를 참고할 수도 있습니다.

 

The Web Robots Pages

About /robots.txt In a nutshell Web site owners use the /robots.txt file to give instructions about their site to web robots; this is called The Robots Exclusion Protocol. It works likes this: a robot wants to vists a Web site URL, say http://www.example.c

www.robotstxt.org

 

robots.txt 설정하기

robots.txt는 검색로봇에게 사이트 및 웹페이지를 수집할 수 있도록 허용하거나 제한하는 국제 권고안입니다. robots.txt 파일은 항상 사이트의 루트 디렉터리에 위치해야 하며 로봇 배제 표준을 따

searchadvisor.naver.com

다음은 티스토리의 robots.txt 페이지에서 확인할 수 있는 내용입니다.

 

User-agent: *는 모든 크롤링 봇들을 의미합니다.

Allow: /는 사이트의 모든 페이지를 제한 없이 탐색해도 된다는 의미지만,

Disallow: /m

Disallow: /login

Disallow: /gateway

위에 Disallow한 페이지는 탐색하지 말라는 뜻입니다.

그리고 개별 티스토리블로그의 robots.txt 파일의 내용을 확인해보면 조금 더 많은 내용이 들어옵니다.

이렇게 robots.txt를 통해 크롤링 봇이 자신의 사이트를 탐색할 경우 자신이 원하는 페이지만 탐색하도록 유도할 수 있습니다.

robots.txt를 업로드할 수 없으면 어떻게 할까?

자신이 직접 운영하는 웹사이트인 경우 서버에 robots.txt를 자유롭게 업로드할 수 있지만, 다른 사람의 서버를 빌려서 사용하는 티스토리 블로그, 네이버 블로그, 다음 블로그와 같은 경우 사용자가 서버에 접속하거나 수정할 수 있는 권한이 없기 때문에 robots.txt 업로드가 불가능합니다.

이런 경우 사이트의 html에 메타 태그를 삽입하는 것으로 크롤링 봇의 행동을 제한하도록 요청할 수 있습니다.

관련 내용은 다음 사이트나 네이버 서치 어드바이저에서 제공하는 페이지를 통해 확인할 수 있습니다.

 

The Web Robots Pages

About the Robots tag In a nutshell You can use a special HTML tag to tell robots not to index the content of a page, and/or not scan it for links to follow. For example: ... There are two important considerations when using the robotstag: robots ca

www.robotstxt.org

 

선호 URL 및 로봇 메타 태그

선호 URL (=대표 URL) HTML 문서의 태그내에 있는 태그를 활용합니다 동일 콘텐츠를 여러 개의 URL로 표현이 가능할 경우 가장 선호되는 대표 URL을 지정합니다. 예를 들어 아래 세 개의 URL

searchadvisor.naver.com

사이트에 로봇 메타 태그가 있는지는 인터넷 브라우저의 개발자 도구를 열어 사이트의 html 코드를 확인해보면 알 수 있습니다.

가장 흔히 사용하는 로봇 메타 태그는 <meta name="robots" content="index, follow"> 일텐데요.
이 태그는 크롤링 봇들이 자신의 사이트 내용을 긁어갈 때 페이지 주소를 색인하고, 페이지 내의 a 태그로 링크된 링크글에도 들어가서 탐색해보라는 뜻입니다.

제 티스토리 블로그에도 역시 해당 로봇 메타 태그가 삽입되어 있습니다.

이 메타 태그는 크롤링 로봇의 탐색을 막는다기보다는 검색 포털 사이트의 크롤링 로봇이 제 사이트를 방문했을 때, 이 사이트의 색인을 요청할지, 아니면 색인을 하지 않도록 요청할지를 결정하는 메타 태그입니다.

자신의 사이트(블로그)가 다른 검색 포털의 검색 결과에 노출되도록 색인이 되고 싶다면 robots.txt를 통해 크롤링 봇의 탐색을 허용하거나, 메타태그를 이용해서 색인을 하도록 요청해야 합니다.
반대로 다른 검색 포털에 노출되기를 원하지 않는다면 그에 따른 조치도 취할 수 있습니다.

robots.txt 내용을 지키지 않으면 어떻게 될까?

robots.txt는 사실 국제 권고안이기 때문에 이렇다할 강제력은 없습니다.
다만, 이 사이트는 이런 식으로 이용해주세요라는 '권고 요청' 정도이기 때문에 이를 어겨도 어떤 처벌이 내려지거나 하는 일은 없습니다.

과거 미국에서 누구나 방문할 수 있는 웹사이트의 자료를 스크랩해 가는 것은 불법이 아니라는 판결도 내려진 적이 있습니다.

 

美 법원 "웹사이트 공개 데이터 스크랩, 불법 아니다"

마이크로소프트(MS)의 구직·구인 소셜미디어 '링크드인'에 공개돼 있는 사용자 프로필 데이터를 스크랩해 자사의 데이터 분석 서비스에 활용한 HiQ랩스를 놓...

zdnet.co.kr

 

hiQ Files Opposition Brief with Supreme Court in LinkedIn CFAA Data Scraping Dispute

Last week, hiQ Labs, Inc. (“hiQ”) filed its brief urging the Supreme Court to deny LinkedIn Corp.’s (“LinkedIn”) petition for a writ of certiorari in

www.natlawreview.com

그렇다고 이를 어기는 것을 권장하거나, 무시하라는 뜻이 아닙니다. 인터넷은 누구에게나 열려있고, 누구나 사용 가능한 공간이기 때문에 이런 것이니까요.
물론 이런 robots.txt 파일이나 로봇 메타 태그가 없다고 해당 사이트에 과도한 트래픽을 요청해도 된다는 뜻도 아닙니다.

법적으로 크롤링 자체는 막지 못하겠지만, 그렇다고 해서 크롤링하는 행위를 법적으로 막지 못한다는 뜻은 아닙니다.
모든 사이트가 공개된 것도 아니고, 공개된 사이트를 크롤링한 것이라도 할지라도 위법으로 판단되는 경우도 있기 때문인데요.

타 사이트를 크롤링하다가 소송을 당해 위법 판결을 받은 사례가 몇 가지 있는데, 이는 다음 글에서 이어나가보겠습니다.

 

다음 글

 

크롤링이 불법 행위가 되는 경우를 아시나요?

이전 글에서 웹사이트를 크롤링(웹스크래핑)할 때 참고해야하는 robots.txt에 대해서 알아보았습니다. 참고 : redfox.tistory.com/30 robots.txt 확인하고 크롤링(웹스크래핑) 하고 계신가요? 많은 분들이 프

redfox.tistory.com

 

  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기