Новичок - PHP - Соскребание - Базы данных - Вопрос разработки впереди:
Я создал скрипт PHP, который удаляет (используя curl) статьи с веб-сайта, я его стилизовал и добавил HTML-теги, чтобы его можно было презентовать и загрузитьна общий хостинг через cPanel.
Очистка выполняется с помощью php-функций curl и preg_match_all. Каждая сломанная страница содержит 17 статей, и поэтому, если я пролистаю 100 страниц, это 170 статей. Я убираю только заголовок статьи, URL, краткое изложение статьи и дату публикации, поэтому не так много информации по статье (не по содержанию).
Мой сайт представляет заголовок статьи (который ссылается на первоисточник)и резюме статьи. Я также использую дату публикации статьи в качестве извлекаемой строки, которую я анализирую и показываю статьи ежемесячно (декабрь 2019, ноябрь 2019, и т. Д.).
Время загрузки сайта ужасно. Каждый раз, когда вы открываете сайт, скрипт очищает 100 страниц, и это занимает много времени. Даже при уменьшении количества страниц, подлежащих очистке до 30, загрузка занимает много времени.
Теперь проблема, с которой я сталкиваюсь как неопытного разработчика, заключается в том, как приступить к разработке решения для этого, которое яв итоге могу реализовать в моем общем хостинге (который отличается от VPS тем, что у меня есть контроль ...)
Первая мысль, которая пришла мне в голову, - это то, что я должен хранить очищенные данные в базе данных mysql. и регулярно обновлять его (с помощью cron-задания?), будет ли это работать, это выполнимое решение, которое легко реализовать?
Каков правильный ход проектирования для решения, которое новичок может / должен реализоватьздесь?
Будет ли это что-то вроде:
- Очистить данные в первый раз и сохранить в базе данных.
- написать скрипт, который раз в день (или больше)собирает новые статьи только с первой страницы без создания дубликатов (вероятно, нужно сравнивать строки заголовков с последним вводом в БД, пока что-то вроде headlineString1 == headlineString2, а затем прекратить вставку в БД).
Ваши мысли и предложения будут высоко оценены. Кстати, я также пытаюсь переделать сайт более профессионально в Laravel в настоящее время.