[Web Scraping 기초] HTTP - 윤리적으로 웹 스크래핑/크롤링 진행하기
1) 웹 크롤링과 웹스크래핑
- 웹 스크래핑 : 특정한 목적으로 특저어 웹 페이지에서 데이터를 추출하는 것 - 데이터 추출
- 웹 크롤링 : URL을 타고다니며 반복적으로 데이터를 가져오는 과정(인덱싱) - 데이터 색인
2) 올바르게 HTTP 요청하기
① HTTP를 올바르게 요청하게 위해 교려해야 할 것들
- 웹 스크레핑/크롤링으르 통해 "어떤 목적"을 달성하고자 하는가?
→ 웹 스크래핑/크롤링 시 상업적으로 사용할 경우 저작권에 침해하는 것이 없는지 확인해야 한다
- 무분별한 요청은 사이버 공격과 다름 없기 때문에 웹 스크래핑/크롤링 시 서버에 영향이 없는지 확인해봐야 한다
3) 로봇 배제 프로토콜(REP)
- 웹 브라우징은 사람이 아닌 로봇이 진행할 수 있다 → 웹 스크래핑/크롤링은 로봇도 진행할 수 있다
- 일부 스팸 봇이나 악성 목적을 지닌 클라이언트 로봇은 무단으로 웹 사이트 정보를 스크래핑 하거나 웹 서버에
부하를 줌
- 서비스 중인 웹 사이트의 무분별한 악성 로봇의 접근을 방지하고자 1994년 REP(Robot Exclusion Protocol)이
만들어 졌으며 robots.txt에 로봇의 접근 제한에 대한 설명을 기술해 둔다
- 해당 규약은 권고안이므로 강제되지 않지만 현재 활발히 서비스 중이거나 서비스 될 웹사이트들은 보통 지원하는 방향
으로 가고 있음
- 자주가는 웹 사이트의 robot.txt을 확인하는 방법은 다음 소스와 같다
- User-agent : 규칙이 적용되는 대상 사용자 에이전트, Allow / Disallow : 코롤링을 허용/금지할 웹 페이지
- robots.txt 확인 시 반드시 웹 사이트의 기본 주소 뒤에 /robots.txt 붙여야 한다
- 자세한 규약은 robots.txt 공식 홈페이지 참