Я пытаюсь создать приложение Django, которое работает как магазин. Элементы извлекаются из Интернета и постоянно обновляют базу данных проекта Django (скажем, каждые несколько дней). Я использую платформу Scrapy для выполнения очистки, и хотя есть экспериментальная функция DjangoItem , я бы предпочел держаться подальше от нее, потому что она нестабильна.
Сейчас я планирую создать XML-файлы для просканированных элементов с помощью XMLItemExporter
(документы ) Scrapy и использовать их для loaddata
в проекте Django в качестве фиксаторов XML (документы ). здесь ). Кажется, это нормально, потому что если один из двух процессов испортится, между ними будет файловый посредник. Модуляризация приложения в целом также не кажется плохой идеей.
Некоторые проблемы:
- Что эти файлы могут быть слишком большими для чтения в память для
loaddata
Джанго.
- Что я трачу слишком много времени на это, когда может быть лучшее или более простое решение, такое как экспорт напрямую в базу данных, которая в данном случае является MySQL.
- Похоже, никто не писал об этом процессе онлайн, что странно, учитывая, что, по моему мнению, Scrapy - отличная среда для подключения к приложению Django.
- В документах Django нет четкого руководства по ручному созданию приборов Django - похоже, оно больше ориентировано на сброс и перезагрузку приборов из самого приложения.
Наличие экспериментального DjangoItem предполагает, что Scrapy + Django является достаточно популярным выбором, чтобы найти здесь хорошее решение.
Я был бы очень признателен за любые решения, советы или мудрость по этому вопросу.