구글 드라이브에 있는 파일을 터미널에서 curl/wget으로 다운받기

soonbee·2020년 10월 25일
1

파일 ID 가져오기

먼저 구글드라이브에서 다운로드할 파일의 공유링크를 생성한다.

https://drive.google.com/file/d/<file-id>/view?usp=sharing

위와 같은 형식으로 생성되며 우리에게는 <file-id> 에 해당하는 부분이 필요하다.

다운로드

아래 코드를 직접 입력해도 좋고 스크립트 파일로 만들어 사용해도 좋다. file_id 에서는 공유링크를 통해 알아낸 값을 넣고 file_name 에는 다운로드 후 저장될 파일의 이름을 작성한다. (구글 드라이브에 저장된 파일의 이름과 동일하지 않아도 된다.)

file_id="1O8XjiTnwHZcsrt4TrflbBUn7J7GHMTyy"
file_name="download.file"
wget "https://drive.google.com/uc?export=download&id=${file_id}" -O ${file_name}

공유링크를 다운로드 URL로 변환해주는 웹사이트도 존재한다. https://sites.google.com/site/gdocs2direct/ 에 접속해서 공유링크를 입력하면 다운로드 URL을 생성해준다.

용량이 큰 파일

구글 드라이브에서 종종 용량이 큰 파일을 다운로드하는 경우 바이러스 검사를 진행할 수 없다며 정말로 다운로드 하겠냐고 물어보는 화면이 나오는데, 이 때문에 위의 방법들로는 다운로드가 안된다. 스크립트에 변형이 조금 필요하다.

file_id="1O8XjiTnwHZcsrt4TrflbBUn7J7GHMTyy"
file_name="download.file"
curl -sc /tmp/cookie "https://drive.google.com/uc?export=download&id=${file_id}" > /dev/null
code="$(awk '/_warning_/ {print $NF}' /tmp/cookie)"
curl -Lb /tmp/cookie "https://drive.google.com/uc?export=download&confirm=${code}&id=${file_id}" -o ${file_name}

참조

0개의 댓글