Мега парсинг

SimonSmith

Мастер
Регистрация
25 Сен 2008
Сообщения
148
Реакции
34
Здравствуйте,
стоит задача сделать Для просмотра ссылки Войди или Зарегистрируйся такую систему. Т.е. парсить новости из рсс с определенных ресурсов и выводить к себе на сайт. Не могу никак придумать логику создания данного скрипта :(

По началу делал парсинг на прямую с ~5 ресурсов...все вроде нормально, загрузка не большая... но когда добавил еще 5 то все...страница грузиться сек. 10... Решил завозить все в базу потом оттуда в кэш и на сайт. Дальше что делать н3, остановился и все идеи закончили... Помогите, подскажите что можно сделать дальше?
 
Парсишь поочередно с различных ресурсов с периодичностью, скажем раз в 4 часа, и заливаешь спарсеное в базу ну или в файлм(это как, кому удобно). Это один скрипт.
Вторым просто выводишь данные из базы на страницу...
 
первый вариант не подходит т.к. к примеру 15тый ресурс спарсеный через 4 часа станет уже не актуален (в среднем +-30мин от главного ресурса что бы не был отрыв поста новости)
второй тоже не подходит т.к. если парсить и в базу и из базы то особого эффекта не будет что парсить напрямую или из рсс в базу...
 
Это не два варианта! Это два скрипта, которые должны работать одновременно! У тебя на сайте может быть несколько сотен пользователей за час, так что теперь для каждого отдельно парсить новости? Так никакой сервак не выдержит... Поэтому один скрипт парсит новости раз в пол часа (час, 10 минут...по боку с какой периодичностью, это задаешь ты исходя из актуальности новостей) и льет их в базу, а второй выводит их из базы для каждого конкретного пользователя и сколько угодно раз...
 
да тут без крона не обойтись :-/ а я думал может как-то его обойти а то с ним дела не имел.
дино спасиб
 
А тут крон необязателен! Просто каждый раз после того как спарсил новости, оставляй в базе или в отдельном файлике текущую метку времени. А в скрипте выдачи новостей из базы поставь проверку на пройденное время и если прошло времени больше чем заданный интервал, запускать скрипт парсинга новостей
Ну что то типа:
PHP:
if(time()>=($parse_time+60*60*10)){NewsParse();}
 
А тут крон необязателен! Просто каждый раз после того как спарсил новости, оставляй в базе или в отдельном файлике текущую метку времени.
Можно использовать filemtime($filename) - дату последней модификации файла (к примеру, того же, в который и были кэшированы новости)
 
  • Заблокирован
  • #8
кладите в базу, заюзайте крон, ничего страшного в нем нет. Если есть панелька управления то проблемы вообще не будет его настроить...
 
да тут без крона не обойтись :-/ а я думал может как-то его обойти а то с ним дела не имел. дино спасиб
крон на хостинге можно даже не настраивать. есть сайты на которые запускают скрипты по расписанию - Для просмотра ссылки Войди или Зарегистрируйся
 
в бд в любом случае нужно класть. Если будешь парсить в прямом эфире, то положишь сервер.
Сделай таблицу в бд как уже посоветовали, или создавай файлы-метки и при каждом запуске проверяй. крон можно не использовать, просто встрой в страницу вызов проверки.
 
Назад
Сверху