• 목록
  • 아래로
  • 위로

※ 법적 문제의 소지가 있어 구체적인 스크립트는 기재하지 않습니다.

 

 

CGV 홈페이지에서 새로운 날짜의 티켓이 오픈하였는지 여부를 크롤링하여

 

원하는 좌석을 예매하려는 분들이 많이 계시는 것으로 알고 있습니다.

 

구글링해보면 CGV 홈페이지가 개편된 이후에 Python Requests로 크롤링하는 것이 막혔다는 취지의 글들이 있습니다.

 

하지만 여전히 Selenium을 사용하지 않고도 가능합니다!!

 

제 사견으로는 Requests로 크롤링이 가능한 웹페이지를 Selenium으로 크롤링한다면,

 

빈대를 잡으려 초가삼간을 태우는 격으로서 사실상 크롤링에 실패한 것으로 봅니다.

 

 

크롤링 방법에 대한 요지를 말씀드리면 다음과 같습니다.

 

(URL 생략) GetScheduleSearchKey에 POST 전송을 할 때 headers를 적절히 넣는 것이 핵심입니다.

 

특히 cookies 관련하여 ASP.NET_SessionId를 다른 URL에서 받아오던지 해서 잘 넣어줘야 합니다.

 

URL_PREV_COMMON은 꼼꼼하게 보지 않으므로 적당히 넣어주면 됩니다.

 

참고로 최근에 홈페이지가 개편된 사이트 중 상당수는 cookies를 조작하면 여전히 Requests로 크롤링이 가능합니다.

(ex. 교보문고)

 

 

그리고 기술적이라기보다는 실무적인 문제에 가깝지만 CGV 측에서 간혹 날짜를 건너뛰어서 티켓을 오픈하는 경우가 있습니다.

 

예컨대 2023. 8. 7. 시점에서 2023. 8. 14.부터 2023. 8. 21.까지의 티켓 및 2023. 8. 28.일 자의 티켓이 오픈되는 경우가 있습니다.

 

단순히 예매 가능한 마지막 날짜만 크롤링하여 받아오면 2023. 8. 23.일 자의 영화를 예매하려고 할 때 낭패를 볼 수 있으니 참고하세요 ^-^

 

작성자
이니스프리 119 Lv. (2%) 4154510/115200000EXP

Make StudyForUs Great Again!

 

CSVpuymXAAAVVpd.jpg

댓글 0

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 시스템 점검 작업 완료 안내 10 마스터 마스터 24.09.05.16:25 2058
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 마스터 23.01.14.02:23 8850
560 [Python] installing Geopandas in Windows (Trouble shooting) 이니스프리 이니스프리 6일 전20:10 67
559 [Nextcloud] 프로세스가 kill 되는 문제에 관한 Troubleshooting 3 이니스프리 이니스프리 24.09.30.19:53 100
558 [펌] Contabo VPS 관련 최근 정보글 image 이니스프리 이니스프리 24.09.29.21:11 114
557 [Python] PDF 파일을 특정 페이지를 기준으로 두 개로 나누기 이니스프리 이니스프리 24.08.11.20:27 624
556 [Python] Youtube API를 사용하지 않고 특정 채널의 모든 비디오 URL을 가져오기 이니스프리 이니스프리 24.06.09.22:12 236
555 HDMI 단자의 QHD 출력을 정식으로 지원하지 않는 NVIDIA 그래픽 카드로 QHD 60 Hz 해상도 출력하기 2 image 제르엘 제르엘 24.06.09.17:45 349
554 [Python] cannot import name 'TypeAliasType' from 'typing_extensions' 에러 대응방법 이니스프리 이니스프리 24.06.01.23:54 231
553 [VSCode] 1개의 OS에 VSCode 여러 개를 설치 및 구동하기 이니스프리 이니스프리 24.05.26.05:09 235
552 [Python] 리스트에 중복된 원소가 있는지 확인하는 함수 이니스프리 이니스프리 24.05.22.20:21 375
551 [Python] random 함수가 계속하여 동일한 결과를 출력할 때 해결방법 이니스프리 이니스프리 24.05.15.19:32 451
550 트래픽 절감 관련 모 커뮤니티 사이트의 회의 결과 이니스프리 이니스프리 24.05.15.16:51 420
549 [Python] SSL: CERTIFICATE_VERIFY_FAILED에 대한 대처 방법 (2) 이니스프리 이니스프리 24.05.05.21:04 413
548 [KT] 오피스넷 가정 설치 관련 이니스프리 이니스프리 24.05.05.00:28 393
547 [Python] 쿠팡 크롤링할 때 소소한 팁 이니스프리 이니스프리 24.05.02.21:50 398
546 [Python] dictionary 2개의 평균을 구하여 내림차순 정렬하기 이니스프리 이니스프리 24.04.21.17:29 300
545 [Python] 독일어, 스페인어, 체코어 등 철자를 영문 알파벳으로 전환하기 이니스프리 이니스프리 24.04.21.17:15 250
544 [Python] Tabulate 모듈로 작성한 테이블을 파일로 저장할 때 에러가 발생하는 경우 이니스프리 이니스프리 24.04.20.23:45 275
543 [Python] 변수의 이름을 반환하는 함수 이니스프리 이니스프리 24.04.20.23:29 302
542 [Python] Table을 쉽게 만들어주는 모듈x2 이니스프리 이니스프리 24.04.18.22:04 215
541 [Python] 정규식을 사용하지 않고 웹페이지의 자바스크립트를 파싱 이니스프리 이니스프리 24.04.17.21:12 430