본문으로 바로가기

크롤링 프로젝트 개요

category 프로젝트 이야기/개요 및 후기 2019. 6. 17. 13:33

■ 프로젝트

- 벅스 뮤직의 음악 차트의 리스트를 주기적으로 크롤링(스케줄링)하여 데이터를 저장

- 프로젝트 저장소: https://github.com/HyungtaeMoon/music_chart

 

 

■ 목적

1. Redis, Celery-beat 를 사용하여 작업 스케줄링을 하여 주기적으로 크롤링을 하는 프로젝트를 제작

2. 크롤링하는 데이터 보다는 스케줄링, ECS 등 현업에서 사용하고 있는 기술스택에 대한 적용을 중점으로 제작

 

 

■ 기능별 구현 코드

 

벅스 뮤직 차트 크롤링

  • 인기차트 100위 페이지의 리스트를 크롤링
    • Redis, Celery-beat 를 사용하여 Redis-server 를 On 상태에서 task 의 작업 시간을 설정하면 자동으로 크롤링

 

travis-ci 빌드 테스트 환경을 구축

  • 현재 테스트 코드는 없으며, 추후 테스트 코드를 포함하여 배포를 진행
    • Udemy 강의를 통하여 완성한 REST-API-TDD 를 응용하여 작성할 예정

 

ECS 로 배포

  • AWS Elastic Container Service 를 사용하여 production 이미지 파일을 클러스터의 메인 컨테이너로 설정하여 배포

 

■ 배포 관련 기술 스택

 

▷ AWS

  • ECS
  • ECR
  • LoadBalancer
  • IAM
  • RDS

▷ 기타

  • Docker
    • 컨테이너를 구성하여 해당 이미지로 build 후 배포