Настройка Docker для парсинга веб-страниц на основе Python SeleniumPython

Программы на Python
Ответить
Anonymous
 Настройка Docker для парсинга веб-страниц на основе Python Selenium

Сообщение Anonymous »

Я хочу настроить минимальный файл компоновки Docker, минимальный файл Docker, текстовый файл с минимальными требованиями и минимальный файл Python, чтобы доказать, что я действительно могу запустить драйвер Selenium из файла Python в Docker. контейнер. Моя локальная файловая структура выглядит следующим образом:

Код: Выделить всё

~/
testdir/
docker-compose.yml
pipeline/
requirements.txt
dockerfiles/
Dockerfile
testfile.py
Мой файл создания докера:

Код: Выделить всё

services:
scrapers:
build:
context: .
dockerfile: pipeline/dockerfiles/Dockerfile
container_name: scrapers
image: scrapers
volumes:
- .:/testdir
- ~/.gitconfig:/etc/gitconfig
command: tail -F anything
Мой файл докера:

Код: Выделить всё

FROM ubuntu:jammy
WORKDIR /testdir
COPY pipeline/requirements.txt pipeline/requirements.txt

RUN : \
&& apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install  \
-y --no-install-recommends \
git \
python3-pip \
&& pip3 install -r pipeline/requirements.txt \
&& :
COPY . /testdir
CMD tail -F anything
Мой файл с сокращенными требованиями:

Код: Выделить всё

selenium==4.26.0
Мой файл Python:

Код: Выделить всё

from selenium import webdriver
driver = webdriver.Chrome()
driver = webdriver.FireFox()
Я проверяю все это, выполнив из командной строки следующую команду:

Код: Выделить всё

> docker compose up scrapers -d --build
> docker exec -it scrapers /bin/bash
Независимо от того, какие варианты этого я использую (получение apt-хрома, chromedriver, получение завитков с помощью greps для получения последних версий и т. д.), я неизменно получаю ошибки. Мои вопросы примерно следующие:
  • Есть ли лучший образ Docker для этой цели? Если да, могу ли я просто подключить его к существующим файлам/командам, или нужно что-то еще изменить в этом процессе?
  • Есть ли есть ли дополнительные установки, которые мне нужно добавить в файл докеров? Если да, то каковы они и каковы наилучшие (минимальные) способы их решения?
  • Имеет ли значение, какой браузер я использую? Допустим, я придерживаюсь ubuntu:jammy, тогда, может быть, это и правда, но если я переключусь на другой образ Docker, будет ли это иметь значение? У меня нет каких-либо врожденных предпочтений в отношении используемого драйвера, если я могу собирать с его помощью данные.
  • Это вторично по отношению к получению этого процесс действительно работает, но есть ли способ сделать это так, чтобы я мог запускать драйверы Selenium без головы?


Подробнее здесь: https://stackoverflow.com/questions/793 ... b-scraping
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»