Python Requests: полное руководство по HTTP-запросам > Спикер: Corey Schafer | Длительность: 25:00 Ключевые идеи 1. Requests — самый скачиваемый пакет Python — библиотека предоставляет простой интерфейс для HTTP-запросов и является стандартом де-факто для работы с вебом в Python. 2. GET-запросы — основа взаимодействия с веб-страницами — метод requests.get() возвращает объект Response с кодом состояния, заголовками и телом ответа. 3. Коды состояния HTTP определяют результат запроса — 200 означает успех, 4xx — ошибку клиента, 5xx — ошибку сервера; проверяйте response.ok. 4. Работа с JSON через встроенный метод .json() — автоматический парсинг JSON-ответа в словарь Python без ручной обработки. 5. Параметры запроса передаются через словарь params — безопасная и читаемая альтернатива ручному формированию URL. 6. Загрузка файлов через response.content — бинарное содержимое ответа позволяет скачивать изображения, PDF и другие файлы. 7. POST-запросы для отправки данных — аргументы data и json позволяют отправлять формы и JSON-данные на сервер. 8. Заголовки настраивают поведение запроса — User-Agent, Authorization и другие заголовки через аргумент headers. 9. Аутентификация через auth — встроенная поддержка Basic Auth и возможность передачи токенов в заголовках. 10. Таймауты предотвращают зависание — всегда задавайте timeout при работе с внешними сервисами. Транскрипт Введение в библиотеку Requests Библиотека requests позволяет легко выполнять HTTP-запросы для получения информации с веб-сайтов. Это самый скачиваемый пакет Python, и на то есть веские причины — он делает работу с HTTP простой и интуитивной. Requests предоставляет методы для всех основных HTTP-операций: GET для получения данных, POST для отправки, PUT для обновления и DELETE для удаления. Объект Response, возвращаемый каждым методом, содержит всю информацию об ответе сервера: статус-код, заголовки, тело ответа в текстовом и бинарном виде, а также метод .json() для автоматического парсинга JSON. Практическое применение Основные сценарии использования: получение веб-страниц и парсинг данных, работа с REST API, загрузка файлов и изображений, отправка данных форм и JSON, аутентификация на сервисах. Практические задания Задание 1: Получение и анализ веб-страницы Выполните GET-запрос к любому публичному сайту с помощью requests.get(). Выведите статус-код, заголовки ответа и первые 500 символов текста страницы. Проверьте response.ok и response.status_code. Попробуйте запросить несуществующую страницу и обработайте ошибку 404. Задание 2: Работа с публичным JSON API Используйте API httpbin.org или jsonplaceholder.typicode.com для практики. Отправьте GET-запрос, получите JSON-ответ методом .json() и извлеките конкретные поля из словаря. Передайте параметры через аргумент params. Задание 3: Загрузка изображения из интернета Найдите URL любого изображения. Скачайте его с помощью requests.get() и сохраните на диск через response.content в бинарном режиме записи. Добавьте проверку статус-кода перед сохранением. Задание 4: Отправка POST-запроса с данными Отправьте POST-запрос на httpbin.org/post с данными формы через аргумент data, затем через json. Сравните ответы сервера. Задание 5: Скрипт мониторинга доступности сайтов Создайте скрипт, который проверяет доступность списка URL с таймаутом 5 секунд и выводит статус каждого сайта. Лучшие цитаты > «Библиотека requests позволяет нам легко выполнять HTTP-запросы для получения информации с веб-сайтов» — Corey Schafer > «Я считаю, что это самый скачиваемый пакет Python, и на то есть веские причины» — Corey Schafer