데브코스 TIL/Web Scrapping

Web Scraping 기초 1-4. 윤리적으로 웹 스크래핑, 크롤링 진행하기

예니ㅣ 2023. 10. 24. 17:55

강의

"웹 스크래핑"은 웹 페이지들로부터 원하는 정보를 추출하는 것을 말합니다.

"웹 크롤링"은 크롤러(Crawler)를 이용해서 웹 페이지의 정보를 인덱싱하는 것을 말합니다.

 

HTTP 요청할 때 고려 사항

  • 웹 스크래핑/크롤링을 통해 달성하고자 하는 목적
  • 웹 스크래핑/크롤링이 서버에 미치는 영향

 

로봇 배제 프로토콜(Robot Exclusion Protocol, REP)

# 모든 user-agent 접근 불허
User-agent: *
Disallow: /

# 모든 user-agent 접근 허용
User-agent: *
Allow: /

# 특정 user-agent 접근 불허
User-agent: Name
Disallow: /

 

"robots.txt"는 웹 사이트 및 웹 페이지를 수집하는 로봇들의 무단 접근을 방지하기 위해 만들어진 로봇 배제 표준(Robots Exclusion Standard)이자 국제 권고안입니다.

나의 User Agent를 확인할 수 있습니다. https://www.whatismybrowser.com/detect/what-is-my-user-agent/

웹 서버에 요청할 때 사용자 에이전트 HTTP 헤더(user agent HTTP header)에 나의 브라우저 정보를 전달하면 웹 서버가 나를 진짜 사용자로 인식할 수 있게 됩니다.

import requests

res = requests.get("https://www.naver.com/robots.txt")
print(res.text)