웹 크롤링 (Web Crawling)
- 조직적, 자동화 된 방법으로 웹을 탐색하고 수집하는 행위 또는 프로그램
ex) 구글, 네이버 등의 검색엔진 결과 데이터를 수집하는 봇(bot)
스크래핑 (Scraping)
- 웹 사이트의 내용을 긁어다 원하는 형태로 가공하는 것
: 웹 사이트의 정보를 추출하는 행위 또는 프로그램
ex) 상품별 가격을 알기위해 해당 상품과 관련된 페이지들의 가격을 추출하는 행위
※ 대부분의 사람들이 크롤링과 스크래핑을 같은 의미로 사용
웹 크롤링 허용 여부 확인 방법
- 사이트의 주소 맨 뒤에 /robots.txt 를 입력하고 접속
ㆍrobots.txt
: 검색로봇에게 사이트 및 웹 페이지를 수집할 수 있도록 허용하거나 제한하는 국제 권고안
: 사이트의 루트 디렉터리에 위치하며 로봇 배제 표준을 따르는 일반 텍스트 파일로 작성
: 해당 페이지에 불허하는 사용자가 접속할 경우 접속 불가
ex) www.youtube.com/robots.txt
- 분석
ㆍUser-agent: Mediapartners-Google*
Disallow:
=> 이름이 'Mediapartners-Goole'로 시작하는 사용자 에이전트는 모든 페이지에서 크롤링 가능
ㆍUser-agent: * (이하생략)
=> 그외 모든 사용자들은 아래에 명시된 페이지에서 크롤링 불허
웹 크롤링과 불법
- 불법적인 크롤링
: 사이트 운영자의 의사에 반하는 크롤링
: robots.txt에 명시된 disallow 항목에 대한 크롤링
: 웹 페이지의 특정 부분, 약관 등에 크롤링 금지를 표시한 경우
=> 특히 상업적으로 이용할 경우 가장 위험
Refference
www.slideshare.net/herrenstudy/ss-152303813
developers.google.com/search/docs/advanced/robots/create-robots-txt?hl=ko
'Development > Development' 카테고리의 다른 글
웹 개발자가 알아야 할 웹 아키텍처 (0) | 2022.02.25 |
---|---|
개발자가 알아야하는 인프라 기초 (0) | 2021.09.16 |
[백엔드 개발자 로드맵 2020] DNS (Domain Name Service) (0) | 2021.04.02 |
[백엔드 개발자 로드맵 2020] GraphQL (GQL) (0) | 2021.03.18 |
[백엔드 개발자 로드맵 2020] 메시지 브로커 (Message Broker) (0) | 2021.03.18 |