@tmWorker

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

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы