Chromedp в Go: полный курс по автоматизации браузера
Chromedp управляет настоящим Chrome через DevTools Protocol: никаких Selenium и WebDriver — обычный Go-код открывает страницы, кликает кнопки, заполняет формы, делает скриншоты и печатает PDF. Динамические SPA-сайты, которые не берёт Colly, для chromedp не проблема.
Курс идёт от первого запуска headless-браузера до продакшен-практик: селекторы и ожидания, извлечение данных, скриншоты и PDF, JS-оценка, формы и куки, вкладки, перехват запросов, параллельный пул браузеров, Docker и этика скрапинга. Каждый урок — код с построчным разбором, интерактив и типовые грабли.
Чему научитесь
Чему научитесь
- Запускать Chrome из Go и управлять страницами
- Находить элементы селекторами и ждать их появления
- Кликать, заполнять формы и извлекать данные
- Делать скриншоты, PDF и выполнять JavaScript
- Работать с вкладками, куки и прокси
- Масштабировать скрапинг пулом браузеров в Docker
Для кого курс
- Backend-разработчикам, которым нужен контроль браузера из кода
- Тем, кто упёрся в JS-рендеринг после Colly
- Командам: скриншоты отчётов, PDF-счета, мониторинг страниц
Что понадобится
- Базовый синтаксис Go: функции, ошибки, контекст
- Знакомство с HTML-селекторами ускорит первые уроки
Программа курса: 25 уроков
- 1Знакомство: браузер под контролем кодаDevTools Protocol, зачем headless, что не умеет Colly.~16 мин · chromedp golang, автоматизация браузера go
- 2Установка и первый запуск Chromego get, chrome пути, headless, первый ctx и Navigate.~18 мин · chromedp установка, chromedp navigate
- 3Навигация: переходы и ожидание загрузкиNavigate, WaitReady, sleep против событий.~18 мин · chromedp navigate, ожидание загрузки go
- 4Селекторы: как находить элементыCSS, XPath, query и QueryAfter: надёжный поиск.~20 мин · chromedp селекторы, xpath go
- 5Клик и ввод текстаClick, SendKeys, SetValue: управление страницей.~18 мин · chromedp click, chromedp sendkeys
- 6Извлечение текста и атрибутовText, InnerHTML, AttributeValue, NodeValue.~18 мин · chromedp text, извлечение данных go
- 7Скриншоты страниц и элементовFullScreenshot, CaptureScreenshot, скрин элемента.~20 мин · chromedp скриншот, скриншот сайта go
- 8Печать в PDF: счета и отчётыPrintToPDF: генерация документов из HTML.~18 мин · chromedp pdf, html в pdf go
- 9Ожидания: правильный сонPoll, QueryAfter, Visibility: спать меньше, ждать умнее.~20 мин · chromedp ожидание, poll element go
- 10Выполнение JavaScript: EvaluateJS в контексте страницы, возврат значений в Go.~20 мин · chromedp evaluate, js в браузере go
- 11SPA и динамический контентReact/Vue-страницы: ждём рендер, не HTML.~20 мин · chromedp spa, динамический контент go
- 12Формы: заполнение и отправкаSetSubmissionValues, Enter, файловые инпуты.~18 мин · chromedp формы, автозаполнение go
- 13Заголовки, куки и сессииSetCookies, User-Agent, заголовки авторизации.~18 мин · chromedp cookies, сессии браузера go
- 14Прокси и User-AgentАргументы Chrome, ротация UA, гео-задачи.~18 мин · chromedp proxy, user agent go
- 15Таймауты и устойчивостьcontext.WithTimeout, retry-обёртки, падение Chrome.~18 мин · chromedp таймаут, устойчивый парсер
- 16Вкладки и окна: несколько страницNewContext с вкладкой, Targets, работа параллельно.~20 мин · chromedp вкладки, несколько страниц go
- 17Перехват сетевых запросовNetwork events, блокировка трекеров, экономия трафика.~20 мин · chromedp network, перехват запросов
- 18Блокировка картинок и шрифтовФлаги экономии: скрапинг без мусора и быстрее.~16 мин · chromedp блокировка изображений, экономия трафика
- 19Пул браузеров: масштабированиеN вкладок, каналы задач, лимиты CPU и RAM.~20 мин · chromedp параллельно, пул браузеров go
- 20Отпечатки и антидетектnavigator.webdriver, фингерпринт: честные границы.~18 мин · chromedp antidetect, webdriver флаг
- 21Скрапинг таблиц и пагинацийКлик по страницам, сбор строк, дедупликация.~20 мин · скрапинг таблиц go, пагинация chromedp
- 22Ошибки и отладка chromedpТиповые panic,.Headless-режим с GUI, логи DevTools.~18 мин · chromedp отладка, ошибки chromedp
- 23Docker и серверное окружениеОбраз с Chrome, шрифты кириллицы, sandbox-флаги.~18 мин · chromedp docker, chrome в докере
- 24Этика и закон скрапингаrobots.txt, ToS, ПДн и 152-ФЗ: границы ответственности.~18 мин · этика скрапинга, законность парсинга
- 25Итоговый проект: монитор цены товараПроверка по расписанию, скриншот, алерт на изменение.~24 мин · chromedp проект, мониторинг цены go
Вопросы о курсе
Нужен установленный Chrome?
Да, это единственное требование: chromedp управляет настоящим браузером. Первый урок показывает установку на всех ОС, а для серверов есть отдельный урок про Docker-образ с предустановленным Chrome.
Чем chromedp лучше Selenium?
Протокол напрямую: нет промежуточного WebDriver, нет cgo, код — обычный Go с контекстом и таймаутами. Быстрее старт, меньше прослоек, простая отладка.
Это законно — скрапировать сайты?
Отдельный урок разбирает robots.txt, ToS, ПДн и 152-ФЗ. Курс учит собирать данные ответственно: публичные данные, разумные паузы, уважение к сайту.