지난편 저 글에서 인터파크 티켓팅 매크로를 제작하고 공유는 안 한다고 했는데, 개선판 작업한 후 나만 쟁여두긴 아까워서 공유해 보기로 했다. 코드는 좀 더 손보고 GitHub라든지 공유할 생각이며 아직은 실행 파일만 공유하겠다.

 

일난 지난번 버전보다 정말 많은 기능이 추가되었다.

 

기본적으로 있던 기능에 좌석 매수 설정, 중간부터 선택, 자동 시작, 취켓팅 모드가 추가되었다. 

 

원래 있던 기능부터 추가한 것까지 상세히 알아보자.

 

1. 자동 로그인 기능. 자신의 인터파크 아이디와 비밀번호를 입력하면 알아서 로그인해 준다. 

2. 직링 기능. 직링 생성 기능이 탑재되어 있어서 공연 코드와 공연 날짜를 입력하면 알아서 창을 띄워 준다.

3. 좌석 매수 선택 기능. 좌석 매수를 설정할 수 있다. 다만 사재기를 통한 암표 판매를 방지하기 위해 개수는 최대 4개로 제한했다.

4. 중간부터 선택(랜덤) 기능. 중간 이후로부터 랜덤으로 좌석을 선택해 준다. 많은 매크로들이 첫번째 자리에 몰리는 만큼 방어를 위해 넣은 기능이지만 속도가 느릴 수 있다. 엄청 느린 정도까진 아니다.

5. 자동 시작 기능. 자동 시작 기능을 넣든 말든 시간이 표시되는 기능과, 원하면 시작 시간을 설정해서 자동으로 시작하도록 할 수있다. 네이버 시계와 동기화를 한다.

6. 취켓팅 기능. 취소된 티켓을 계속 접속하면서 찾는 기능이다.

 

그럼 본격적으로 사용법을 알아보자.

 

일단 이 매크로를 쓰기 전에 필요한 준비물이 있다.

 

1. Chrome. 크롬이 필요하다. 오직 크롬만 지원한다. 이 매크로는 일반적인 클릭 매크로와 달리 브라우저를 직접 제어하기 때문에 제일 보편적인 브라우저인 크롬을 사용했다. 크롬 다운로드는 https://www.google.com/intl/ko/chrome/ 여기서 하자.

2. ChromeDriver. 크롬 드라이버가 필요하다. 이건 내 프로그램이 크롬을 제어할 수 있도록 해주는 프로그램이다. 이게 없으면 아예 매크로를 사용할 수 없다. 크롬드라이버는 아무거나 막 까는게 아니라 자기 크롬과 일치하는 버전의 드라이버를 써야 한다. 자기 크롬의 버전을 알고 싶다면 크롬 주소창에 chrome://version 을 입력하자. 그러면 아래 사진과 같은 창이 뜰 텐데 거기서 빨간색 박스 안의 숫자, 즉 제일 앞의 . 직전 숫자가 일치하는 버전을 다운받아야 한다. 다운로드는 https://chromedriver.chromium.org/downloads 이 곳에서 할 수 있다. 

 

크롬 버전

보통 최신 버전은 아래 사진처럼 친절하게 무엇을 다운로드해야 하는지 안내해 준다.

 

크롬 드라이버

만약 구형 버전이라 여기 없다면 아래로 스크롤하면 다른 버전도 나와 있다. 나는 81버전이므로 81.0.4044.69를 클릭해서 들어가면 아래와 같은 화면이 나타날 것이다.

크롬드라이버

그러면 우리는 다 윈도우 사용자이므로(내가 Mac이나 Linux 버전으로는 프로그램을 빌드하지 않았다) 아래의 chromedriver_win32.zip를 다운로드해주면 된다.

 

그리고 다운로드하면 .zip 압축 파일이 다운로드될 텐데 그곳 안에 있는 chromedriver.exe 파일을 매크로와 동일한 위치로 복사하면 끝이다.

 

