Python Requests: полное руководство по HTTP-запросам
Практическое руководство по библиотеке Python Requests: HTTP-запросы, загрузка данных, работа с JSON и отправка POST-запросов.
Для AI-агентов и LLM
Экстракт доступен в структурированном Markdown. Скачать .md · JSON API · Site index
💡 Ключевые тезисы (10)
1 Requests — самый скачиваемый пакет Python #
2 GET-запросы — основа взаимодействия с веб-страницами #
3 Коды состояния HTTP определяют результат запроса #
4 Работа с JSON через встроенный метод .json() #
5 Параметры запроса передаются через словарь params #
6 Загрузка файлов и изображений через response.content #
7 POST-запросы для отправки данных на сервер #
8 Заголовки запроса настраивают поведение сервера #
9 Аутентификация через auth упрощает доступ к API #
10 Таймауты предотвращают зависание программы #
🏋️ Практикум
Получение и анализ веб-страницы
Выполните GET-запрос к любому публичному сайту с помощью requests.get(). Выведите статус-код, заголовки ответа и первые 500 символов текста страницы. Проверьте response.ok и response.status_code. Попробуйте запросить несуществующую страницу и обработайте ошибку 404.
Работа с публичным JSON API
Используйте API httpbin.org или jsonplaceholder.typicode.com для практики. Отправьте GET-запрос, получите JSON-ответ методом .json() и извлеките конкретные поля из словаря. Передайте параметры через аргумент params и убедитесь, что URL сформирован корректно.
Загрузка изображения из интернета
Найдите URL любого изображения в интернете. Скачайте его с помощью requests.get() и сохраните на диск через response.content в бинарном режиме записи. Проверьте, что файл корректно открывается. Добавьте проверку статус-кода перед сохранением.
Отправка POST-запроса с данными
Отправьте POST-запрос на httpbin.org/post с данными формы через аргумент data. Затем повторите запрос, передав данные как JSON через аргумент json. Сравните ответы сервера: обратите внимание на различия в полях form и json в ответе.
Скрипт мониторинга доступности сайтов
Создайте скрипт, который принимает список URL и проверяет доступность каждого. Используйте таймаут 5 секунд, обрабатывайте исключения requests.exceptions.RequestException. Выводите статус каждого сайта: доступен (200), перенаправление (3xx), ошибка (4xx/5xx) или таймаут.
💬 Цитаты (2)
«Библиотека requests позволяет нам легко выполнять HTTP-запросы для получения информации с веб-сайтов (The requests library allows us to easily make HTTP requests to get information from websites)» #
«Я считаю, что это самый скачиваемый пакет Python, и на то есть веские причины (I believe it's the most downloaded Python package and there is good reason for that)» #
Популярное в категории
Похожие по теме
Читать далее
Corey Schafer
Мастерство Asynchronous Programming: от основ до высокопроизводительных приложений на Python
Corey Schafer
Поделитесь с коллегами