Web Crawler

C.G.V 영화 크롤러

JongSeok_12 2019. 11. 27. 13:54

가장 먼저 영화 정보를 크롤링하기 전에 정확히 크롤러가 어떠한 역할을 할 것 인지 확실히 정해두고 만들 필요가 있음

일단 시험 삼아 가장 먼저 서울권 에서만 1시간 단위로 모든 상영 정보를 불러오게 만들 것 임

 

내가 만들고 싶은 것 은 ?

C.G.V 페이지에서 영화에 관한 정보를 불러오는 프로그램

 

해당 크롤러가 해야 할 일은?

6하 원칙에 맞게 

 

누가 ? 크롤러가

언제 ? 1시간 간격 마다

어디서 ? C.G.V 강남 웹 페이지에서

무엇을 ? 영화 이름, 영화 상영관 위치, 영화 상영 시간, 상영관 잔여 좌석, 상영 날짜를

어떻게 ? Python 라이브 러리를 통해 ( requests, bs4 ) 데이터를 추출해서 

왜 ? 불러온 정보를 최종적으로 DB에 담기 위해

 

내가 어떠한 프로그램을 만들지 생각을 정리 해 보았다면 정리한 생각을 세부적으로 나열

 

1. 모든 주체를 정의 해 본다

주체는 3가지로 정의 할 수 있음

  • CGV 웹 사이트
  • 크롤링 프로그램
  • DB

 

2. 이제 주체들이 각각 어떤 기능을 하게 되는지 정의하며 데이터를 어떠한 형태로 만들지 기술

CGV 웹 사이트

1. 크롤링 해야할 데이터들을 제공

-> HTML 형태로 제공

 

크롤링 프로그램

2. 1에서 제공하는 데이터를 요청 ( Requests )

-> HTML 형태로 응답 해줌

3. 2에서 불러온 데이터를 가지고 필요한 부분만 파싱 

-> 데이터 형태를 HTML 형태에서 파싱이 가능한 DOM 형태로 바꾼 뒤 작업 수행

-> DOM 형태로 불러온 데이터는 다시 딕셔너리 형태로 저장

4. DB에 쿼리 요청 

-> 딕셔너리 형태로 묶여 있는 데이터를 데이터베이스에 INSERT 쿼리문으로 추기

DB

5. Python에서 불러온 데이터를 DB에 저장