Мега парсинг

  • Заблокирован
  • #11
Здесь надо три скрипта писать
1)Парсер -грабит и заливать в БД,ставится на крон с периодичностью 30 минут
2)Скрипт вывода из БД (Хотя это сама кмс будет делать,если конечно не требуется особый вывод по параметрам)
3)И третий скрипт чистильщик ненужной информации(устаревших постов),тоже ставится на крон с периодичностью 30 минут.
Вот и всё,проще некуда!
 
да спасибо, уже все написал...для меня сама логика важнее чем способ написания скрипта.
Для просмотра ссылки Войди или Зарегистрируйся
так и сделал вот только 3й пункт не реализовал т.к. времени нету,а так он нужен по любому, а то за неделю добавилось почти 4000 новостей :)

еще посоветовали как-то попробовать node.js, так и не прочитал что это такое но кому интересно, прочитайте
 
вот только 3й пункт не реализовал т.к. времени нету,а так он нужен по любому, а то за неделю добавилось почти 4000 новостей
где хранятся новости? если в базе, то просто в скрипте парсера перед всеми операциями добавь всего две строчки:
PHP:
$deltime=time()- 172800; //старше 2 суток
mysql_query("DELETE FROM table WHERE `time_news`<'".$deltime."' ");
 
  • Заблокирован
  • #14
где хранятся новости? если в базе, то просто в скрипте парсера перед всеми операциями добавь всего две строчки:
PHP:
$deltime=time()- 172800; //старше 2 суток
mysql_query("DELETE FROM table WHERE `time_news`<'".$deltime."' ");
А изображения и прикреплённые файлы вы не учли,удаление происходит только с БД,плюс ко всему прочему вы не учли то что увеличится время выполнения запроса для удаления постов,да и в техническом плане совмещать эти две операции просто не правельно лучше использовать чёткое рабиение операций по логической структуре.
 
Во первых я не знаю в каком виде и где хранится информация, я предложил, всего лишь один из множества вариантов. К тому же я не зря указал:
перед всеми операциями
разделив таким образом скрипт парсера на две части: зачистка старья и накопление нового. Имхо применять эти два скрипта нужно как единое целое. Разделив их мы получим существенное увеличение кода (одни таймеры чего только стоят) а соответственно и больше шансов на ошибки. И где гарантия, что таймеры не рассинхронизируются и запросы не перекроют друг-друга... Нет уж лучше уж один скрипт с поэтапным выполнением операций.
Я не думаю что удаление данных из базы существенно увеличит время работы скрипта, собственно регулярное применение зачистки будет способствовать тому, что под влияние скрипта будет пападать мизерное количество инфы (ведь если спарсятся раз в пол часа сотня строк то и удалится такое же приблизительно количество) .
Файлы собственно можно также убивать по времени создания оных.
 
не ссорьтесь парни :)
да всю инфу я добавляю в базу и соответственно придется ее чистить...

dino, твой вариант не могу в парсер закинуть т.к. запрос на базу будет происходить каждые 20 мин, что немного не устраивает. Этот парсинг я писал как плагин для LiveStreet и там присутствует система кэширования. Думаю что создам кэш с лимитом, после истечения произойдет самоликвидация, очиститься база, и по новой создастся кэш. Все это засунем в парсер метод который будет обращаться только к кэшу пока он существует.
 
Задача очень простая.
Сам писал подобный парсер, но только для Яндекса!
Во первых, новости в источнике обновляются не ежесекундно, а один раз в несколько часов с этого стоило и начинать.
И не стоит во время каждого запроса веб-страницы ити на удаленный сервер и получать там новости.

Например:

В файле config указать

//Время следующего обновления
$date_update = 60*60*6; //Допустим, обновлять раз в шесть часов


Потом с помощью парсера... например, SimpleXML парсить новости в определенной последовательности и затем перезаписать новости в локальный xml-файл.

При каждом запросе... проверять, наступила ли дата обновления или нет

Например:

if($date_update == $date_last_time) {

//То обновлять глобально
}
else {
//Брать новости из локального файла
}

Вот и парсер без нагрузки на сервер!

P.S. Вместо xml-файла можно использовать базу, текстовый файл и т.д
 
крон на хостинге можно даже не настраивать. есть сайты на которые запускают скрипты по расписанию - Для просмотра ссылки Войди или Зарегистрируйся
Там максимальная частота раз в 15 минут. А нет похожего сервиса, но что бы почаще можно было запускать? Если делать парсер для перекупов на каком нибудь автору, то у них каждая минута дорога.
 
Там максимальная частота раз в 15 минут. А нет похожего сервиса, но что бы почаще можно было запускать? Если делать парсер для перекупов на каком нибудь автору, то у них каждая минута дорога.
Для просмотра ссылки Войди или Зарегистрируйся
считаю в скриптах, где каждая минута дорога, подобные средства лучше не использовать, вдруг не надежно?
 
Назад
Сверху