Post

구글 코랩으로 드라이브에 파일을 내려받아보자

Colab에 Drive를 마운트하고 웹 파일을 청크 스트림으로 내려받아 Drive에 저장해보자

구글 코랩으로 드라이브에 파일을 내려받아보자

구글 코랩으로 드라이브에 파일을 내려받아보자

Google Colab은 무료 클라우드 Python 실행 환경이다. 내 PC 대신 구글 서버에서 코드를 돌리고 결과를 Drive에 바로 저장할 수 있다.

1. 서론 (Introduction)

  • 문제/상황 (Problem):
    • 대용량 파일을 내 PC로 직접 내려받으면 네트워크 속도와 PC 성능에 묶인다.
    • 배터리·용량 걱정 없이 백그라운드로 긴 다운로드를 돌릴 환경이 필요하다.
  • 목적 (Purpose):
    • Colab에 Google Drive를 마운트하고, 웹 파일을 청크 스트림으로 내려받아 Drive에 직접 저장한다.
  • 대상 (Target Audience):
    • 내 PC 대신 클라우드에서 다운로드를 돌리고 싶은 개발자

2. 방법 및 과정 (Methods & Process)

  • 배경 조사 및 데이터 (Data Collection):
    • Colab의 실행 환경은 Ubuntu 기반 가상 머신이다. 세션이 끊기면 /content/ 아래 파일은 사라진다. Drive를 마운트하면 /content/drive/MyDrive/가 영구 저장소 역할을 한다.
항목
기본 RAM12 GB
디스크(/content/)~100 GB (임시)
Drive 마운트 경로/content/drive/MyDrive/
무료 GPUT4 (사용량 제한 있음)
  • 접근 방법 (Approach Methods):
    • [방법 1]: Drive 마운트로 영구 저장소 확보 — drive.mount("/content/drive")/content/drive/MyDrive/를 로컬 경로처럼 연결한다.
    • [방법 2]: requests 청크 스트림 다운로드 — stream=True로 응답을 열어 iter_content로 청크 단위로 Drive 경로에 직접 써서 메모리 부담 없이 대용량 파일을 저장한다.
  • 분석 및 해결 프로세스 (Analysis Flow):
    • 도구/기술: Python, google-colab, requests
    • 주요 단계: drive.mount("/content/drive") $\rightarrow$ 저장 폴더 생성 $\rightarrow$ requests 청크 스트림 → Drive 경로에 쓰기 $\rightarrow$ 파일 목록 확인
    • 결과 도출 및 검증: 공개 샘플 URL 실행 → Drive/downloads/sample.mp4 저장 완료.

3. 결과 (Results)

  • 분석 결과 요약:
    • Drive를 마운트하면 /content/drive/MyDrive/가 로컬 디렉터리처럼 동작한다. pathlib.Path로 경로를 다루면 일반 파일 코드와 차이가 없다.
    • Colab 세션이 끊겨도 Drive에 저장된 파일은 유지된다.
    • 무료 플랜에서도 세션당 수 시간 실행되므로 대용량 파일 한 번 내려받기에는 충분하다.

4. 인사이트 및 액션 (Insights & Action)

  • 인사이트 (Insight):
    • drive.mount()는 구글 계정 인증 팝업이 한 번 뜬다. 이후엔 같은 세션 안에서 재마운트 없이 계속 쓸 수 있다.
    • Drive I/O는 로컬 SSD보다 느리다. 수백 MB 이상 파일은 청크 크기를 1 MB 이상으로 키우면 쓰기 오버헤드가 줄어든다.
    • Colab 무료 플랜은 유휴 90분, 최대 12시간 세션 제한이 있다. 장시간 다운로드는 Pro 플랜을 쓰거나 중간에 keepalive를 걸어야 한다.
  • 실행 방안 (Action Plan):
    • 샘플 코드를 Colab에 열고 SAMPLE_URL만 내려받을 주소로 교체해 실행한다.
  • 한 줄 결론 (Key Takeaway):
    • Colab에 Drive를 마운트하면 내 PC 자원 없이 클라우드에서 파일을 내려받아 영구 저장할 수 있다. 샘플 코드
  • 다음 스텝 (Next Step):
    • 직접 URL을 넣어야 하는 이 방식은 영상 플랫폼처럼 재생 URL이 토큰·만료 파라미터 뒤에 숨어있는 경우엔 쓸 수 없다. 이런 사이트는 URL을 직접 추출하는 대신 전용 추출 라이브러리를 거쳐야 한다.
This post is licensed under CC BY 4.0 by the author.