![다나와 가격 크롤러 만들기 - 제약사항 및 요구사항 정리](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPoXK9%2FbtsGNMzbZ2P%2FzG1naavyN9myrtPuklZPRK%2Fimg.png)
스프링 연습도 해볼 겸 다나와의 제품 및 가격을 크롤링 하는 프로그램을 만들어 보려고합니다.
크롤러를 만들기 전에 몇 가지 법적인 문제나 고려해야할 점들을 정리해 둔 사이트가 있어 링크 및 정리를 해둡니다.
합법적으로 ‘웹 크롤링’하는 방법 (上) | 요즘IT
빅데이터 분석이 점차 강조됨에 따라 많은 기업과 학생들이 데이터 확보에 열을 올리고 있습니다. 하지만 기업 입장에서는 비즈니스를 진행하며 자연스럽게 데이터가 쌓이는 경우가 많지만,
yozm.wishket.com
합법적으로 ‘웹 크롤링’하는 방법 (下) | 요즘IT
앞선 합법적으로 ‘웹 크롤링’하는 방법 상편에서는 웹 크롤링이 무엇인지, 어떤 경우에 웹 크롤링 행위가 문제가 되는지에 대해 파악해 보았습니다. 하지만 웹 사이트마다 성격이 다르고,
yozm.wishket.com
위 페이지들을 요약하자면 아래와 같습니다.
크롤러 작성전에 확인할 부분
크롤러가 문제가 되는 경우
1. 수집한 데이터를 상업적으로 이용하는 경우 ( 상업적이 아니더라도 문제를 일으키면 안됨 )
2. 웹 크롤링을 통해 상대 서버에 문제를 일으킨 경우
이런 경우를 방지하는 프로그램을 만들어야합니다.
웹사이트별 규제 정책을 찾는 방법
모든 웹사이트들은 자동화 프로그램에 대한 규제여부를 명시해놓고 있다고 합니다.
각 웹사이트의 /robots.txt 경로를 확인해 보면 된다고 합니다.
웹 사이트별 규제 정책을 읽는 방법
1. User-agent, Allow와 Disallow
Disallow 대상과 Allow 대상을 확인하면 된다고 합니다.
2. 웹 사이트 내 세부 페이지에 따른 차이를 보여주는 /
네이버의 경우 간단하지만, 실제 웹 사이트들의 경우에는 좀 더 세분화 되어 있는 경우가 많다고 합니다.
아래 구글의 경우 처럼 /search에 대해서는 disallow이나 같은 페이지 내의 about, static hoowsearchworks같은 부분은 자동화 프로그램이 접근 가능하다고 합니다.
그러면 이제 다나와의 Robots.txt를 확인하려고 합니다.
다나와의 Robots.txt 확인
User-agent: *
Disallow: /user_report/
Disallow: /elec/Management
User-agent: HMSE_Robot
Disallow: /
User-agent: bingbot
Crawl-delay: 3600
User-agent: Mediapartners-Google
User-agent: Googlebot
User-agent: Googlebot-image
User-agent: NaverBot
User-agent: Yeti
User-agent: Daumoa
User-agent: Twitterbot
Crawl-delay: 1
Sitemap: https://www.danawa.com/sitemap.xml
모든 유저에 대해서 /user_report 페이지와 /elec/Management 페이지를 제외하고는 전체 허용입니다.
HMSE_Robot은 전체 페이지의 크롤링을 막아두었는데, 예전에 웹 사이트에 무리를 주는 나쁜 케이스가 있었던것으로 보입니다.
뭐야 이 미친 로봇은;;;
트랙백 주소 :: https://ohyung.net/rserver.php?mode=tb&sl=486
ohyung.net
bing에 대해서는 1시간의 제약사항을 두고있고
나머지 검색 엔진들에 대해서는 1초의 딜레이를 두고있음을 확인할 수 있었습니다.
따라서, 개인이 크롤링 프로그램을 만드는것은 허용되어 있는것 같습니다.
다나와 크롤러 요구사항 정리
1. 다나와에 있는 모든(?) 삼성 제품의 현재 가격을 가져와서 저장한다. (필요한 데이터는 조금 더 검토해보기
2. 그리고 사내 몰 제품과의 매핑이 가능하게 해야한다.
3. 스프링으로 구현이 가능해야한다. (스프링 연습을 위해서)
4. 데이터 베이스는 SQLITE를 이용한다. 다만 DB 변경이 가능한 인터페이스로 구현해야한다.
Optional
1. 크롤링 대상 설정이 가능해야한다. (특정 제품에 대한 크롤링도 가능해야한다)
2. 각 제품의 가격 변동까지 저장할 수 있어야한다.
'프로젝트 > 다나와 가격 크롤러 만들기' 카테고리의 다른 글
다나와 가격 크롤러 만들기 - 크롤링 로직 정리 (2) | 2024.04.28 |
---|---|
크롬 구 버전 설치 및 크롬 드라이버 설치 (0) | 2024.04.21 |
개발 및 IT 관련 포스팅을 작성 하는 블로그입니다.
IT 기술 및 개인 개발에 대한 내용을 작성하는 블로그입니다. 많은 분들과 소통하며 의견을 나누고 싶습니다.