웹사이트에서 정보를 가져올 때, 기본적인 윤리규정과 저작권 등 법률적 이슈에 대하여 유의하여야 한다. 

 

위키피디아(https://ko.wikipedia.org/wiki/)는 로봇 배제 표준에 대하여 웹 사이트에 로봇이 접근하는 것을 방지하기 위한 규약으로, 일반적으로 접근 제한에 대한 설명을 robots.txt에 기술한다.” 라고 말한다. 무분별한 서버 접속은 서버의 안정성을 해치기도 하고, 대부분의 웹 사이트들은 로봇배제표준을 제정하여 게시하고 있다. 

 

 

권고안이기는 하지만 웹 페이지에 접근하기 전에 반드시 로봇 배제 표준을 확인하고 가이드라인을 준수할 필요가 있다.또한, 사이트에 반복적으로 접속하는 행위는 사이트를 공격하는 행위로 받아들여질 수 있기 때문에 서버에 부담을 주지 않는 선에서 제한하는 것이 필요하다. 

 

마지막으로취득한 데이터를 임의로 배포하거나 변경하는 등의 행위는 저작권을 침해할 가능성이 있기 때문에, 로봇배제표준 이외에 저작권 규정을 준수해야 한다. 

 

로봇배제표준을 확인하는 가장 간단한 방법은 웹브라우저 주소창에 "홈페이지 메인 주소/robots.txt"라고 입력하는 것이다.

 

네이버(www.naver.com)의 경우는 다음과 같다. 네이버는 기본적으로 스크래핑(크롤링) 봇의 접근을 금지하고 있다. 

다만, 루트 디렉터리(www.naver.com/)에 대해서는 허용하고 있는 것으로 볼 수 있다. $ 표시는 웹 주소의 마지막을 뜻하기 때문에, 루트 디렉터리의 경우 Allow하고 있다고 해석할 수 있다. 

 

로봇배제표준

로봇배제표준에 대한 상세 설명은 다음 위키피디아 링크를 참조하기 바란다. 

https://ko.wikipedia.org/wiki/%EB%A1%9C%EB%B4%87_%EB%B0%B0%EC%A0%9C_%ED%91%9C%EC%A4%80

 

파이썬 requests 모듈은 웹 서버에 요청을 보내고 응답 객체를 받는데 사용한다. 응답 객체 중에서 HTML 소스 코드를 얻는 방법을 알아본다. 

 

import requests

url = "https://www.wikipedia.org/"
resp = requests.get(url)

html = resp.text
print(html[:1000])

1. requests 모듈을 불러온다.

 

2. 위키피디아 웹 주소를 변수에 저장한다. 

 

3. 웹 서버에 GET 요청을 보내고, 서버가 응답한 객체를 변수에 저장한다.

 

4. text 속성에 HTML 소스코드가 들어 있다. 

 

5. 문자열로 저장되어 있는 HTML 소스코드를 출력한다. 앞에서 1000개의 글자를 지정하여 일부 소스코드만 확인한다. 


<실행 결과 > HTML 소스코드 확인

<!DOCTYPE html>
<html lang="mul" class="no-js">
<head>
<meta charset="utf-8">
<title>Wikipedia</title>
<meta name="description" content="Wikipedia is a free online encyclopedia, created and edited by volunteers around the world and hosted by the Wikimedia Foundation.">
<![if gt IE 7]>
<script>
document.documentElement.className = document.documentElement.className.replace( /(^|\s)no-js(\s|$)/, "$1js-enabled$2" );
</script>
<![endif]>
<!--[if lt IE 7]><meta http-equiv="imagetoolbar" content="no"><![endif]-->
<meta name="viewport" content="initial-scale=1,user-scalable=yes">
<link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png">
<link rel="shortcut icon" href="/static/favicon/wikipedia.ico">
<link rel="license" href="//creativecommons.org/licenses/by-sa/3.0/">
<style>
.sprite{background-image:url(portal/wikipedia.org/assets/img/sprite-3f2e1b8f.png);background-image:linear-gradient(transparent,transparent),url(portal/wikipedia.org/assets/img/sprite-3f2e1b8f.svg);background

 

+ Recent posts