본문 바로가기

카테고리 없음

웹에서 트위터 스페이스 다운로드하기 (with Colab)

이 문서는 트위터 스페이스(Twitter Space)를 프로그램 설치 없이 웹에서 다운로드 하는 방법을 서술합니다.

 

7월 1일부로 트위터를 비로그인 상태로 볼 수 없게 되면서(https://twitter.com/elonmusk/status/1674865731136020505) 기존 스페이스 다운로드 코드들(twspace-dl)이 작동을 하지 않게 되었습니다. 

 

대체 코드가 나왔지만(twspace-crawler) Node.js, FFMPEG 같은 추가 프로그램을 설치해야 하기 때문에 일반인들이 따라하기 어렵습니다. 따라서 해당 프로그램 설치 없이 웹브라우저에서 쉽게 이용할 수 있는 코드를 공유하겠습니다.

 

Ⅰ. Colab 접속

https://colab.research.google.com/github/Buddha7771/twspace-colab/blob/main/twspace_colab.ipynb

 

twspace_colab.ipynb

Run, share, and edit Python notebooks

colab.research.google.com

 

위 링크로 들어가 코랩에 접속합니다. 구글 계정에 로그인하고 프로필 아이콘 밑에 있는 연결 버튼을 클릭합니다.

 

 

Ⅱ. GET Master URL

트위터 스페이스가 종료되어도 음성 파일(m4a)은 트위터 서버에 한동안 남아있습니다. 해당 파일을 다운로드 할 수 있는 링크가 Master URL입니다. 따라서 Master URL만 추출한다면 스페이스가 끝나고 다운로드할 수 있기 때문에 녹음할 필요가 없어집니다.

 

Master URL을 얻는 방법은 2가지가 있습니다.

첫 번째 방법은 트위터 쿠키(로그인 정보)를 가져와 링크를 얻는 방법으로 다소 귀찮지만 처음 한번만 하면 됩니다.

두 번째 방법은 웹페이지에서 직접 링크를 긁어오는 방법으로 좀 더 간편하지만 매번 반복해야 합니다.

 

1. 트위터 쿠키 가져와 Master URL 얻기

크롬에서 트위터 로그인 후 F12를 눌러 개발자 도구를 열고 애플리케이션 탭으로 이동합니다. 쿠키 목록에서 https://twitter.com를 눌러 트위터 쿠키 값을 불러옵니다. 쿠키 중 'ct0'와 'auth_token' 값을 복사하여 메모장 등에 기록합니다. 

 

쿠키는 한번만 가져오면 되기 때문에 다음부턴 이 단계를 스킵할 수 있습니다.

 

코랩에 돌아와 첫번째 코드셀에 'ct0'와 'auth_token' 값을 입력합니다. 

 

진행 중인 스페이스에서 공유 버튼을 눌러 스페이스 링크를 복사합니다. 완료된 스페이스는 다운로드 할 수 없습니다. 

 

다시 코랩에 돌아와 'Space_URL'에 링크를 붙여 넣고 좌측 실행 버튼을 클릭합니다. 아래 출력된 'https://prod-fastly⋯'로 시작되는 링크가 Master URL입니다. 해당 링크를 메모장 등에 기록합니다.

 

2. 웹페이지에서 직접 Master URL 긁어오기

크롬에서 스페이스 접속 후 F12를 눌러 개발자 도구를 열고 네트워크 탭으로 이동합니다. 'FETCH/XHR' 버튼을 누르고 아래 목록 중 'dynamic_playlist.m3u8'로 시작하는 행을 클릭합니다. 

 

우측 'https://prod-fastly⋯'로 시작되는 링크가 Master URL입니다. 해당 링크를 메모장 등에 기록합니다.

 

Ⅲ. Download Space m4a

두 번째 코드셀에 'Master_URL'을 입력하고 실행 버튼을 클릭하면 다운로드가 진행됩니다. 스페이스 진행 중은 물론 완료 후에도 가능합니다. '구글_드라이브로_업로드' 버튼을 누르면 구글 드라이브로 연동되어 파일이 딜레이 없이 업로드 됩니다.

 

 

위 과정을 통해 트위터 스페이스 m4a 파일을 다운로드 해봤습니다. 복잡할 수 있지만 익숙해지면 매우 간편하게 이용할 수 있습니다. 현재 방식은 매번 수동으로 Master URL을 추출해야 하지만 기회가 되면 자동으로 Master URL을 추출하는 코드를 공유하도록 하겠습니다.