Рубрики
Без рубрики

Python – скачать файл с URL

Загрузка файла с URL – очень распространенная задача в сценариях Python. Пример реального качества – это загружать изображения с веб-сайта в локальную систему, а затем

Автор оригинала: Pankaj Kumar.

Загрузка файла с URL – очень распространенная задача в сценариях Python. Пример реального качества – это загрузить изображения с веб-сайта в локальную систему, а затем обработать его в нашей программе Python.

В этом руководстве мы узнаем разные способы скачивания файла с URL в Python.

Использование библиотеки запросов для скачивания файла из URL в сценариях Python

Если ваше требование состоит в том, чтобы получить файл с данного URL-адреса, используя запрос HTTP, то модуль запросов Python идеально подходит для вас.

import requests

file_url = 'https://www.journaldev.com/wp-content/uploads/2019/08/Python-Tutorial.png'

file_object = requests.get(file_url)

with open('Python-Tutorial.png', 'wb') as local_file:
    local_file.write(file_object.content)

Файл будет загружен в том же каталоге, что и скрипт Python. Если вы хотите изменить местоположение каталога, вы можете предоставить полный путь или относительный путь в вызове функций Open ().

Рекомендуемое чтение : Python с выписком

Linux aficionado? Используйте библиотеку Python WGET для скачивания файла с URL

Если вы любите команды Linux и хотите иметь подобный вкус в вашей программе Python, вы можете использовать библиотеку Wget для загрузки файла с URL.

Библиотека WGET Python Wget не является частью установки по умолчанию, поэтому вы можете установить его с помощью диспетчера пакетов PIP.

# pip install wget

Вот программа Python для загрузки файла из URL с помощью библиотеки WGET.

import wget

file_url = 'https://www.journaldev.com/wp-content/uploads/2019/08/Python-Tutorial.png'

dest_file = '/Users/pankaj/pt.png'

wget.download(file_url, dest_file)

Аргумент файла назначения не является обязательным. Если мы не будем предоставлять, то, то файл будет сохранен в том же каталоге, что и сценарий, и имя файла будет таким же, как имя удаленного файла.

Загрузка файла с URL, который перенаправляет

Иногда мы получаем короткие URL-адреса, которые перенаправляют на фактический файл. Метод Get () библиотеки запросов автоматически следует перенаправить и загрузить фактический файл. Если вы посмотрите на реализацию GET (), он устанавливает allow_redirets Параметр как Правда Отказ

def get(url, params=None, **kwargs):
    kwargs.setdefault('allow_redirects', True)
    return request('get', url, params=params, **kwargs)

Загрузка большого файла из URL в Python

Если файл большой, то не очень хорошая идея получить все контент в одном. Это потребует много памяти и может вызвать ошибку памяти.

Мы можем пройти поток = правда Чтобы запросить метод get (), чтобы открыть файл поток и загрузить его в куски. Затем мы можем использовать цикл для чтения кусочков и записывать его в локальный файл.

import requests

file_url = 'https://www.journaldev.com/wp-content/uploads/2019/08/Python-Tutorial.png'

file_stream = requests.get(file_url, stream=True)

with open('Python-Tutorial.png', 'wb') as local_file:
    for data in file_stream:
        local_file.write(data)

print('Done')

Заключение

Очень легко загрузить файл с URL в Python. Модуль запросов идеально подходит для него. Мы также можем указать методы HTTP для загрузки файла.

Ссылка : Запрашивает модуль Официальные документы