Скачать файл и CSV данные по URL на Python

Генерируйте готовые Python скрипты для скачивания файлов: стандартный модуль urllib (без зависимостей), библиотека requests или pandas.

🐍 Стандартная библиотека Python 3 urllib • requests • pandas

Действие прямого сохранения файла

🖱️ Нажмите правой кнопкой мыши здесь и выберите «Сохранить ссылку как...»

Нажмите правой кнопкой мыши на кнопку выше и выберите «Сохранить ссылку как...», чтобы открыть системное окно сохранения.

Совет: В следующий раз вы можете сразу нажать правой кнопкой мыши на главную кнопку «Сгенерировать код» выше!
🐍 Сгенерированный скрипт Python
import urllib.request url = "https://abctool.info" urllib.request.urlretrieve(url, "downloaded_file.ext") print("Загрузка завершена!")

Узнайте, как скачивать файлы и наборы данных CSV по URL в программах на языке Python.

Как скачать файл по URL в Python (urllib vs requests)

Вы можете скачивать файлы в Python без установки сторонних библиотек с помощью встроенного модуля urllib.request:

  • Метод 1: Встроенный модуль без зависимостей
    import urllib.request
    urllib.request.urlretrieve("https://example.com/file.zip", "local_file.zip")
  • Метод 2: Популярная библиотека Requests
    import requests
    r = requests.get("https://example.com/file.zip", stream=True)
    with open("local_file.zip", "wb") as f: f.write(r.content)

Как скачать и загрузить CSV данные напрямую в Pandas

Если ссылка ведет на CSV датасет, вы можете сразу прочитать и сохранить его через Pandas:

import pandas as pd
df = pd.read_csv("https://example.com/data.csv")
df.to_csv("saved_data.csv", index=False)

Потоковая загрузка больших файлов в Python без перегрузки памяти

При загрузке файлов размером в несколько гигабайт используйте потоковую запись частями (chunks), чтобы не перегружать оперативную память:

with requests.get(url, stream=True) as r:
    with open(filename, 'wb') as f:
        for chunk in r.iter_content(chunk_size=8192):
            f.write(chunk)