Я запускаю веб-скребок Python для сбора статей с разных веб-сайтов, которые затем сохраняю в виде файлов csv. Я запускал их вручную, но недавно пытался запустить их в облачной оболочке Google. У меня были некоторые проблемы с зависимостями, поэтому я решил создать образ докера для запуска моего парсера Python.
На данный момент мне удалось создать Dockerfile, который я использую для создания контейнера со всеми необходимыми зависимостями.
FROM python:3
# Set the working directory to /app
WORKDIR /app
# Copy the current directory contents into the container at /app
ADD . /app
# Install any needed packages specified in requirements.txt
RUN pip install --trusted-host pypi.python.org -r requirements.txt
RUN pip install lxml
COPY Fin24 ./Fin24
COPY scraped_list.csv ./scraped_list.csv
# Run fin24.py when the container launches
CMD ["python3", "fin24.py"]
fin24.py содержит мой парсер. Fin24 — это текстовый файл, который содержит все базовые URL-адреса, которые мой парсер сканирует в поисках ссылок на статьи, прежде чем переходить к каждой статье и извлекать контент. scraped_list.csv содержит все предыдущие веб-сайты, которые я очистил, и мой скрипт Python проверяет их, чтобы убедиться, что я снова не очистил ту же статью.
После запуска вышеуказанного я вижу, что это работает. Сценарий Python останавливается после очистки всех найденных веб-сайтов. Однако я предполагаю, что он сохраняет CSV-файл (выходной) внутри контейнера докеров. Как я могу заставить его сохранить его в каталоге, из которого я запускаю докер?
В конечном итоге я хочу просто загрузить Dockerfile в свою облачную оболочку Google, запустить его как cronjob и сохранить все выходные данные внутри оболочки. Любая помощь приветствуется