CoderCastrov logo
CoderCastrov
Docker

Использование Selenium в Docker/Cloud/WSL2 с Python[2022]

Использование Selenium в Docker/Cloud/WSL2 с Python[2022]
просмотров
1 мин чтение
#Docker

Давайте узнаем, как вы можете парсить динамические веб-сайты, используя Selenium внутри Docker

Введение

Если вы хотите использовать Selenium в Docker/Cloud для парсинга динамических веб-сайтов, то вы попали по адресу. Пока я предполагаю, что вы хотите использовать его внутри Docker.

Я начну с того, что дам вам некоторый контекст того, что мы собираемся делать. (Я предполагаю, что у вас есть некоторые знания Docker).

Давайте посмотрим на файл docker-compose.yml

Код

Теперь давайте посмотрим на код.

_Обратите внимание на исполнитель команды. Это URL-адрес сервиса headless_chrome, который указан в файле docker-compose.yml. Он имеет формат http://{service_name}:{port}/webdriver Вы увидите, что я добавил метод sleep. Я полагаю, что browserless-chrome занимает несколько секунд, чтобы запустить свои службы. Поэтому, если вы удалите это задержку, то, вероятно, получите ошибку. Если у вас возникли проблемы с подключением, вы можете попробовать уменьшить версию файла docker-compose. Раньше я использовал 3.8, но у меня возникли проблемы с подключением.

Давайте посмотрим на остальной код.

Код очень простой, и я парсю тестовый веб-сайт. Он может использоваться для любого веб-сайта.

Дальнейшие улучшения (некоторые предосторожности также)

Заключение

Мне потребовалось некоторое время, чтобы разобраться, как использовать Selenium в удаленном режиме, так как большая часть кода, которую я нашел, была абсолютной. Если у вас есть какие-либо предложения или улучшения, пожалуйста, добавьте их в комментариях.

Полный код - ССЫЛКА

Спасибо.