Задать вопрос
@tmWorker

Как оптимизировать процесс парсинга данных с веб-сайтов?

У меня есть несколько сайтов с которых нужно постоянно парсить данные.

Например, у меня есть 20 сайтов, когда последний сайт обработан парсером, нужно начинать с начала. Вопрос в том, как наилучшим образом сделать это в PHP? Потому что я новичок в этом и опыта в этом никакого...

Я боюсь ситуации, когда сервер будет перегружен, или скрипт парсинга (процесс) будет случайно остановлен ... Как наилучшим образом справиться с этими ситуациями?

Любые абстрактные советы найдутся?
  • Вопрос задан
  • 410 просмотров
Подписаться 2 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 4
hOtRush
@hOtRush
Берешь любую балалайку для очереди вроде beanstalkd или gearman, пишешь какой-то главный скрипт, который запускает парсинг с входной точки (первой страницы или страниц), ссылки извлеченные из нее добавляются в эту же очередь и где-то сохраняются для блэклистинга (чтобы не парсились дважды). Примерно так работает scrapy
Ответ написан
serg_small_developer
@serg_small_developer
Начинающий прогер
по своему опыту могу сказать что если сайты небольшие то на пыхе еще можно делать, но для больших сайтов нужно что-то другое, лично я выбрал для такого дела python+scrapy
Ответ написан
Комментировать
JabbaHotep
@JabbaHotep
Пытаюсь минимизировать ручную работу
Ну тут все просто, делаете очередь в базе из 20 записей, каждый раз когда переходите к новому сайту, запрашиваете одну запись отсортированную по дате последнего обновления, парсите сайт, по окончании апдейтите дату обновления для записи, и забираете следующую запись.
Ну и соответственно если сервер перегрузят или остановят парсер, при перезапуске он всегда возьмет следующий сайт.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы