Бесплатный гайд: как пройти путь от брифа до уверенного старта проекта

Разработка на Python

Введение: когда задача упирается в защиту В практике веб-разработки и автоматизации нередко встречаются задачи, которые на первый взгляд выглядят стандартно. Одна из них — сбор данных с сайтов онлайн-тестов: вопросы...Введение: когда задача упирается в защиту В практике веб-разработки и автоматизации нередко встречаются задачи, которые на первый взгляд выглядят стандартно. Одна из них — сбор данных с сайтов онлайн-тестов: вопросы, варианты ответов, результаты прохождения. Однако всё усложняется, когда сайт защищён корпоративными системами безопасности, такими как DDoS-Guard. Прямые HTTP-запросы перестают работать, IP-адреса быстро блокируются, а классические парсеры оказываются бесполезными. В этом материале я делится практическим опытом автоматизации работы с защищёнными сайтами, рассказывает о переходе с Selenium на Playwright и разбирает архитектуру парсера, имитирующего поведение реального пользователя. Все приведённые примеры предназначены исключительно для изучения принципов автоматизации и работы защитных механизмов. Почему мы выбрали Playwright Изначально для решения задачи использовался Selenium в связке с undetected-chromedriver. В ряде случаев это позволяло обходить базовую защиту, но со временем стали заметны ограничения: высокая ресурсоёмкость; необходимость постоянной ручной донастройки; проблемы со стабильностью; сложная работа с iframe и вкладками. После анализа альтернатив мы в GLM-DEV перешли на Playwright — современный инструмент автоматизации от Microsoft, ориентированный на реальные сценарии пользовательского поведения. Сравнение Selenium, Playwright и Puppeteer Selenium — зрелый и проверенный временем инструмент с огромным сообществом, но с достаточно громоздким API. Puppeteer хорошо подходит для Chromium-браузеров, однако ограничен по функциональности и поддержке других движков. Playwright предлагает: единый API для Chromium, Firefox и WebKit; встроенные умные ожидания элементов; более реалистичную эмуляцию браузера; удобную работу с сетью, вкладками и iframe. Для задач, связанных с защищёнными веб-приложениями, именно Playwright показал наилучший баланс между стабильностью, скоростью и контролем. Как Playwright помогает работать с защитой DDoS-Guard Современные системы защиты анализируют не только частоту запросов, но и: browser fingerprint; признаки автоматизации; поведенческие паттерны; сетевую активность. Playwright позволяет управлять браузерным контекстом на низком уровне и максимально приблизить поведение автоматизации к реальному пользователю. Пример базовой инициализации браузера: from playwright.sync_api import sync_playwright def create_stealth_browser(proxy=None): with sync_playwright() as p: browser = p.chromium.launch( headless=False, args=['--disable-blink-features=AutomationControlled'] ) context = browser.new_context( viewport={'width': 1920, 'height': 1080}, locale='ru-RU', timezone_id='Europe/Moscow' ) page = context.new_page() page.add_init_script(""" Object.defineProperty(navigator, 'webdriver', { get: () => undefined }); """) return browser, context, page Как работает парсер онлайн-тестов Ниже описана общая архитектура парсера без привязки к конкретному сайту. Общая логика работы Парсер автоматически: открывает страницу теста; извлекает структуру вопросов и вариантов ответов; формирует возможные комбинации; отправляет ответы и анализирует результаты; сохраняет данные в файлы для дальнейшего использования. Все запросы выполняются через прокси, чтобы снизить вероятность блокировок. Как извлекаются вопросы и варианты ответов Алгоритм работы парсера: Открывается страница теста и анализируется HTML. Определяется заголовок теста (title или h1). Выполняется поиск блоков вопросов по классам и структуре. Для каждого вопроса: извлекается текст вопроса; находятся варианты ответов; варианты связываются с идентификаторами. Вопросы нумеруются по порядку. Формируется структурированный объект данных. Результат сохраняется в формате JSON. Читайте также Безопасность веб-сайтов: как защитить свой ресурс от киберугроз Подробнее Как парсер собирает результаты тестов Поиск формы теста Парсер анализирует все формы на странице и выбирает ту, которая содержит максимальное количество вопросов, исключая формы поиска и вспомогательные элементы. Генерация наборов ответов Формируются следующие комбинации: минимальная (все первые варианты); максимальная (все последние варианты); медианная; случайные комбинации (обычно около 20). Отправка и анализ результатов Для каждого набора: отправляется POST-запрос; парсится страница результата; извлекается текст результата; определяется диапазон и итоговый балл. Используются регулярные выражения для поиска числовых значений. Оптимизация и дедупликация Парсер: предсказывает балл до отправки; отслеживает диапазоны результатов; исключает дубликаты по тексту; сохраняет только уникальные результаты. Защита от блокировок В реализации используются базовые защитные меры: циклическая смена прокси; случайные паузы между действиями; повторные попытки при ошибках; остановка при обнаружении капчи или блокировки. Результат работы парсера В итоге формируются следующие файлы: data/tests/название_теста.json — структура теста; data/results_full/название_теста.json — все уникальные результаты. Это позволяет в дальнейшем показывать результат для любого набора ответов без повторных запросов к сайту. Этика и ответственная автоматизация Мы в GLM-DEV отдельно подчёркиваем важность ответственного подхода: соблюдение правил сайтов; работа только с публичными данными; ограничение частоты запросов; использование подобных решений исключительно в образовательных целях. Заключение Переход на Playwright позволил: сократить объём кода; повысить стабильность; упростить отладку; улучшить эмуляцию реального пользователя. Playwright сегодня можно считать новым стандартом автоматизации для современных веб-приложений.
Введение: когда задача упирается в защиту В практике веб-разработки и автоматизации нередко встречаются задачи, которые на первый взгляд выглядят стандартно. Одна из...
Сегодня работа с файлами — неотъемлемая часть любой профессии: дизайн, веб-разработка, контент-мейкинг, подготовка документов, создание презентаций, ведение бизнеса. И чем больше типов файлов используется, тем важнее иметь один удобный инструмент...Сегодня работа с файлами — неотъемлемая часть любой профессии: дизайн, веб-разработка, контент-мейкинг, подготовка документов, создание презентаций, ведение бизнеса. И чем больше типов файлов используется, тем важнее иметь один удобный инструмент, который справляется со всеми задачами: конвертацией, сжатием, редактированием и преобразованием. Именно таким инструментом стал GLM-DEV Конвертер файлов — новый веб-сервис от команды GLM-DEV. Это мощная, быстрая и полностью онлайн-платформа, работающая прямо в браузере, без установки программ и без сложных настроек. А теперь — подробный обзор всех возможностей. Что такое GLM-DEV Конвертер файлов? Это многофункциональный онлайн-конвертер более чем 50 форматов, который позволяет работать с: изображениями видео аудио документами архивами презентациями шрифтами Сервис сочетает простоту, высокую производительность и расширенные функции, которые обычно доступны только в профессиональных программах. Основные преимущества сервиса 1. Универсальность GLM-DEV Конвертер файлов объединяет 8 независимых конвертеров в одном веб-приложении. С ним вы сможете: конвертировать изображения между PNG, JPEG, WEBP, HEIC, SVG и др.; менять формат видео и аудио; извлекать звук из видео; сжимать медиафайлы без видимой потери качества; конвертировать PDF в Word, Excel, HTML, JPG; работать с архивами ZIP, RAR, 7Z; преобразовывать PPT ↔ PDF; менять форматы шрифтов (TTF, OTF, WOFF, WOFF2). 2. Высокая производительность GLM-DEV Конвертер файлов построен на асинхронной архитектуре Celery и Redis, что даёт: молниеносную обработку файлов, выполнение задач в фоне, отсутствие зависаний, приоритетные очереди для подписчиков, до 100 одновременных конвертаций (в зависимости от тарифа). 3. Полная безопасность GLM-DEV заботится о данных пользователей: файлы хранятся только временно; автоматическая очистка после обработки; защита от перегрузки и вредоносных файлов; безопасная авторизация и шифрование паролей. Функциональность: на что способен конвертер? Ниже — краткий, но ёмкий обзор каждого модуля. Он поможет понять масштаб возможностей инструмента. Конвертер изображений Поддержка 11 популярных форматов: от JPEG до HEIC и AVIF. Возможности: конвертация без потерь; настройка качества сжатия (1–100); изменение размера; поддержка прозрачности; создание ICO-иконок; оптимизация PNG и JPEG; пакетная обработка. Идеально подходит для дизайнеров, веб-разработчиков и тех, кто готовит изображения для сайтов. Сжатие файлов (изображения и видео) Сжатие изображений: оптимизация без потерь, progressive JPEG, гибкая настройка качества. Сжатие видео: три пресета качества, настройка битрейта, оптимизация для веб. Это удобно перед отправкой файлов или публикацией в соцсетях. Конвертер аудио Поддержка MP3, WAV, FLAC, AAC, OGG, OPUS и др. Функции: конвертация между всеми форматами, выбор битрейта, изменение частоты дискретизации, извлечение аудио из видео, пакетная обработка. Конвертер видео Работает с MP4, AVI, MKV, MOV, WEBM и другими форматами. Позволяет: менять формат, регулировать качество и битрейт, выбирать FPS, настраивать кодек-пресет (от ultrafast до slow), обрабатывать большие файлы — до нескольких гигабайт. Обрезка видео (Trim + Crop) Одна из самых продвинутых функций сервиса: точность до 0.001 секунды; визуальный таймлайн; обрезка кадра; поворот видео; режим без перекодирования (мгновенная обрезка без потери качества). Нужен короткий ролик для соцсетей? Это лучший инструмент. Конвертер документов Поддерживает PDF, DOCX, TXT, RTF. Функции: PDF → Word, Excel, PPT, JPG, PNG, HTML; DOCX → TXT / RTF; TXT → PDF / DOCX; извлечение текста; конвертация многослойных PDF; пакетная обработка. Особенно полезно для офисной работы, учёбы и бизнеса. Конвертер архивов Работает с ZIP, RAR, 7Z, TAR и всеми вариациями. Позволяет: переупаковывать архивы, менять формат, выбирать уровень сжатия, сохранять структуру каталогов, обрабатывать вложенные архивы. Конвертер презентаций PPTX ↔ PDF и PDF → PPTX. Бережно сохраняет: форматирование, расположение элементов, изображения и графики. Обработка больших презентаций происходит полностью в браузере. Конвертер шрифтов TTF, OTF, WOFF, WOFF2. Функции: преобразование desktop → web, web → desktop, оптимизация размера, сохранение глифов и метаданных. Незаменимый инструмент для веб-разработчиков и типографов. Дополнительные возможности личный кабинет со статистикой и историей конвертаций; фильтры и быстрый доступ к файлам; лимиты для гостей и расширенные возможности для подписчиков; уведомления о завершении обработки; Кому подойдёт данный сервис? Дизайнерам конвертация изображений, подготовка иконок, оптимизация графики. Разработчикам конвертация шрифтов, оптимизация изображений и видео, работа с архивами. Контент-мейкерам обрезка видео, конвертация аудио, подготовка роликов для соцсетей. Бизнесу конвертация документов, презентаций, архивов. 🔗 Попробуйте GLM-DEV Конвертер файлов прямо сейчас Сервис доступен бесплатно, без установки и без регистрации. Если вы ищете универсальный, быстрый и удобный инструмент для работы с файлами — этот сервис точно вас удивит. Попробуйте конвертировать несколько файлов, оцените скорость и качество обработки — и вы поймёте, насколько проще стала ежедневная работа с документами, изображениями, видео и архивами.
Сегодня работа с файлами — неотъемлемая часть любой профессии: дизайн, веб-разработка, контент-мейкинг, подготовка документов, создание презентаций, ведение бизнеса. И чем больше типов...
Алёна Гюлумян
Алёна Гюлумян
web‑разработчик
14:15
Прокрутить вверх