Как скачать файлы в Python

Как скачать файлы в Python

От автора: Python предоставляет несколько способов загрузки файлов из Интернета. Это можно сделать через HTTP, используя пакет urllib или библиотеку requests. В этом руководстве мы рассмотрим, как использовать эти библиотеки для загрузки файлов с URL-адресов с помощью Python.

requests

Библиотека requests является одной из самых популярных библиотек в Python. Она позволяет отправлять HTTP / 1.1 запросы без необходимости вручную добавлять строки запросов к URL-адресам или кодировать данные в форме POST. С помощью библиотеки requests вы можете выполнять множество вещей, в том числе:

добавление данных формы,

добавление составных файлов,

и доступ к данным ответа Python

Профессия Python-разработчик

Освойте наиболее востребованную IT профессию

На Python пишут веб-приложения и нейросети, проводят научные вычисления и автоматизируют процессы. Язык просто выучить, даже если вы никогда не программировали. На курсе вы создадите Telegram-бота, полноценный магазин и аналог популярной соцсети для портфолио, а Центр карьеры поможет найти работу Python-разработчиком.

Командная стажировка под руководством тимлида
80 000 рублей зарплата начинающего Python-разработчика
3 проекта в портфолио для старта карьеры

Выполнение запросов

Первое, что вам нужно сделать, это установить библиотеку:

Чтобы проверить, была ли установка успешной, вы можете выполнить очень простой тест в интерпретаторе python, просто набрав:

Если установка прошла успешно, ошибок не будет.

HTTP-запросы включают в себя:

GET

POST

PUT

DELETE

OPTIONS

HEAD

Создание запроса GET

Вы можете выполнять запросы очень просто.

Приведенная выше команда получит веб-страницу Google и сохранит информацию в переменной req. Затем мы можем получить другие атрибуты. Например, чтобы узнать, была ли загрузка веб-страницы Google успешной, мы запросим код status_code.

Что, если мы хотим выяснить тип кодировки веб-страницы Google?

Вы также можете узнать содержание ответа.

Это только усеченное содержание ответа.

Создание запроса POST

В общем, запрос POST используется для создания или обновления данных. Особенно при отправке данных форм.

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

Создание запроса PUT

Запрос PUT похож на POST. Он используется для обновления данных. Например, API ниже демонстрирует, как выполнить PUT-запрос.

Создание запроса DELETE

Запрос DELETE, как следует из названия, используется для удаления данных. Ниже приведен пример DELETE-запроса.

Пакет urllib

urllib это пакет, который собирает несколько модулей для работы с URL-адресами, а именно:

urllib.request для открытия и чтения URL.

urllib.error содержит исключения, поднятые urllib.request

urllib.parse для разбора URL-адресов.

urllib.robotparser для разбора файлов robots.txt.

urllib.request предлагает очень простой интерфейс в виде функции urlopen, способной извлекать URL-адреса с использованием различных протоколов. Она также предлагает немного более сложный интерфейс для обработки базовой аутентификации, файлов cookie, прокси и т. д.

Как получить URL с помощью urllib

Простейший способ использовать urllib.request заключается в следующем:

Если вы хотите получить интернет-ресурс и сохранить его, вы можете сделать это с помощью функции urlretrieve().

Загрузка изображений с помощью Python

В этом примере мы хотим загрузить изображение, доступное по этой ссылке, используя как библиотеку запроса, так и модуль urllib.

Скачивание PDF файлы с помощью Python

В этом примере мы скачиваем PDF-файл о трендах Google по этой ссылке.

Скачивание Zip файлов с помощью Python

В этом примере мы собираемся скачать содержимое репозитория GitHub, расположенного по этой ссылке, и сохранить файл локально.

Скачивание видео с помощью Python

В этом примере мы хотим скачать видео-лекцию, доступную на этой странице.

Заключение

В этом руководстве рассматриваются наиболее часто используемые методы загрузки файлов, а также наиболее распространенные форматы. Несмотря на то, что вы будете писать меньше кода при использовании модуля urllib, предпочтительно использовать модуль requests из-за его простоты, популярности и широкого спектра функций, включая:

Поддерживаемый поллинг

Международные домены и URL-адреса

Сессии с сохранением Cookie

Верификация SSL как в браузере

Автоматическое декодирование контента

Базовая / дайджест-аутентификация

Элегантные куки ключ / значение

Автоматическая декомпрессия

Тела ответа Unicode

Поддержка HTTP(S) Proxy

Загрузка нескольких файлов

Потоковые загрузки

Время ожидания подключения

Чанкированные запросы

Поддержки .netrc

Автор: Esther Vaati

Источник: //code.tutsplus.com

Профессия Python-разработчик

Освойте наиболее востребованную IT профессию

На Python пишут веб-приложения и нейросети, проводят научные вычисления и автоматизируют процессы. Язык просто выучить, даже если вы никогда не программировали. На курсе вы создадите Telegram-бота, полноценный магазин и аналог популярной соцсети для портфолио, а Центр карьеры поможет найти работу Python-разработчиком.

Командная стажировка под руководством тимлида
80 000 рублей зарплата начинающего Python-разработчика
3 проекта в портфолио для старта карьеры

Редакция: Команда webformyself.

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии (4)