파이썬 - 텔레그램 상영영화 조회 봇 만들기 [2] - 크롤링 내용 추가

 

파이썬 - 텔레그램 상영영화 조회 봇 만들기 [1] - 검색결과 크롤링

목차 1.개발을 위해 필요한 도구 2.검색결과 크롤링 3.github 전체코드 이번에 파이썬 크롤링을 처음 공부하다가 프로젝트를 하나 만들어서 남겨두면 나중에 복습하는데도 도움이 되고 이해도 빠

newstroyblog.tistory.com

오늘은 지난번에 진행 중인 프로젝트에 이어서 이전에는 영화 제목만 크롤링해왔지만

영화 시간과 영화관까지 모두 터미널에 내용이 나오도록 코드를 추가했습니다

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import requests
from bs4 import BeautifulSoup
 
url = 'https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=0&ie=utf8&query=%EB%A9%94%EA%B0%80%EB%B0%95%EC%8A%A4+%EC%B2%9C%EC%95%88+%EC%83%81%EC%98%81%EC%8B%9C%EA%B0%84%ED%91%9C'
res = requests.get(url)
res.raise_for_status()
 
soup = BeautifulSoup(res.text, "lxml")
 
movie_section = soup.find_all("th", attrs={"scope":"row"})
timeinfo = soup.find_all("td", attrs={"class":"time"} ) #상영시간표들 timeinfo변수에넣음
for idx,sections in enumerate(movie_section,start=0):
    print(sections.a.get_text()) #영화제목
    print('>'+sections.find("span").get_text()) #영화등급
    print(timeinfo[idx].get_text()) #상영시간표
    print(' ')#공백
cs

기존의 소스에서 영화 등급, 상영시간표만 추가하였습니다

기존 코드에서 추가된 부분만 따로 주석으로 설명을 덧붙였습니다

상영시간표는 영화 제목과 영화 등급이 들어있는 반복문 속에서 같이 출력하기 위해서 for문 밖에서 따로 timeinfo안에다가 영화 상영시간표들을 전부 가져온 뒤에 파이썬 내장 함수인 enumerate를 활용하여 idx가 0부터 리스트 끝까지 증가하면서 상영시간표의 배열 속 내용들을 출력합니다

 

킹스맨: 퍼스트 에이전트
>청소년 관람불가
  (6관)  12:05 17:30    (9관)  09:30    (컴포트 5관)  08:50 11:30 14:10 16:50 19:30

태일이
>전체 관람가
  (6관)  09:30    (7관)  09:30    (8관)  09:30

매트릭스: 리저렉션
>15세 관람가
  (8관)  14:05 19:20

연애 빠진 로맨스
>15세 관람가
  (컴포트 4관)  08:15

해피 뉴 이어
>12세 관람가
  (2관)  10:00    (3관)  08:30 11:15 14:00 16:45 19:30    (6관)  14:45

스파이더맨: 노 웨이 홈
>12세 관람가
  (1관)  07:40 10:35 13:30 16:25 19:20    (2관)  12:45 15:40 18:35    (7관)  11:40 14:35 17:30    (9관)  12:10 15:05 18:00    (컴포트 4관)  10:15 13:10 16:05 19:00

엔칸토: 마법의 세계
>전체 관람가
  (8관)  17:00

타이거마스크
>12세 관람가
  (2관)  07:55    (6관)  20:10

신데렐라 2: 마법에 걸린 왕자
>전체 관람가
  (8관)  12:15

결과창에 코드에서 의도한대로 영화제목과 등급 시간들이 출력됩니다

 

미숙한 부분이 많지만 읽어주셔서 감사합니다

 

다음 편에는 텔레그램 봇을 이용해서 바로 적용해보는 과정으로 넘어가 보겠습니다

 

 

github 전체코드

 

GitHub - Blue-B/megabox-movie-list

Contribute to Blue-B/megabox-movie-list development by creating an account on GitHub.

github.com

 

Top