본문 바로가기
Project

파이썬으로 영화 예매 오픈 알리미 만들기-1

by 배애앰이 좋아 2020. 2. 10.
반응형

공부 및 참고 동영상 : 

https://www.inflearn.com/course/%EC%98%81%ED%99%94%EC%98%88%EB%A7%A4-%ED%8C%8C%EC%9D%B4%EC%8D%AC#

 

파이썬으로 영화 예매 오픈 알리미 만들기 - 인프런

파이썬을 통해 웹 크롤링, 텔레그램 봇, AWS EC2를 이용하여 CGV 용산아이파크몰의 IMAX 영화 예매 오픈 알리미를 만들어보는 강좌입니다. 이 강좌를 통해, 웹 크롤링에 대한 기본적인 이해부터, 텔레그램 봇을 만들어서 서버로 구축하는 과정까지 학습하실 수 있습니다! 입문 초급 웹 개발 서버 프로그래밍 언어 서비스 개발 파이썬 온라인 강의 파이썬, 영화예매, 오픈알리미

www.inflearn.com

 

일단 경기권 중에 아무 영화관이나 골라서 진행하여 보았습니다. 차근차근 따라하니 어렵지 않았어요. 

개발 환경은 파이썬과 jupyter 였습니다.

 

여기서 동영상과 달랐던 점은 

for i in title_list: 
    print(i.select('a > strong')[0].text.strip()) 

이 부분에서 동영상 내에서는 i.select('a > strong').text.strip()를 사용하지만 그럴 경우 'list' object has no attribute 'text' 라는 오류가 납니다. 이부분을 위에 처럼 바꿔주면 오류를 해결하고 원하는 결과를 얻을 수 있습니다.

 

또한 저 같은 경우는 IMAX 가 없었기 때문에 그 대신에 상영중인지 예매중인지를 확인하는 방향으로 코드를 바꿨습니다. 아주 일부분만 바꿔졌으며 큰 차이는 없습니다.

 

아 그리고 참고로 

if(now_open):
    now_open = now_open.find_parent('div', class_ = 'col-times')
    title = now_open.select_one('div.info-movie > a > strong').text.strip()
    print(title, '예매중입니다.')
else:
    print('예매중인 영화가 없습니다.')

이 부분에서는 now_open.select_one('div.info-movie > a > strong').text.strip() 으로 [0]을 안 붙이는 게 맞습니다. 위에는 list를 할 때라 다른 거 같습니다.

 

마지막으로 텔레그램 연결하는 것까지 하였습니다.

import telegram

bot = telegram.Bot(token = '텔레그램 고유번호')
updates = bot.getUpdates()
for i in updates:
    print(i.message)
반응형

댓글