Чему вы научитесь
- уверенно читать документацию 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, проверять их и понимать базовые стратегии ротации.
О курсе
В основе курса лежит 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-ответов;
- модуль про прокси и ротацию(в разработке).
Проверка практики устроена через валидаторы. Вы пишете код у себя, получаете ответ, вставляете результат в специальное поле, а валидатор сверяет его с эталоном из базы данных. Если всё совпало, вы получаете код подтверждения для Stepik. Сначала это кажется необычным, но через несколько задач становится привычным рабочим циклом.
Для кого этот курс
Начальные требования
Перед стартом желательно уверенно знать базовый Python:
- переменные, условия, циклы;
- списки, словари, множества, строки;
- функции;
- работа с файлами;
- базовая обработка исключений;
- установка библиотек через pip;
- понимание, что такое виртуальное окружение, хотя в курсе мы это тоже аккуратно проговариваем.
Мы специально выделили словари, так как это основа работы с JSON: почти каждый ответ API после разбора превращается в набор словарей и списков, и чем увереннее вы в них ориентируетесь, тем спокойнее будете доставать нужные поля, обходить вложенные структуры и не теряться в больших ответах сервера.
Будет большим плюсом, если вы уже немного работали с requests, JSON или веб-парсингом. Но если нет - ничего страшного: первые модули постепенно вводят нужную базу.
Наши преподаватели
Как проходит обучение
Курс состоит из текстовых уроков, квизов и практических задач с автоматической проверкой.
В теории мы разбираем не абстрактные определения, а то, что сразу понадобится в коде: как собрать URL, куда положить параметры, что означает статус 429, почему response.json() может упасть, чем 401 отличается от 403, зачем нужен User-Agent и почему стоимость лучше считать через Decimal.
В практике вы пишете Python-скрипты и работаете с API stepstat.ru. Формат задач постепенно усложняется:
- сначала один GET-запрос и одно поле из ответа;
- потом вложенный JSON, фильтрация, сортировка и агрегации;
- дальше пагинация, batch-запросы, обработка ошибок, ретраи и авторизация;
- ближе к финалу - сценарии, где нужно собрать данные из нескольких эндпоинтов и привести их к аккуратному виду.
Во многих задачах есть подсказки, но курс не ведёт за руку в стиле "вставьте эту строку сюда". Наша цель - чтобы вы научились думать как человек, который реально пишет парсер API: проверяет гипотезы, смотрит на ответ сервера, читает документацию и собирает устойчивое решение.
Программа курса
Что вы получаете
- понимание, как устроен современный API и как с ним разговаривать;
- опыт работы с реальными JSON-ответами, а не только с идеальными учебными словарями;
- набор приёмов для устойчивого парсинга: таймауты, проверки, ретраи, сессии, пагинация, rate limiting;
- понимание популярных схем аутентификации и того, где безопасно хранить ключи и токены;
- умение сохранять собранные данные в JSON и CSV;
- готовая база для задач по аналитике, автоматизации, внутренним отчётам, ботам и парсингу сервисов;
- много практики, которую можно превратить в собственные мини-проекты для портфолио.
- вы перестанете смотреть на API как на чёрный ящик. Документация, эндпоинты, параметры, заголовки, токены и JSON станут обычными рабочими инструментами.