python downloader_[Python]Download from google drive

import requests

def progress_bar(some_iter):

try:

from tqdm import tqdm

return tqdm(some_iter)

except ModuleNotFoundError:

return some_iter

def download_file_from_google_drive(id, destination):

print("Trying to fetch {}".format(destination))

def get_confirm_token(response):

for key, value in response.cookies.items():

if key.startswith('download_warning'):

return value

return None

def save_response_content(response, destination):

CHUNK_SIZE = 32768

with open(destination, "wb") as f:

for chunk in progress_bar(response.iter_content(CHUNK_SIZE)):

if chunk: # filter out keep-alive new chunks

f.write(chunk)

URL = "https://docs.google.com/uc?export=download"

session = requests.Session()

response = session.get(URL, params = { 'id' : id }, stream = True)

token = get_confirm_token(response)

if token:

params = { 'id' : id, 'confirm' : token }

response = session.get(URL, params = params, stream = True)

save_response_content(response, destination)

if __name__ == "__main__":

import sys

if len(sys.argv) is not 3:

print("Usage: python download.py drive_file_id destination_file_path")

else:

# TAKE ID FROM SHAREABLE LINK

file_id = sys.argv[1]

# DESTINATION FILE ON YOUR DISK

destination = sys.argv[2]

download_file_from_google_drive(file_id, destination)

# Yelp Reviews dataset

mkdir -p $HERE/yelp

if [ ! -f $HERE/yelp/raw_train.csv ]; then

python download.py 1xeUnqkhuzGGzZKThzPeXe2Vf6Uu_g_xM $HERE/yelp/raw_train.csv # 12536

fi

if [ ! -f $HERE/yelp/raw_test.csv ]; then

python download.py 1G42LXv72DrhK4QKJoFhabVL4IU6v2ZvB $HERE/yelp/raw_test.csv # 4

fi

if [ ! -f $HERE/yelp/reviews_with_splits_lite.csv ]; then

python download.py 1Lmv4rsJiCWVs1nzs4ywA9YI-ADsTf6WB $HERE/yelp/reviews_with_splits_lite.csv # 1217

fi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值