В основе курса лежит stepstat*ru - учебный сайт-тренажёр и одновременно живое веб-приложение, которое собирает данные о курсах Stepik. На протяжении курса вы будете работать с его API: получать карточки курсов, рейтинги, отзывы, промокоды, статистику, команды авторов, поисковые логи и другие данные. Мы сделали курс максимально практическим. Теория здесь нужна не для галочки, а чтобы вы не тыкались в API вслепую. Квизы тоже будут, но без фанатизма: ровно столько, чтобы закрепить важные идеи и не дать теории улететь из головы сразу после прочтения. Дальше в каждой теме вас ждёт несколько подводящих задач перед боевой практикой. Мы старались делать их не сухими "получите поле name из JSON", а разными по механике, сюжету и настроению. Где-то будет простая разминка, где-то мини-детектив, где-то задача в контексте популярных вселенных - чтобы обучение не превращалось в бесконечную таблицу с endpoint’ами. А вишенка на торте - рейд-боссы курса: реальные практические задачи на парсинг stepstat.ru. Там уже всё по-взрослому: живые данные, настоящие ответы API, пагинация, фильтры, авторизация, обработка ошибок и ощущение, что ваш скрипт наконец-то делает что-то полезное, а не просто печатает "Hello, JSON". В курсе есть: вводный модуль про API, REST и документацию; модуль по requests: установка, первый запрос, Response, коды ответов, заголовки, cookies; большой модуль по JSON: вложенные структуры, даты, деньги, ошибки .json(), нормализация, JSON/CSV, flatten; модуль про точную настройку запроса: query/path-параметры, пагинация, batch, rate limiting, сессии и адаптеры; модуль про авторизацию API: API Key, Bearer/JWT, Basic Auth, cookies, OAuth и хранение токенов; модуль про сжатие HTTP-ответов; модуль про прокси и ротацию(в разработке). Чему вы научитесь: уверенно читать документацию API и понимать, какие эндпоинты, параметры и форматы ответов вам нужны; отправлять GET и POST запросы через requests, передавать params, headers, cookies и таймауты; работать с объектом Response: проверять статус-коды, заголовки, тело ответа и Content-Type; разбирать JSON-ответы, ходить по вложенным структурам и не падать на null, пустых списках и неожиданных типах; приводить данные API к нормальному виду: даты, цены, рейтинги, списки, вложенные поля; сохранять результат в JSON и CSV так, чтобы его можно было использовать дальше; строить запросы с query- и path-параметрами, проходить пагинацию, делать batch-запросы и учитывать rate limiting; использовать Session, ретраи и HTTP-адаптеры для более устойчивого парсинга; работать с API Key, Bearer Token, JWT, Basic Auth и cookie-сессиями; понимать, как работает сжатие HTTP-ответов: gzip, deflate, br, zstd; подключать прокси к requests, проверять их и понимать базовые стратегии ротации. Спойлер: Программа курса: Введение Введение Содержание Что такое API Как работает современный API Что такое RESTful API и чем он нам полезен Изучение документации /docs Основы requests API на пальцах: что это и зачем Установка и импорт Сигнатура метода GET и POST Объект Response Коды ответов HTTP Точка входа в API Фильтруем выдачу Договариваемся с сервером Предъяви своё печенье Работа с JSON-ответами API Введение Синтаксис JSON и маппинг типов Навигация по структуре JSON Типы данных API: даты, цены, числа и null response.json() и ошибки Нормализация ответа Сохраняем результат в JSON Сохраняем результат в CSV Flatten: расплющиваем вложенные структуры Точная настройка запроса Query-параметры Path-параметры Комбинированные запросы Пагинация в API Batch-запросы Rate limiting - ограничение на количество запросов Работа с сессиями HTTP Адаптеры Авторизация API Введение в авторизацию API Bearer, API key, Basic Auth API Key Bearer Token и JWT Basic Auth Cookie и сессии OAuth 2.0 Безопасное хранение ключей и токенов Сжатие HTTP-ответов. Введение: зачем сжатие и когда оно важно Зачем использовать сжатие? deflate базовый алгоритм gzip проверенная классика br современный выбор zstd новейший алгоритм Обратная сторона: CPU vs сеть Сравнение алгоритмов: когда что выбрать Прокси Введение 2.0 Введение Proxies Используем прокси Серверные прокси Резидентские прокси Мобильные прокси Стратегии ротации прокси Это конец Куда дальше?