Top.Mail.Ru

Создание парсинга на Django с упаковкой в Docker и размещением на dockerhosting.ru

Создание парсинга на Django с упаковкой в Docker и размещением на  dockerhosting.ru

 

Создание парсинга на Django с упаковкой в Docker и размещением на dockerhosting.ru

В данной статье рассмотрим процесс создания парсера на Django, его упаковку в Docker-контейнер и последующее развертывание на платформе  dockerhosting.ru.

Установка Django и создание проекта

pip install django requests beautifulsoup4
django-admin startproject parser_project
cd parser_project
python manage.py startapp parser

Пример простого парсера (в parser/views.py)

import requests
from bs4 import BeautifulSoup
from django.http import JsonResponse

def parse_example(request):
    url = "https://example.com"
    r = requests.get(url)
    soup = BeautifulSoup(r.text, "html.parser")
    title = soup.title.string if soup.title else "No title"
    return JsonResponse({"title": title})

Добавим URL (в parser_project/urls.py)

from django.contrib import admin
from django.urls import path
from parser.views import parse_example

urlpatterns = [
    path('admin/', admin.site.urls),
    path('parse/', parse_example),
]

Упаковка проекта в Docker

Создайте следующие файлы в корне проекта:

Dockerfile

# Базовый образ
FROM python:3.10-slim

# Устанавливаем зависимости
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

WORKDIR /app

COPY requirements.txt /app/
RUN pip install --upgrade pip && pip install -r requirements.txt

COPY . /app/

CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]

requirements.txt

django
requests
beautifulsoup4

docker-compose.yml

version: '3.9'

services:
  web:
    build: .
    ports:
      - "8000:8000"
    volumes:
      - .:/app

Сборка и запуск локально

docker-compose build
docker-compose up

Откройте браузер и перейдите по адресу http://localhost:8000/parse, чтобы проверить работу парсера.


Размещение на DockerHost.ru

1. Зарегистрируйтесь или войдите на dockerhosting.ru

Платформа предоставляет готовые Docker-окружения и быстрое развертывание.

2. Загрузите ваш проект

  • Вы можете использовать scp, rsync или Git.

  • Либо просто загрузите ZIP-архив с проектом через интерфейс.

3. Соберите контейнер через веб-интерфейс или консоль

docker build -t myparser .
docker run -d -p 8000:8000 myparser

На dockerhosting.ru вы получите выделенный IP или домен

 

Автор:

53

Читайте также

0 комментариев

Бот: Здравствуйте! Я чат-бот веб-разработчика. Чем могу помочь в создании или доработке вашего сайта?