나중에 매크로를 사용할 때 제대로 동작하지 않고 오류를 일으킬 수 있는데 그럴 경우에는 크롬이 업데이트되면서 크롬드라이버와 버전이 일치하지 않아 생기는 오류일 수 있으므로 확인해 보자.

 

이러면 준비는 끝이다. 이제 본격적인 사용법으로 들어가 보자.

 

아이디와 비밀번호 입력에선 딱히 설명할 게 없다. 다만 인터파크 계정이 미리 실명인증되어 있어야 한다.

 

공연 코드는 아래 사진과 같이 공연 정보 페이지 맨 위 주소창에 있는 링크에서 ?GoodsCode= 뒤에 있는 8자리 숫자를 말한다. 뒤에 #같은게 붙어 있을 수 있는데 그건 입력하면 안 된다.

공연 코드

날짜 설정은 공연 날짜를 말한다. 이건 모두 알 것이므로 넘어간다.

 

마찬가지로 좌석 개수도 넘어가겠다.

 

중간부터 선택 기능은 좀 고민을 해야 한다. 중간 이후의 랜덤한 좌석을 골라 주는 기능인데, 인터파크의 좌석 예매 특성상 색상에 따라 좌석 name에 특별한 구분을 두지 않았다(여기서 name은 HTML에서의 name이다). 따라서 모든 좌석이 다 동일하게 취급되기 때문에, 보라색 좌석을 고르지 못할 수도 있다. 또 랜덤 연산하는 시간 때문에 느려질 수 있다. 뭐 그렇다고 엄청 느려지는 정도까진 아니다.

 

시간 설정도 별로 할 말이 없다. 자기가 자동 시작을 사용할 거면 '자동 시작 기능 사용'에 체크해 놓고 시작 시간에 시간을 맞춰 놓으면 된다. 근데 나만 그런지는 모르겠지만, 이걸 하면 티켓팅 시 렉을 먹었다. 이건 컴퓨터마다 다를 수 있으므로 자기가 직접 써보고 판단해야 할 듯 하다.

 

취켓팅 모드는 체크해 놓으면 주기적으로 돌면서 취소된 티켓(남는 좌석)이 있는지 확인하고, 있으면 체크한다. 당연하게도 취켓팅 시에는 좌석 개수는 1개, 중간부터 선택에 체크하면 안 된다.

 

그러한 입력이 끝나면 확인을 눌러 정보를 저장하면 된다.

 

그러면 버튼이 수정으로 바뀌는데, 로그인 전까진 정보를 수정할 수 있다.

 

그리고 로그인을 하면 수정 버튼과 로그인 버튼이 비활성화된다. 더 이상 정보를 수정할 수 없으며, 잘못한 게 있다면, 프로그램을 끄고 다시 해야 한다. 그러니 정보 제대로 확인하자. 로그인하다가 오류나면 껐다가 다시 켜야 한다.

 

로그인 버튼을 누르면 크롬 창 두개가 나타날 것이다. 하나는 네이버 시계, 하나는 인터파크다. 실수로라도 끄지 말자. 끄면 시계의 경우 다시 나타나지만, 인터파크의 경우 꺼버리면 프로그램을 재실행해야 한다. 그리고 검은색 바탕의 프롬프트 창이 나타나는데 그것도 절대 끄면 안된다. 그게 크롬드라이버다.

 

여기까지 아무 문제가 없었다면 이제 결전의 순간을 기다리면 된다. 자동 시작을 걸어놨다면 자동으로 시작할 때까지 기다리고, 직접 시작한다면 기다리다가 시간이 됐을 때 시작 버튼을 누르면 된다.

 

이렇게 설명이 끝났다. 복잡할 수 있기 때문에 몇번 해보면서 익혀야 한다.

 

