Драматург против селена: сравнение двух

Драматург против селена: сравнение двух

15 ноября 2022 г.

Быстрый тест с точки зрения парсинга веб-страниц

Немного контекста

В индустрии парсинга веб-страниц мы много раз слышали о Selenium и Playwright, когда нужен полноценный парсер на Python (и, конечно же, Puppeteer для JS). И это почти ирония, что два из наиболее часто используемых инструментов были созданы для других целей, а не для парсинга веб-страниц.

И Selenium, и Playwright, по сути, являются инструментами автоматизации браузера, созданными для того, чтобы помочь фронтенд-разработчикам тестировать свою работу, автоматизируя тесты веб-сайтов, которые они создают с помощью разных браузеров. Но что такое парсер, как не автоматизированный браузер, который бродит по сети?

Что такое селен?

Как упоминалось ранее, Selenium – это платформа автоматизированного тестирования с открытым исходным кодом, используемая для проверки веб-приложений в различных браузерах и на разных платформах.

Это пакет с несколькими компонентами и модулями, и вы можете найти отличное объяснение его истории в этой замечательной записи в блоге Кришны. Рунгта.

Для наших целей веб-скрапинга важнее всего то, что он поддерживает Firefox, Edge, Safari и Chrome через их веб-драйверы, которые необходимо устанавливать отдельно. Веб-драйвер — это интерфейс управления для браузера, своего рода «пульт дистанционного управления» для браузеров.

На высоком уровне типичный парсер работает следующим образом:

* Selenium WebDriver получает команду от парсера * Команды преобразуются в HTTP-запрос по проводному протоколу JSON. * Перед выполнением каких-либо тестов каждый браузер имеет свой драйвер, который инициализирует сервер. * Затем браузер начинает получать запрос через свой драйвер.

Что такое драматург?

Playwright – это библиотека Node.js с открытым исходным кодом, запущенная Microsoft для автоматизации браузеров на основе Chromium, Firefox и WebKit. через единый API, созданный той же командой, которая работала над Puppeteer в Google.

Основная цель Playwright – улучшить автоматизированное тестирование пользовательского интерфейса.

Он, конечно, очень похож на Puppeteer, который работает только с браузерами на основе Chromium и поддерживает только язык Javascript.

В индустрии автоматизированного тестирования Playwright получил много хороших отзывов о своей скорости: об этом есть отличный тест от Checkly, который сравнивает несколько фреймворков для автоматизированного тестирования, включая Selenium, Playwright и Puppeteer.

Его архитектура сильно отличается от архитектуры Selenium, поскольку он напрямую взаимодействует со слегка модифицированными версиями браузеров, входящих в установочный пакет, через API, без необходимости использования веб-драйвера.

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

Мои два цента

Вы могли заметить, что я часто упоминал Puppeteer, но это выходит за рамки этого поста. Это потому, что его можно запрограммировать только на Javascript, а не на Python, который я предпочитаю.

Да, есть Pyppeteer, но это неофициальный порт Puppeteer на Python, и я еще не пробовал.

Ограничивая сравнение между Selenium и Playwright, мой личный выбор падает на второе.

Простая настройка и обслуживание имеют большое значение для большого проекта веб-скрейпинга, а интеграция с другими пакетами, такими как playwright_stealth, позволяет избежать обнаружения ботов. простой.

Возможность перехода с одного браузера на другой без необходимости что-либо устанавливать делает исправление парсеров быстрым и дает множество возможностей.

Вы также можете использовать установку Chrome с использованием постоянного контекста, что означает, что у вас может быть реальный профиль пользователя для всего выполнения парсера.

Я оставляю вам эту замечательную статью от Scrapfly, где вы можете увидеть, как работает Playwright. и немного кода для проверки.

Спасибо, что читаете The Web Scraping Club. Эта запись является общедоступной, поэтому не стесняйтесь поделиться ею.

Последние сообщения в лаборатории


Также опубликовано здесь


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE