Last active
July 26, 2022 16:47
-
-
Save Grace-Amondi/5d043f91bb03a251bff653a1601a708d to your computer and use it in GitHub Desktop.
Batch File Download
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import requests | |
from requests.models import HTTPBasicAuth | |
from multiprocessing.pool import ThreadPool | |
from tqdm import tqdm | |
def download_url(url): | |
# get file output name from path | |
out_name = url.split("/")[-1] | |
r = requests.get(url, auth=HTTPBasicAuth("username", "password"), stream=True) | |
# progress bar | |
total_size_in_bytes= int(r.headers.get('content-length', 0)) | |
block_size = 1024 #1 Kibibyte | |
progress_bar = tqdm(total=total_size_in_bytes, unit='iB', unit_scale=True) | |
if r.status_code == requests.codes.ok: | |
with open("data/"+out_name, 'wb') as f: | |
for data in r.iter_content(block_size): | |
progress_bar.update(len(data)) | |
f.write(data) | |
# progress bar | |
progress_bar.close() | |
if total_size_in_bytes != 0 and progress_bar.n != total_size_in_bytes: | |
print("ERROR, something went wrong") | |
return url | |
with open("link.txt", "r") as f: | |
links = f.readlines() | |
dwnld_links = [] | |
for link in links: | |
link_fmt = link.strip() | |
dwnld_links.append(link_fmt) | |
# Run 5 multiple threads. Each call will take the next element in urls list | |
results = ThreadPool(5).imap_unordered(download_url, dwnld_links) | |
for r in results: | |
print(r) | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_S12E030_Map/ESA_WorldCover_10m_2020_v100_S12E030_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_S09E030_Map/ESA_WorldCover_10m_2020_v100_S09E030_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_S06E030_Map/ESA_WorldCover_10m_2020_v100_S06E030_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_S03E030_Map/ESA_WorldCover_10m_2020_v100_S03E030_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_S12E033_Map/ESA_WorldCover_10m_2020_v100_S12E033_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_S09E033_Map/ESA_WorldCover_10m_2020_v100_S09E033_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_S06E033_Map/ESA_WorldCover_10m_2020_v100_S06E033_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_S03E033_Map/ESA_WorldCover_10m_2020_v100_S03E033_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_S03E036_Map/ESA_WorldCover_10m_2020_v100_S03E036_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N00E033_Map/ESA_WorldCover_10m_2020_v100_N00E033_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N00E036_Map/ESA_WorldCover_10m_2020_v100_N00E036_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N03E033_Map/ESA_WorldCover_10m_2020_v100_N03E033_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N03E036_Map/ESA_WorldCover_10m_2020_v100_N03E036_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N06E033_Map/ESA_WorldCover_10m_2020_v100_N06E033_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N06E036_Map/ESA_WorldCover_10m_2020_v100_N06E036_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N09E033_Map/ESA_WorldCover_10m_2020_v100_N09E033_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_S09E027_Map/ESA_WorldCover_10m_2020_v100_S09E027_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_S06E027_Map/ESA_WorldCover_10m_2020_v100_S06E027_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_S03E027_Map/ESA_WorldCover_10m_2020_v100_S03E027_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N00E027_Map/ESA_WorldCover_10m_2020_v100_N00E027_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N00E030_Map/ESA_WorldCover_10m_2020_v100_N00E030_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N03E030_Map/ESA_WorldCover_10m_2020_v100_N03E030_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N06E027_Map/ESA_WorldCover_10m_2020_v100_N06E027_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N06E030_Map/ESA_WorldCover_10m_2020_v100_N06E030_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N03E024_Map/ESA_WorldCover_10m_2020_v100_N03E024_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N03E027_Map/ESA_WorldCover_10m_2020_v100_N03E027_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N06E021_Map/ESA_WorldCover_10m_2020_v100_N06E021_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N06E024_Map/ESA_WorldCover_10m_2020_v100_N06E024_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N09E021_Map/ESA_WorldCover_10m_2020_v100_N09E021_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N09E024_Map/ESA_WorldCover_10m_2020_v100_N09E024_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N12E021_Map/ESA_WorldCover_10m_2020_v100_N12E021_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N12E024_Map/ESA_WorldCover_10m_2020_v100_N12E024_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N09E027_Map/ESA_WorldCover_10m_2020_v100_N09E027_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N09E030_Map/ESA_WorldCover_10m_2020_v100_N09E030_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N12E027_Map/ESA_WorldCover_10m_2020_v100_N12E027_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N12E030_Map/ESA_WorldCover_10m_2020_v100_N12E030_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N15E021_Map/ESA_WorldCover_10m_2020_v100_N15E021_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N15E024_Map/ESA_WorldCover_10m_2020_v100_N15E024_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N18E024_Map/ESA_WorldCover_10m_2020_v100_N18E024_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N18E027_Map/ESA_WorldCover_10m_2020_v100_N18E027_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N15E027_Map/ESA_WorldCover_10m_2020_v100_N15E027_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N15E030_Map/ESA_WorldCover_10m_2020_v100_N15E030_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N18E030_Map/ESA_WorldCover_10m_2020_v100_N18E030_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N21E027_Map/ESA_WorldCover_10m_2020_v100_N21E027_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N21E024_Map/ESA_WorldCover_10m_2020_v100_N21E024_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_S12E036_Map/ESA_WorldCover_10m_2020_v100_S12E036_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_S12E039_Map/ESA_WorldCover_10m_2020_v100_S12E039_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_S09E036_Map/ESA_WorldCover_10m_2020_v100_S09E036_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_S09E039_Map/ESA_WorldCover_10m_2020_v100_S09E039_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_S06E036_Map/ESA_WorldCover_10m_2020_v100_S06E036_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_S06E039_Map/ESA_WorldCover_10m_2020_v100_S06E039_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_S03E039_Map/ESA_WorldCover_10m_2020_v100_S03E039_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N00E039_Map/ESA_WorldCover_10m_2020_v100_N00E039_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_S03E042_Map/ESA_WorldCover_10m_2020_v100_S03E042_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N00E042_Map/ESA_WorldCover_10m_2020_v100_N00E042_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N00E045_Map/ESA_WorldCover_10m_2020_v100_N00E045_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N03E042_Map/ESA_WorldCover_10m_2020_v100_N03E042_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N03E045_Map/ESA_WorldCover_10m_2020_v100_N03E045_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N03E048_Map/ESA_WorldCover_10m_2020_v100_N03E048_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N06E042_Map/ESA_WorldCover_10m_2020_v100_N06E042_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N06E045_Map/ESA_WorldCover_10m_2020_v100_N06E045_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N03E039_Map/ESA_WorldCover_10m_2020_v100_N03E039_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N06E039_Map/ESA_WorldCover_10m_2020_v100_N06E039_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N09E036_Map/ESA_WorldCover_10m_2020_v100_N09E036_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N09E039_Map/ESA_WorldCover_10m_2020_v100_N09E039_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N06E048_Map/ESA_WorldCover_10m_2020_v100_N06E048_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N09E042_Map/ESA_WorldCover_10m_2020_v100_N09E042_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N09E045_Map/ESA_WorldCover_10m_2020_v100_N09E045_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N09E048_Map/ESA_WorldCover_10m_2020_v100_N09E048_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N09E051_Map/ESA_WorldCover_10m_2020_v100_N09E051_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N12E042_Map/ESA_WorldCover_10m_2020_v100_N12E042_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N12E039_Map/ESA_WorldCover_10m_2020_v100_N12E039_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N15E036_Map/ESA_WorldCover_10m_2020_v100_N15E036_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N15E039_Map/ESA_WorldCover_10m_2020_v100_N15E039_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N18E036_Map/ESA_WorldCover_10m_2020_v100_N18E036_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N12E033_Map/ESA_WorldCover_10m_2020_v100_N12E033_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N12E036_Map/ESA_WorldCover_10m_2020_v100_N12E036_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N15E033_Map/ESA_WorldCover_10m_2020_v100_N15E033_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N18E033_Map/ESA_WorldCover_10m_2020_v100_N18E033_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N21E030_Map/ESA_WorldCover_10m_2020_v100_N21E030_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N21E033_Map/ESA_WorldCover_10m_2020_v100_N21E033_Map.tif | |
https://services.terrascope.be/download/WORLDCOVER/ESA_WORLDCOVER_10M_2020_V100/MAP/ESA_WorldCover_10m_2020_v100_N21E036_Map/ESA_WorldCover_10m_2020_v100_N21E036_Map.tif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
requests==2.26.0 | |
tqdm==4.62.3 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment