bart
PRO
- Сообщения
- 53.916
- Реакции
- 29.408
Парсинг API на Python
Автор: Stepik / Павел ХошевЕсли вы пишете на Python и хотите забирать данные с сайтов через их API, а не через разбор HTML, этот курс как раз об этом. Работать придётся с настоящим веб-приложением с документацией, эндпоинтами, токенами и ограничениями на число запросов, а не с учебными заглушками. Поэтому вы сразу увидите проблемы, которые обычно появляются только на реальных проектах.
Курс полезен тем, у кого скрипты падают на первом же null в ответе, кто путается в заголовках и авторизации или не понимает, как пройти пагинацию и не получить бан от сервера. Навыки идут по порядку: от первого GET-запроса к устойчивому сбору данных с сессиями, ретраями, сжатием и прокси. В итоге вы сможете брать заказы на парсинг и автоматизацию сбора данных.
Практическая база курса — stepstat.ru. Это одновременно тренажёр для учёбы и рабочий сервис, который собирает статистику по курсам Stepik. Через его API вы будете получать карточки курсов, рейтинги, отзывы, промокоды, статистику, составы авторских команд, поисковые логи и другие данные.
Упор в курсе сделан на практику. Теории ровно столько, чтобы понимать, что происходит с API, и не действовать наугад. Квизы есть, но их немного: только чтобы закрепить ключевые идеи и не забыть прочитанное через пять минут.
Чему вы научитесь:
- уверенно читать документацию 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, 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
- Как работает современный 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
- Безопасное хранение ключей и токенов
- Введение: зачем сжатие и когда оно важно
- Зачем использовать сжатие?
- deflate базовый алгоритм
- gzip проверенная классика
- br современный выбор
- zstd новейший алгоритм
- Обратная сторона: CPU vs сеть
- Сравнение алгоритмов: когда что выбрать
- Введение 2.0
- Введение
- Proxies
- Используем прокси
- Серверные прокси
- Резидентские прокси
- Мобильные прокси
- Стратегии ротации прокси
- Куда дальше?
- Python-разработчикам с базовыми знаниями, которые хотят научиться собирать данные через API
- Начинающим парсерщикам, которые хотят перейти от разбора HTML к работе с API
- Аналитикам и специалистам по данным, которым нужно выгружать данные из внешних сервисов в JSON и CSV
- Фрилансерам, которые берут заказы на парсинг и автоматизацию сбора данных
- Тем, у кого скрипты падают на авторизации, пагинации, лимитах запросов или блокировках
- Практику на живом API сервиса stepstat.ru с реальными данными о курсах Stepik
- Умение уверенно работать с requests, Response, заголовками, cookies и таймаутами
- Навык разбирать и нормализовать сложный JSON и сохранять результат в JSON и CSV
- Понимание авторизации (API Key, Bearer/JWT, Basic Auth, OAuth 2.0), сжатия gzip/deflate/br/zstd и работы с прокси
- Приёмы устойчивого парсинга: сессии, ретраи, HTTP-адаптеры, пагинация, batch-запросы и учёт rate limiting
Продажник:
Для просмотра вы должны войти или зарегистрироваться.
Скачать:
Скрытое содержимое могут видеть только пользователь группы: PRO
Качать без ограничений Купить доступ к 1 теме
Качать без ограничений Купить доступ к 1 теме
Скрытое содержимое для пользователей: Ferr