Рекомендации по шаблону проектирования - многостраничный веб-браузер Python Selenium с парсером и базой данных - PullRequest
1 голос
/ 05 июня 2019

Я работаю над скребком, который становится все больше и больше, и я беспокоюсь о том, чтобы сделать неправильный выбор дизайна.

Я никогда не делал ничего, кроме коротких скриптов на python, и я в растерянностизная, как разработать проект с большими пропорциями.

Скребок извлекает данные с разных, но похожих тематических сайтов, поэтому необходима реализация для каждого сайта.

Нужный необработанный текст каждого сайтазатем пропускается через анализатор, который ищет требуемые значения.

После получения значений они должны быть сохранены в базе данных 3N.

В окончательном варианте скребок должен работать в облакеобслуживайте и периодически проверяйте все разные сайты на наличие новых данных.Скорость и производительность не имеют первостепенного значения, но желательны.Самое главное, что требуемые данные должны быть получены без ненужного повторного использования кода.

Я использую веб-драйвер Selenium, и объект драйвера реализован как одноэлементный, поэтому все запросы выполняются одним и тем же объектом драйвера.Текст веб-сайта является частью состояния этого объекта.

Все остальные функции в настоящее время моделируются как функции, все в одном файле.Для добавления другого сайта в проект я сначала скопировал скрипт и просто изменил поисковую часть.Как только мне пришло в голову, что это довольно глупо, я хотел попросить рекомендации по дизайну.

Вы бы предпочли реализовать материнский класс Retriever и наследовать его от каждого веб-сайта, или есть еще лучший способ пойти?

Большое спасибо за любые идеи!

...