Использование Selenium в Docker/Cloud/WSL2 с Python[2022]
Table Of Content
- Давайте узнаем, как вы можете парсить динамические веб-сайты, используя Selenium внутри Docker
- Введение
- Я начну с того, что дам вам некоторый контекст того, что мы собираемся делать. (Я предполагаю, что у вас есть некоторые знания 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 в удаленном режиме, так как большая часть кода, которую я нашел, была абсолютной. Если у вас есть какие-либо предложения или улучшения, пожалуйста, добавьте их в комментариях.
Полный код - ССЫЛКА
Спасибо.