Онлайн · Python · в своём темпе с наставником

Веб-скрейпинг на Python

Цены конкурентов, каталог поставщика, отзывы, вакансии: данные есть на сайте, а кнопки «выгрузить» нет. Курс учит писать программу для сбора таких данных (её ещё называют парсером) и разбирает, какие правила сайта и закона при этом действуют.

Первые задания можно решить прямо сейчас, без регистрации.

формат
в своём темпе + наставник
программа
11 глав, 46 тем
цена
8 000 ₽ в месяц
нужно знать
основы Python

Что вы сможете после курса

  • Собирать данные со страниц — requests и BeautifulSoup: получить страницу, найти нужные теги, сложить результат в таблицу.
  • Работать с формами и API — отправлять формы, держать сессию, находить скрытый API во вкладке «Сеть».
  • Разбирать сайты на JavaScript — сначала искать данные без браузера, Selenium подключать там, где иначе нельзя.
  • Доставать текст из документов — PDF, Word, картинки с распознаванием текста.
  • Хранить и чистить собранное — CSV, база данных, SQLAlchemy, очистка дубликатов.
  • Обходить сайт целиком — пауки на Scrapy, потоки и асинхронный сбор с задержками между запросами.

Программа

Темы названы так же, как в учебном кабинете. В конце курса вы собираете свой проект.

1Как устроен веб
  • Зачем нужен веб-скрейпинг и когда он не нужен
  • Как работает интернет: запрос, ответ и коды состояния
  • HTML и CSS глазами скрейпера. Инструменты разработчика
  • Правила игры: robots.txt, условия сайта и данные о людях

ИТОГпонятно, откуда берутся данные на странице

2Первый скрейпер
  • Окружение: виртуальная среда, библиотеки и Jupyter
  • requests: получить страницу и не поверить ей на слово
  • Объект супа: find и find_all
  • Навигация по дереву: дети, соседи, родители
  • Сборка: первый скрейпер и список словарей

ИТОГпервый скрейпер собирает данные в список

3Формы и скрытые API
  • Формы и метод POST
  • Сессии и cookies
  • API как источник: методы, JSON и разбор ответа
  • Ненайденный API: как увидеть его во вкладке «Сеть»

ИТОГданные берутся из запросов сайта, без разбора разметки

4Сайты на JavaScript
  • Данных нет в разметке: три разных случая
  • Достаём данные без браузера: тег script и повтор запроса
  • Selenium там, где иначе нельзя: запуск и ожидания вместо пауз
  • Селекторы и XPath, фоновый режим, перенаправления

ИТОГпонятно, какой способ выбрать для динамической страницы

5Документы и изображения
  • Кодировки и текстовые файлы: CSV без «кракозябр»
  • PDF и Word: достать текст и таблицы
  • Изображения и распознавание текста
  • Капчи: что технически возможно и где проходит граница

ИТОГтекст достаётся и из файлов, и из картинок

6Очистка и хранение
  • Очистка в коде: пробелы, регистр, дубликаты
  • Файлы и медиа: CSV, картинки, безопасные имена
  • База данных: таблицы, вставка и выборка из Python
  • Работа с базой через модели: SQLAlchemy

ИТОГсобранное лежит в базе в чистом виде

7Пауки: обход сайта целиком
  • Обход одного домена: очередь, посещённые, глубина
  • Архитектура краулера: сайт, страница, правила извлечения
  • Scrapy: проект, паук, элементы данных
  • Scrapy: конвейеры обработки, журнал, выгрузка

ИТОГпаук обходит сайт и выгружает данные

8Масштаб, ловушки и прокси
  • Потоки и пул задач
  • Асинхронный сбор
  • Ловушки: скрытые поля, приманки, заголовки
  • Ограничения по адресу, задержки и прокси
  • Готовые сервисы сбора: когда покупать, а когда писать

ИТОГсбор идёт в несколько потоков, с задержками и прокси

9Право и проверка своей работы
  • Что защищено законом: произведения, базы данных, персональные данные
  • robots.txt и условия использования
  • Тесты для скрейпера: ловим смену вёрстки
  • Проверка через браузер

ИТОГтесты замечают, когда сайт поменялся; понятно, где закон и правила сайта ставят границу

10Что делать с собранным текстом
  • Частоты слов и пары слов
  • Морфология: почему «сбор» и «сбора» — одно слово

ИТОГиз собранных текстов получаются первые выводы

11Проект
  • Постановка: что собираем, откуда и зачем
  • Сборка и защита проекта

ИТОГсвой проект по сбору данных

Формат и цена

Уроки и задания в учебном кабинете, проходите в своём темпе. Наставник проверяет ваши работы, отвечает на вопросы в Telegram, а трудное место можно разобрать на созвоне.

Курс с наставником

8 000 ₽ в месяц

  • Все 11 глав курса и проект
  • Проверка работ наставником
  • Вопросы в Telegram, созвон по запросу
Записаться

Сначала попробовать самому

Несколько тем курса можно попробовать без регистрации: в каждой до трёх заданий с автопроверкой. Весь курс с проверкой работ доступен после записи.

Решить первое задание

Оплата помесячная. Подробности на странице «Оплата и условия обучения».

Преподаватель

Виктор Комлев

Автор курса и наставник

  • 1998начал программировать
  • 2002–2020работал в ИТ: инженером, потом руководителем. С 2010 года руководил отделом до 70 человек
  • 2006–2011преподавал в вузе
  • 2019перешёл на Python и пишу на нём до сих пор
  • с 2022своя школа, около 150 учеников

Подробнее обо мне →

Что собирали ученики

  • Дашборд состояния туризма в России: данные собраны из Ростуризма, Aviasales, Яндекс Карт и погодных сервисов
  • Система сбора и анализа данных о продажах товаров на маркетплейсах

Материалы по теме

Статьи на сайте, с которых можно начать.

Частые вопросы

Что нужно знать перед курсом?
Основы Python: переменные, условия, циклы, функции, списки и словари. Если их пока нет, напишите мне: подскажу, с чего начать.
Законно ли собирать данные с сайтов?
Зависит от того, что и как собирать. В курсе есть отдельная глава о правилах: robots.txt, условия сайтов, персональные данные и что защищено законом. Юридическую консультацию курс не заменяет. Подробнее — в статье «Законность и этика веб-скрейпинга».
Что если сайт работает на JavaScript?
Этому посвящена глава 4: сначала ищем данные без браузера, в коде страницы или в запросах сайта, и только если иначе нельзя, подключаем Selenium.
Как работает наставник?
Проверяет ваши работы в учебном кабинете, отвечает на вопросы в Telegram, а трудное место можно разобрать на созвоне.
Сколько времени нужно в неделю?
Столько, сколько у вас есть: уроки проходятся в своём темпе, начать можно сразу после записи.
Можно попробовать до оплаты?
Да. Первые задания можно решить без регистрации, прямо по кнопке «Попробовать бесплатно».

запись

Напишите, какие данные хотите собирать

Оставьте имя и контакт. Я отвечу, подскажу, с какой главы начать, и открою доступ к курсу.

Или сразу напишите в Telegram · Попробовать бесплатно · подобрать курс за 3 минуты