참고로, 내가 버전을 두개 만들었는데, 하나는 라이트 버전이고 하나는 일반 버전이다. 내가 취켓팅 기능을 넣으면서 일반 티켓팅에까지 불필요한 영향을 미치면서 그게 제거된 버전을 만들었다. 취켓팅하는게 아니라면 라이트 버전 이용을 추천한다.

 

그럼 티켓팅 시 몇가지 팁을 소개하겠다.

 

1. 컴퓨터 자원 정리

티켓팅 시에는 프로그램을 아무것도 켜놓고 있지 않는게 좋다. 특히 유튜브/게임같이 인터넷 트래픽을 잡아먹는 경우에는 치명적이다. 능력이 있다면 작업 관리자에서 쓸모 없는 프로세스들을 정리해도 된다.

 

2. 인터넷 속도 향상

인터넷 속도가 제일 핵심이다. 노트북을 사용중이라면 데스크톱으로 하고, 불가능하다면 유선랜을 쓰도록 하자. 랜 포트가 없다면 유선 USB 3.0 이상 랜 카드를 사서 USB 3.0 이상을 지원하는 포트에 장착하자. USB Type C 포트가 있으면 더더욱 좋다.

 

 

아무래도 나는 전문적으로 개발을 공부한 사람도 아니고 공부중인 고등학생이기 때문에 프로그램이 많이 부족할 수 있다. 비판점과 개선점은 대환영이지만, 비난은 자제해 주셨으면 좋겠다. 실패했다면 실패한 사례를, 성공했다면 성공한 사례를 적어 주시면 도움이 될 것 같다. 

 

특히 오류 발생은 댓글로 제보해 주시면 해결할 수 있도록 노력하겠다.

 

아래는 티켓팅 매크로 일반, 라이트 버전 다운로드 링크다

일반 버전

 

38.62 MB file on MEGA

 

mega.nz

라이트 버전

 

38.62 MB file on MEGA

 

mega.nz

바이러스가 의심되면 직접 VirusTotal같은 곳에서 검사를 해 보시라. 문제 없을 것이다.

 

*추가

