용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo

Ŀ�´�Ƽ > �����Խ��� > �з�

��� ���̸ƽ��� ���� �����ΰ���? 16

용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo
 ���

�Ϲ� | 2022-12-07 17:40 | ��ȸ : 1279

�ƹ�Ÿ ���̸ƽ� �����ߴµ�

��� �¼� �ִ� ���� �����׿� ����

���� ���� �����ΰ��� 

용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo
��ջ���
용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo
0
용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo
0

���ڵ��� ������ Ȯ���� Ů�ϴ� ��������

���� �� ������ ��ٿ� �ϳ� �ö���ڳ׿�.

2022-12-07 17:41 | ����

용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo
용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo
���
용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo
0
용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo
0

��� �׷��� ���� ���Ÿ� �ұ��?

���

2022-12-07 17:42 | ����

용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo
NAVER
용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo
0
용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo
0

CGV SVIP�Ǹ� ���ſ��� ī������ �̸� �˷��ݴϴ� .. 

���� �׷��� ���β����� 3�� ������ ��

2022-12-07 17:45 | ����

용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo
용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo
���
용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo
0
용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo
0

���� ���� ������� �˷��ֳ���?

���� ��� �����߾��?

2022-12-07 17:46 | ����

용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo
용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo
NAVER
용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo
0
용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo
0

용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo

�̷��� �Ծ��׿� �� 

2022-12-07 17:47 | ����

용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo
TABASCO
용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo
0
용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo
0

�ű� ��ȭ�� 1�ð������� ���ǥ �븮�°� �� Ȯ�� �����ϴ�.

2022-12-07 17:56 | ����



영화 '어벤져스: 엔드게임' 개봉을 앞두고 대리 예매도 모자라 매크로(동일작업 반복 프로그램)까지 등장했다.

지난 10일 한 중고거래 사이트에 "어벤져스 엔드게임 용아맥 명당 대리 예매해드린다"는 글이 올라왔다.

대리 예매를 제시한 판매자는 CGV 홈페이지에서 장당 15,000원에 판매하고 있는 아이맥스(IMAX) 관람권 2장을 미리 구매해 자신에게 줄 것을 요구했으며, 2자리 연속 좌석에 선불 5만 원을 제시했다.

그러면서 이 판매자는 "22·23번 좌석(용산 아이맥스 가장 정중앙 좌석)을 못 잡을 경우, 100% 환불해 드린다"라며 "제 아이디가 아닌, 구매자분의 아이디로 예매한다"고 밝혔다.


하지만 이 판매자의 대리 예매 글이 더 논란이 된 건 바로 프로그램을 사용한 예매였기 때문. 판매자는 글에서 직접적으로 프로그램을 언급하진 않았지만 "지속적인 테스트에서 소요 시간 측정 결과 잡을 확률은 매우 높은 거로 보인다", "1인당 1개의 분리된 컨테이너에서 예매하므로, 절대 서로 영향을 미치지 않는다" 등의 프로그램 사용이 유추 가능한 답변을 이어갔다. 현재 프로그램 사용 유추 답변은 삭제된 상태다.

실제 한 커뮤니티에는 "용아맥 명당 대리예매 작업장 있는 듯 하다"는 제목으로 이 판매자에게 문의한 사람의 카톡 내용이 올라왔으며, '어떤 방법으로 빨리하시는지 궁금하다'고 묻자 "오늘 새벽부터 프로그램 돌릴 예정이다"는 답변이 돌아왔다.

예매도 시작되지 않은 상태에서 이처럼 과도한 티켓 전쟁이 일어나자 일부 마블 팬들은 자신의 SNS 또는 커뮤니티에 이 같은 상황을 공유하며 CGV 측의 매크로 사용 제재, 모든 극장 측의 철저한 암표 거래 단속을 요구하고 있다.

YTN PLUS 이은비 기자
()

[저작권자(c) YTN 무단전재 및 재배포 금지]

솜씨좋은장씨

Programming/Python

[Python] 파이썬과 텔레그램으로 스파이더맨 노웨이홈 예매 알리미 만드는 방법!

솜씨좋은장씨 2021. 12. 12. 23:58

용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo
용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo
용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo

2021.12.01 - [Programming/Python] - [Python] telegram.Bot 사용 시 AttributeError: module 'telegram' has no attribute 'Bot' 발생 오류 해결 방법

🥲 어벤져스 엔드게임 예매 실패 PTSD

지난 2019년 4월 16일.

어벤져스 엔드게임 용산 아이맥스 예매가 18시에 오픈된다는 소식을 듣고

부대에서 장교로 근무하고 있어 야근 전에 PX에서 구매한 컵라면과 냉동으로

다른 간부들과 저녁을 간단하게 해결하고 있었습니다.

