구글 코랩으로 드라이브에 파일을 내려받아보자
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/가 영구 저장소 역할을 한다.
- Colab의 실행 환경은 Ubuntu 기반 가상 머신이다. 세션이 끊기면
| 항목 | 값 |
|---|---|
| 기본 RAM | 12 GB |
디스크(/content/) | ~100 GB (임시) |
| Drive 마운트 경로 | /content/drive/MyDrive/ |
| 무료 GPU | T4 (사용량 제한 있음) |
- 접근 방법 (Approach Methods):
- [방법 1]: Drive 마운트로 영구 저장소 확보 —
drive.mount("/content/drive")로/content/drive/MyDrive/를 로컬 경로처럼 연결한다. - [방법 2]: requests 청크 스트림 다운로드 —
stream=True로 응답을 열어iter_content로 청크 단위로 Drive 경로에 직접 써서 메모리 부담 없이 대용량 파일을 저장한다.
- [방법 1]: 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에 저장된 파일은 유지된다.
- 무료 플랜에서도 세션당 수 시간 실행되므로 대용량 파일 한 번 내려받기에는 충분하다.
- Drive를 마운트하면
4. 인사이트 및 액션 (Insights & Action)
- 인사이트 (Insight):
drive.mount()는 구글 계정 인증 팝업이 한 번 뜬다. 이후엔 같은 세션 안에서 재마운트 없이 계속 쓸 수 있다.- Drive I/O는 로컬 SSD보다 느리다. 수백 MB 이상 파일은 청크 크기를 1 MB 이상으로 키우면 쓰기 오버헤드가 줄어든다.
- Colab 무료 플랜은 유휴 90분, 최대 12시간 세션 제한이 있다. 장시간 다운로드는 Pro 플랜을 쓰거나 중간에 keepalive를 걸어야 한다.
- 실행 방안 (Action Plan):
- 샘플 코드를 Colab에 열고
SAMPLE_URL만 내려받을 주소로 교체해 실행한다.
- 샘플 코드를 Colab에 열고
- 한 줄 결론 (Key Takeaway):
- Colab에 Drive를 마운트하면 내 PC 자원 없이 클라우드에서 파일을 내려받아 영구 저장할 수 있다. 샘플 코드
- 다음 스텝 (Next Step):
- 직접 URL을 넣어야 하는 이 방식은 영상 플랫폼처럼 재생 URL이 토큰·만료 파라미터 뒤에 숨어있는 경우엔 쓸 수 없다. 이런 사이트는 URL을 직접 추출하는 대신 전용 추출 라이브러리를 거쳐야 한다.
This post is licensed under CC BY 4.0 by the author.