CoderCastrov logo
CoderCastrov
Питон

Парсинг фронтенд-сайтов с богатым интерфейсом

Парсинг фронтенд-сайтов с богатым интерфейсом
просмотров
1 мин чтение
#Питон

Как парсить фронтенд-сайты, которые загружают контент с помощью JavaScript?

Термин "фронтенд-сайты с богатым интерфейсом" относится к сайтам, где необходимые данные загружаются при выполнении некоторого действия на основе JavaScript, что делает поведение сайта динамическим. Для парсинга таких сайтов нам понадобятся следующие вещи:

  • Симуляция точных событий браузера
  • Выполнение действий, которые загружают необходимый контент

Решение

В этом случае нам на помощь приходит Selenium. Пакет Selenium для Python может работать в совместной работе с Headless и другими браузерами, чтобы решить эту проблему. Например, в следующем примере мы создадим бота, используя Selenium и Chrome Headless, и с его помощью мы сможем извлекать информацию с любых страниц.


Создание бота с использованием Selenium

Мы будем использовать Selenium вместе с Chrome Headless.

Установка Headless

Ссылка на GitHub с инструкцией по установке: https://gist.github.com/abdulmoizeng/e1a61923a1928baeb54175f28e054adb

Сценарий

Нашему боту нужно выполнить следующие задачи:

  • Войти в систему на GitHub
  • Посетить репозиторий автора
  • Поставить ему звезду
  • Выйти из системы

Демонстрационный кодСсылка на GitHub: https://github.com/abdulmoizeng/crawlers-demo/tree/master/headless_bot

Настройте свои учетные данные GitHub в файле "creds.py", чтобы сделать его функциональным.

Заключение

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