글 작성자: 만렙개발자

curl/wget을 이용한 구글 드라이브 다운로드에는 한계가 있습니다.

먼저 용량의 문제입니다. 용량이 너무 클 경우 실패할 가능성이 높습니다.

그 이유는 security warning 때문인데, 겪어본 사람은 매우 짜증이납니다.

또한, 내 드라이브에 있는 것 뿐만 아니라, 공유되고 있는건까지 생각하다보면 권한의 문제가 발생합니다.

 

이러한 문제들을 위한 파이썬 패키지가 있습니다. 바로 gdown입니다.

https://github.com/wkentaro/gdown

 

wkentaro/gdown

Download a large file from Google Drive (curl/wget fails because of the security notice). - wkentaro/gdown

github.com

 

1. 설치방법

pip install gdown

2. Bash(Command line)에서 사용방법

 

위의 깃헙 페이지에 가면 다양한 방법이 제공되는데, 제게 가장 편리했던 방법을 소개하고자합니다.

 

먼저 구글 드라이브에서 공유(Share)를 하고, 그 url을 copy하여 사용하는 방법입니다. 제게는 이 방법이 가장 편리하더라구요!

 

https://drive.google.com/open?id=1Bvn4NYnCk2G5oTzC_jb8aPeV-ayl6vJzC_-Px0jtsT4

 

링크 주소를 보면, open?id= 이라고 되어있습니다. 이 부분의 open을 uc로만 바꾸거 입력해주면 됩니다.

$ gdown https://drive.google.com/uc?id=1Bvn4NYnCk2G5oTzC_jb8aPeV-ayl6vJzC_-Px0jtsT4

 

3. Python 코드에서 사용방법

 

마찬가지로 open을 uc로 바꾸거 사용해주면 됩니다.

import gdown

url = 'https://drive.google.com/uc?id=0B9P1L--7Wd2vU3VUVlFnbTgtS2c'
output = 'spam.txt'
gdown.download(url, output, quiet=False)

 

 

wget을 사용하는 경우 speed limit 옵션을 사용할 수 있지만, gdown에서는 구현이되어있지 않았습니다.

저는 속도 제한이 필요한 환경에 있어서, 이 기능이 너무 필요했습니다. 관련 사항을 issue에 등록하였고, 오늘! 그것이 해결되면서 gdown을 소개하는 글을 쓰는데까지 이르게 되었네요 :)

 

closed된 해당 이슈는 이것이구요,

https://github.com/wkentaro/gdown/issues/23

 

Would you mind adding an option for a speed limit? · Issue #23 · wkentaro/gdown

Would you mind adding an option for a speed limit?

github.com

gdown <URL> --speed 1MB

--speed 라는 옵션이 추가되었습니다 :)