Содержание курса
1. Что такое парсинг и где он реально нужен
5 уроков
267
133
38м
0
Закрытый
1.1
Введение в Парсинг
↗
108
16
14м 17с
0
Закрытый
1.2
Рынок и деньги: сколько платят за парсинг (и как оценивать задач
↗
45
35
6м 44с
0
Закрытый
1.3
Этика и законность в веб-парсинге: как собирать данные правильно
↗
41
35
7м 7с
0
Закрытый
1.4
Окружение под парсер
↗
40
29
6м 57с
0
Закрытый
1.5
Первый парсер
↗
33
18
5м 32с
0
2. HTML и DOM
5 уроков
98
60
28м
0
Закрытый
2.1
Базовая структура HTML
↗
31
15
3м 42с
0
Закрытый
2.2
DOM-дерево
↗
21
14
4м 25с
0
Закрытый
2.3
Атрибуты: class/id/data-*
↗
16
14
6м 25с
0
Закрытый
2.4
CSS-селекторы на практике
↗
15
11
10м 38с
0
Закрытый
2.5
XPath (коротко)
↗
15
6
5м 7с
0
3. HTTP и Requests
7 уроков
81
37
29м
0
Закрытый
3.1
HTTP минимум, который нужен парсеру
↗
18
5
5м 14с
0
Закрытый
3.2
requests.get/post: параметры и таймауты
↗
13
5
2м 20с
0
Закрытый
3.3
Response: text/content/encoding
↗
12
3
16м 23с
0
Закрытый
3.4
Ошибки и исключения
↗
12
6
5м 11с
0
Закрытый
3.5
Session()
↗
9
5
-
0
Закрытый
3.6
Заголовки
↗
8
7
-
0
Закрытый
3.7
Проект “каталог ссылок”
↗
9
6
-
0
4. BeautifulSoup4: извлечение данных из HTML
7 уроков
54
29
24м
0
Закрытый
4.1
Установка и старт
↗
10
4
17м 32с
0
Закрытый
4.2
Парсеры html.parser vs lxml
↗
9
4
-
0
Закрытый
4.3
find/find_all/select
↗
10
5
7м 15с
0
Закрытый
4.4
get_text(), strip и чистка текста
↗
6
4
-
0
Закрытый
4.5
Навигация по DOM в BeautifulSoup
↗
7
4
-
0
Закрытый
4.6
Типичные ошибки BS4
↗
7
4
-
0
Закрытый
4.7
Карточка товара
↗
5
4
-
0
5. Пагинация, каталоги и устойчивость парсинга
5 уроков
31
20
0м
0
Закрытый
5.1
Пагинация: page/offset/cursor
↗
6
4
-
0
Закрытый
5.2
2-фазный парсинг
↗
6
4
-
0
Закрытый
5.3
Дедупликация
↗
7
4
-
0
Закрытый
5.4
Нормализация данных
↗
6
4
-
0
Закрытый
5.5
Логи, прогресс, чекпоинты
↗
6
4
-
0
6. Экспорт данных: CSV, Excel, JSON, JSONL
4 урока
25
17
0м
0
Закрытый
6.1
Выбор формата
↗
6
4
-
0
Закрытый
6.2
CSV без боли
↗
6
4
-
0
Закрытый
6.3
Excel на практике
↗
7
5
-
0
Закрытый
6.4
JSON и вложенность
↗
6
4
-
0
7. AJAX и API-парсинг (без Selenium)
5 уроков
38
25
3м
0
Закрытый
7.1
Как понять, что данные грузятся через API
↗
10
6
3м 59с
0
Закрытый
7.2
DevTools: Network вкладка
↗
7
5
-
0
Закрытый
7.3
Повторяем запрос через requests
↗
7
5
-
0
Закрытый
7.4
API пагинация
↗
8
5
-
0
Закрытый
7.5
Ловушки API
↗
6
4
-
0
8. Selenium / Playwright: когда без браузера никак
7 уроков
32
21
0м
0
Закрытый
8.1
Selenium vs Playwright
↗
8
3
-
0
Закрытый
8.2
Установка и старт
↗
4
3
-
0
Закрытый
8.3
Поиск элементов
↗
4
3
-
0
Закрытый
8.4
Действия
↗
4
3
-
0
Закрытый
8.5
Ожидания
↗
3
3
-
0
Закрытый
8.6
Cookies и сессии
↗
5
3
-
0
Закрытый
8.7
Скролл, вкладки, окна
↗
4
3
-
0
9. Асинхронный парсинг: asyncio + aiohttp
6 уроков
21
17
0м
0
Закрытый
9.1
Почему async ускоряет парсинг
↗
4
3
-
0
Закрытый
9.2
asyncio основы
↗
3
3
-
0
Закрытый
9.3
aiohttp базовый клиент
↗
4
3
-
0
Закрытый
9.4
Semaphore и лимиты параллельности
↗
3
3
-
0
Закрытый
9.5
Retries + backoff + 429/503
↗
3
3
-
0
Закрытый
9.6
aiofiles и JSONL
↗
4
2
-
0
10. Масштабирование: БД, очереди, расписание
5 уроков
21
15
0м
0
Закрытый
10.1
Архитектура “парсер как пайплайн”
↗
6
3
-
0
Закрытый
10.2
Хранение в SQLite/Postgres
↗
4
3
-
0
Закрытый
10.3
Очереди задач (база)
↗
3
3
-
0
Закрытый
10.4
Планировщик
↗
5
3
-
0
Закрытый
10.5
Инкрементальный парсинг - обновления вместо полного прогона
↗
3
3
-
0
11. Антибот и устойчивость (легальные методы)
5 уроков
30
15
0м
0
Закрытый
11.1
Как сайты детектят ботов
↗
8
3
-
0
Закрытый
11.2
Вежливый парсинг
↗
7
3
-
0
Закрытый
11.3
Прокси: когда нужны
↗
4
3
-
0
Закрытый
11.4
Кэширование и повтор запросов
↗
5
3
-
0
Закрытый
11.5
CAPTCHA: реальность и правильная стратегия
↗
6
3
-
0