import requests import os import zipfile def download_and_unzip(url, zip_path, extract_to): print(f"Downloading {url}...") try: response = requests.get(url, stream=True, timeout=60) response.raise_for_status() with open(zip_path, 'wb') as f: for chunk in response.iter_content(chunk_size=8192): f.write(chunk) print(f"Downloaded to {zip_path}") print(f"Extracting to {extract_to}...") with zipfile.ZipFile(zip_path, 'r') as zip_ref: zip_ref.extractall(extract_to) print("Extraction complete.") except Exception as e: print(f"An error occurred: {e}") if __name__ == "__main__": url = "https://huggingface.co/datasets/Morning5/Gaze360/resolve/main/Gaze_txt_files.zip" data_dir = "data/raw/gaze360_labels" os.makedirs(data_dir, exist_ok=True) zip_path = os.path.join(data_dir, "Gaze_txt_files.zip") download_and_unzip(url, zip_path, data_dir)