17시 45분 즈음 되었을 때 예매가 18시에 오픈한다고 하니 이제 슬슬 들어가볼까? 하며

CGV 어플을 켜서 예매로 들어가려고 하는데 이상하게 접속이 잘 안되었고

좀 기다려보니 이미 오픈되어있는 예매와 장애인석 까지 매진되어있는 처참한 풍경을 보고
먹던 모든 것들을 내려놓고 아무것도 하고싶지 않았던 기억이 아직까지도 생생합니다. ( 다른 분의 경험담 )

용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo

당시에 다른 분들이 만들어서 올려주셨던 텔레그램 용아맥 알리미를 믿고 기다렸었는데

예매가 오픈하고 한참뒤에 알림이 와서 별 소용이 없었던 기억이 있었습니다.

🕸 그로부터 2년 후 어벤져스 엔드게임 급으로 기대되는 스파이더맨 노 웨이홈 예매 전쟁

스파이더맨 노 웨이홈.

예매가 오픈하기 전 아니 스파이더맨 노 웨이홈의 정보가 나올때부터

예전의 어벤져스 엔드게임 급으로 사람들의 관심이 집중되었습니다.

불현듯 2년 전의 어벤져스 엔드게임 때의 예매 실패의 기억이 스쳐 지나가면서 

아... 이번엔 오픈하자마자 바로 예매를 할 수 있는 알리미를 직접 만들어서 예매에 성공해야겠다는 생각이 들었습니다.

용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo

이에 개봉 18일 전인 11월 28일에 알리미 개발을 시작했습니다.

그래서 이 알리미로 예매에 성공했느냐!

그것은 맨 마지막에 적어보도록 하겠습니다.

👨🏻‍💻 텔레그램 용산 CGV 스파이더맨 개봉 알리미 제작

텔레그램 알리미 개발은

cgv 상영시간표 페이지 분석 > 텔레그램 봇 생성 > requests와 BeautifulSoup 활용해 크롤링, 메세지 전송 코드  작성 

순으로 진행하였습니다.

🤔 cgv 상영시간표 페이지 분석

개발에 앞서 예매가 오픈하면서 동시에 업데이트가 되는 페이지인 cgv 영화 상영시간표 페이지를 분석하여

크롤링 코드를 작성하는데 필요한 정보를 하나씩 만들었습니다.

📃 크롤링에 필요한 URL 정보

용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo

영화 그 이상의 감동. CGV

www.cgv.co.kr

용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo

영화 상영시간표의 페이지 url은 처음 페이지로 이동하였을때에는

http://www.cgv.co.kr/reserve/show-times/

위와 같이 별 정보가 없는 형식이지만 

화면에서 내가 확인하고 싶은 극장 ( CGV 용산아이파크몰 ) 의 이름을 클릭하면

http://www.cgv.co.kr/reserve/show-times/?areacode=01&theaterCode=0013&date=20211212

위와 같이 다양한 정보가 url에 추가가 되어있는 것을 볼 수 있습니다.

여기서 아! 각 지역, 극장마다 코드를 가지고 있고 날짜 별 구분은 date의 값을 YYYYMMDD 형식으로 넣어주면 되겠구나!

라는 것을 알 수 있었습니다.

그러나! 위의 주소를 활용하여 상영시간표의 내용을 가져올 수는 없었습니다.

용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo

왜냐하면 구글 크롬에서 F12를 눌러 개발자 도구를 연 다음

실제 상영시간표 부분 값이 나오는 부분을 확인해보면 iframe으로 되어있었고 여기의 url을 업데이트하여야

실제 상영시간표의 값을 받아올 수 있었기 때문입니다.

그래서 해당 부분의 주소를 복사하여 가져왔습니다.

/common/showtimes/iframeTheater.aspx?areacode=01&theatercode=0013&date=20211215

이 부분은

http://www.cgv.co.kr

의 뒷부분이므로 이를 합쳐서 알리미를 만드는 크롤링에 필요한 url로 활용했습니다.

📃 크롤링에 필요한 값 확인

그리고 나서는 내가 크롤링해서 가져오고자 하는 부분의 값들을 하나씩 찾았습니다.

가장 먼저 영화의 제목 부분의 값을 찾았습니다.

용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo

영화의 제목 부분은 col-times라는 class 명을 가진 div 태그 안에

info-movie 라는 class명을 가진 div 태그 또 그안에 a 태그 -> strong 태그 구조에 존재했습니다.

div.col-times > div.info-movie
a > strong

그 다음으로는 IMAX, 4DX, GOLD CLASS 여부를 확인하는 부분을 찾았습니다.

용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo

이는 영화의 제목과 같이 col-times 라는 class 명을 가진 div 태그 아래에

type-hall div 태그 그 아래에 info-hall div태그 그 아래에 ul > li 아래 screentype이름을 가진 span 태그에 

존재했습니다.

span.screentype

🔧 텔레그램 봇 토큰, chat_id 생성하기

2021.12.12 - [유용한 정보/기타] - 텔레그램 BotFather를 활용하여 텔레그램 봇 생성하고 chat_id를 얻는 방법!

텔레그램 BotFather를 활용하여 텔레그램 봇 생성하고 chat_id를 얻는 방법!

종종  텔레그램 봇과 Python을 활용하여 공적마스크 재고 알리미, 용산 아이파크몰 CGV 예매 오픈 알리미 같은 것을 만들곤 했습니다. 그럴때 필요한 것이 텔레그램 봇 생성 > chat_id 가져오기입니

somjang.tistory.com

용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo

먼저 위의 글을 참고하여 텔레그램 봇 토큰과 chat_id를 생성합니다.

👨🏻‍💻 Python 코드 작성 실행

import requests
from bs4 import BeautifulSoup
import telegram
from apscheduler.schedulers.blocking import BlockingScheduler
import datetime
import telegram
import time


bot = telegram.Bot(token="텔레그램토큰")


def movie_alarm_telegram(areacode='01', theatercode='0013', date='20211215', check_title='스파이더맨-노 웨이 홈', chat_ids=['chat_id', 'chat_id']):
    movie_dict = {}
    
    url = f"http://www.cgv.co.kr/common/showtimes/iframeTheater.aspx?areacode={areacode}&theatercode={theatercode}&date={date}"

    url_req = requests.get(url)
    url_soup = BeautifulSoup(url_req.text, 'html.parser')

    movie_titles = []
    
    movie_infos = url_soup.select("div.col-times > div.info-movie")
    if (movie_infos):
        for movie_info in movie_infos:
            screentype_list = []
            title = movie_info.select('a > strong')[0].text.strip()

            screentypes = movie_info.parent.select("span.screentype")

            for screentype in screentypes:
                screentype_list.append(str(screentype.text))

            movie_dict[title] = ", ".join(screentype_list)

        for movie in movie_dict.keys():
            movie_open_check_condition1 = (check_title == movie)
            if True in {movie_open_check_condition1}:
                for chat_id in chat_ids:
                    bot.sendMessage(chat_id=chat_id, text = f"{movie}의 {movie_dict[movie]}예매가 오픈되었습니다.")
    else:
        bot.sendMessage(chat_id="689318726",text = "아직 오픈된 예매가 없습니다.")
        print(datetime.datetime.now().strftime("%Y-%m-%d | %H:%M:%S"))
        print("fail")


if __name__ == "__main__":
    movie_alarm_telegram(areacode='01', theatercode='0013', date='20211215', check_title='스파이더맨-노 웨이 홈', chat_ids=['chat_id', 'chat_id'])

sc = BlockingScheduler()
sc.add_job(movie_alarm_telegram, 'interval', seconds = 30)
sc.start()

코드 작성은 requests와 BeautifulSoup 라이브러리를 활용하여 CGV 사이트를 크롤링하고

telegram 라이브러리를 활용하여 메세지를 전송하는 코드를 작성하고

이를 apscheduler를 활용하여 일정한 시간동안 계속 반복 동작하도록 작성하였습니다.

2021.12.01 - [Programming/Python] - [Python] telegram.Bot 사용 시 AttributeError: module 'telegram' has no attribute 'Bot' 발생 오류 해결 방법

[Python] telegram.Bot 사용 시 AttributeError: module 'telegram' has no attribute 'Bot' 발생 오류 해결 방법

스파이더맨 노웨이홈의 개봉이 14일 앞으로 다가온 오늘! 오랜만에 텔레그램으로 예매 알리미를 만들어볼까하여 import telegram bot = telegram.Bot(token="토큰") 위와 같이 코드를 작성하고 실행하려고하

somjang.tistory.com

용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo

만약 telegram 라이브러리가 제대로 동작하지 않는다 싶으면 위의 링크를 참고하여 라이브러리 재설치를 진행하면됩니다.

용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo

실행하면 위와 같이 원하는 날짜에 원하는 영화의 예매가 오픈하면 알림이 오게 됩니다.

( 현재 코드는 30초마다 확인 -> 알림 전송 )

🥲 이렇게 까지 했지만! 실패...

용산 아이 맥스 예매 매크로 - yongsan ai maegseu yemae maekeulo

대망의 12월 7일

12시 51분에 딱 오픈했다는 알림이 떠서 바로 접속했지만!

결국 예매는 실패하였습니다....ㅎ....ㅎ.....

뭐니뭐니해도 결국 운과 타이밍이 제일 중요한 것 같습니다.

앞으로 매트릭스, 킹스맨, 닥터스트레인지 2 등등 필요할 때 종종 사용하고자 합니다.

읽어주셔서 감사합니다.