Web Crawling(웹 크롤링) 이란?
: 여러 유사한 용어들이 존재
- crawling: 데이터 수집, 분류하는 작업
- scraping: 데이터 수집하는 작업
- spider or web crawler: 컴퓨터가 자동으로 데이터 수집
- bot: 자동으로 데이터 수집하는 소프트웨어
웹페이지의 종류
- 정적페이지
: 페이지의 데이터가 변경될 때, URL이 변경. 새로고침 하면 URL도 바뀌고 데이터도 바뀐다
- ex. 네이버 뉴스 밑에 페이지 네이션 누르면 URL 바뀜, 페이지 이동
- html 형식 수집
- 동적페이지
: 페이지의 데이터가 변경될 때, URL이 변경되지 않음.
- ex. 더보기 버튼 누르면, URL은 그대로지만 화면은 바뀜
- json 형식의 데이터 수집
크롤링 정책
: robots.txt 파일에 크롤링 정책 설명
- User-agent
: 어떤 client가 요청하는지(os는 뭐고, 버전은 몇이고, 크롬이고, 등등의 client의 정보)를 request 할때 server에 전달
: 아 우리 서비스는 ios는 30프로, android는 10프로 등 유저의 정보를 파악
- User-agent: 블라블라: 이 블라블라는 특별히 명시
- Disallow: ~: 아래 명시된 경로이외에는 허락한다
- ex. https://programmers.co.kr/robots.txt
User-Agent: *
Disallow: /users
Disallow: /managers
Disallow: /cable
Disallow: /admin
Disallow: /start_trial
Disallow: /pr/*
Allow: /
Sitemap: https://programmers.co.kr/sitemap.xml
User-agent: *
Disallow: /
Allow : /$
크롤링과 법적 분쟁
-
아직까지 법에 명시되어 있지는 않음
-
그러나, 과도한 크롤링으로 해당 사이트에 문제가 생긴다면?! 영업방해, 지적재산권 침해 등으로 법적 분쟁이 벌어질 수 있음
- 사례: 잡코리아, 사람인: 사람인이 잡코리아 정보 크롤링, 결국 소송 끝에 잡코리아가 이겼고, 사람인이 손해배상 함.
-
그래서 크롤링을 할 때는 되도록 API를 사용하자!