이번에 보고된 오류들을 패치하였다. 최근 글에 올라와 있으니 참고하시면 된다.

  1. ㅠㅠ 2020.05.07 01:07

    ㅠㅠ 크롬에서 소프트웨어가 제어되고 있는거 같다고 아예 안들어가지네요 ㅠㅠ 무료로 배포해주셔서 감사한데 정말 슬프네요 ㅠㅠㅠ...

  2. 파이썬바라기 2020.05.18 06:40

    안심예매 상품의 경우 좌석 선택 전 보안문자 입력단계가 있고, 이경우 예매가능한 좌석이 있다면 프로그램이 죽네요..

  3. 2020.05.25 16:37

    [0525/162752.853:ERROR:process_reader_win.cc(123)] NtOpenThread: {액세스 거부} 프로세스가 개체에 액세스를 요구했지만 액세스 권한이 없습니다. (0xc0000022) ....ㅠ이렇게 뜨네요.

  4. 할수있다 2020.05.27 01:06

    좌석선택은 수동으로 할 수 있는 옵션있었으면 좋겠어요. 좌석 클릭하면 바로 선택완료 버튼 눌러주는 거요.

  5. 감사합니당 2020.05.30 00:25

    공유감사합니다. 공연이 하루에 한 회차면 문제없이 실행이 잘되는데 하루에 2개의 공연이 있을때는 직링창에서 회차를 눌러줘야하네요 이 부분 업데이트 가능할까요? ㅠㅠ

  6. 감사감사 2020.06.09 16:08

    좌석선택 전 뜨는 팝업창을 닫을 수 있었으면 좋겠어요.

  7. 2020.06.18 02:11

    비밀댓글입니다

    • 2020.07.10 17:48

      비밀댓글입니다

  8. 2020.07.03 23:46

    비밀댓글입니다

    • 2020.07.10 17:46

      비밀댓글입니다

  9. 2020.07.07 09:06

    좌석 선택 페이지 들어가는 것 까진 작동되는데 그 이후엔 멈추네요. 그 이후엔 직접 해야 하나요?

  10. 2020.07.10 08:35

    비밀댓글입니다

  11. 싼쵸 2020.07.29 20:26

    덕분에 티켓팅 잘했어요!!
    구역 있는거였는데 구역 없이해서 좌석선택하느라 쫄렸지만
    감사드립니다

    • 페이지다운 2020.07.29 21:15 신고

      성공하셨다니 축하드립니다. 앞으로 더 발전시키겠습니다.

    • 싼쵸 2020.07.30 12:56

      혹시! 취케팅 기능 사용 방법 적어주신게 워딩이 헷갈리는데

      좌석은 1개로만 선택해야하고,
      중간부터 선택(랜덤)은 체크하지 말아야하는게 맞는거죠?

      구역 분리가 있는 공연의 경우에는 구역 분리는 선택해줘야 하나요?

  12. 2020.07.31 00:46

    비밀댓글입니다

  13. 문의 2020.08.02 16:14

    훌륭한 프로그램 공유 감사합니다! 그런데 안심예매 걸린 티켓창엔 적용이 안되나 봅니다. 그리고 회차002등을 눌러도 적용이 될때가 있고 안될때가 있고 그러네요. 취켓팅 모드에선 예매성공시 알림이 울렸으면 합니다. 유료로 구매한 프로그램보다 이게 훨씬 편리해서 이거로 계속 연습중인데 아직 불안불안해서 걱정이에요 ㅠㅠ

  14. 살짝오류? 2020.08.21 21:16

    ERROR:process_reader_win.cc(123)] NtOpenThread: {액세스 거부} 프로세스가 개체에 액세스를 요구했지만 액세스 권한이 없습니다. (0xc0000022)
    ERROR:exception_snapshot_win.cc(98)] thread ID 19496 not found in process

    만들어주셔서 너무나도 감사하지만 잘 작동되다가 멈추고 다시 켜도 구동이 안 됩니다 ㅠㅠㅠ 혹시 해결 방안이 있을까요?

    • 페이지다운 2020.08.21 21:17 신고

      재부팅 후 다시 켜 보시고 크롬 버전과 드라이버 버전이 일치하는지 봑인 바랍니다.

  15. 2020.09.08 13:39

    비밀댓글입니다

  16. ㅇㅇ 2020.09.09 08:18

    정말 죄송하지만 혹시 맥북용으로 빌드할 계획은 없으신가요ㅠㅠ??

  17. ㅜㅜ 2020.09.11 11:06

    회차 선택을 미리 해뒀는데도 안넘어가서 수동으로 눌러주니까 넘어갔어요ㅠㅠ 혹시 다른 문제가 있는 걸까요?

    • 2020.09.11 11:19

      비밀댓글입니다

    • 페이지다운 2020.09.11 17:23 신고

      크롬드라이버 버전이 일치하는지 확인해 보시기 바랍니다.

    • ㅜㅜ 2020.09.11 19:47

      오늘 확인하고 설치한거라 일치해요ㅜㅜ 딱 한번 쓰고 그뒤로 못 쓰고있어요ㅠㅠ

    • 페이지다운 2020.09.11 23:34 신고

      공연 번호 알려 주시면 확인하겠습니다.

  18. ㅇㅇ 2020.09.16 17:03

    우선 감사 인사부터 드립니다! 신기하네요 ㅎㅎ
    궁금한게 회차는 어떻게 넣어야해요? 하루에 3회차가 있을 경우, 001 002 003 이런식인가요? 아니면 1,2,3? 한 회차만 있는 경우에는 공란으로 둬도 되나요?

    • 페이지다운 2020.09.16 21:09 신고

      네 그렇게 하시는 것이 맞습니다. 한 회차만 있을 경우 공란으로 둬도 무방합니다.

+ Recent posts