Robot
Складчик
- #1
[Stepik] Парсинг API на Python (Павел Хошев)
- Ссылка на картинку

В основе курса лежит stepstat*ru - учебный сайт-тренажёр и одновременно живое веб-приложение, которое собирает данные о курсах Stepik. На протяжении курса вы будете работать с его API: получать карточки курсов, рейтинги, отзывы, промокоды, статистику, команды авторов, поисковые логи и другие данные.
Мы сделали курс максимально практическим. Теория здесь нужна не для галочки, а чтобы вы не тыкались в API вслепую. Квизы тоже будут, но без фанатизма: ровно столько, чтобы закрепить важные идеи и не дать теории улететь из головы сразу после прочтения.
Дальше в каждой теме вас ждёт несколько подводящих задач перед боевой практикой. Мы старались делать их не сухими "получите поле name из JSON", а разными по механике, сюжету и настроению. Где-то будет простая разминка, где-то мини-детектив, где-то задача в контексте популярных вселенных - чтобы обучение не превращалось в бесконечную таблицу с endpoint’ами.
А вишенка на торте - рейд-боссы курса: реальные практические задачи на парсинг stepstat.ru. Там уже всё по-взрослому: живые данные, настоящие ответы API, пагинация, фильтры, авторизация, обработка ошибок и ощущение, что ваш скрипт наконец-то делает что-то полезное, а не просто печатает "Hello, JSON".
В курсе есть:
Введение
Мы сделали курс максимально практическим. Теория здесь нужна не для галочки, а чтобы вы не тыкались в 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
- API на пальцах: что это и зачем
- Установка и импорт
- Сигнатура метода GET и POST
- Объект Response
- Коды ответов HTTP
- Точка входа в API
- Фильтруем выдачу
- Договариваемся с сервером
- Предъяви своё печенье
- Введение
- Синтаксис JSON и маппинг типов
- Навигация по структуре JSON
- Типы данных API: даты, цены, числа и null
- response.json() и ошибки
- Нормализация ответа
- Сохраняем результат в JSON
- Сохраняем результат в CSV
- Flatten: расплющиваем вложенные структуры
- Query-параметры
- Path-параметры
- Комбинированные запросы
- Пагинация в API
- Batch-запросы
- Rate limiting - ограничение на количество запросов
- Работа с сессиями
- HTTP Адаптеры
- Введение в авторизацию 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
- Используем прокси
- Серверные прокси
- Резидентские прокси
- Мобильные прокси
- Стратегии ротации прокси
- Куда дальше?
Показать больше
Зарегистрируйтесь
, чтобы посмотреть контент.