Динамичный парсер

artefakt777

Постоялец
Регистрация
15 Июл 2012
Сообщения
532
Реакции
140
Приветствую, для сайта нужно парсить курсы металлов и производить с ними манипуляции.
Попробовал парсить таким образом:
Код:
$html = file_get_contents( 'http://123.ru/123' );
preg_match_all( '#<td>(.+?.)</td>#is', $html, $matches );
$platina = $matches[1][13];

В принципе все получается, но при выводе большого количества содержания, идет большая нагрузка и все очень долго грузится.

Может есть вариант как это оптимизировать? Использую Joomla + Virtuemart 3. Спасибо.
 
попробуйте использовать curl, это будет быстрее. далее, запишите файл в файл. передача. и обрабатываете построчно. Вам же по сути нужна только 14 строка:) вот и нагрузка упадет. плюс как часто меняется курс? раз в какой промежуток?
 
попробуйте использовать curl, это будет быстрее. далее, запишите файл в файл. передача. и обрабатываете построчно. Вам же по сути нужна только 14 строка:) вот и нагрузка упадет. плюс как часто меняется курс? раз в какой промежуток?
Получается такой вариант:
Скрипт парсера в файле, который запускается кроном раз в час и записывает значение в отдельный файл. И потом на сайте через
file_get_contents достаем данные из записанного файла.

Насколько использование curl снизит нагрузку и повысит быстродействие?
 
Получается такой вариант:
Скрипт парсера в файле, который запускается кроном раз в час и записывает значение в отдельный файл. И потом на сайте через
file_get_contents достаем данные из записанного файла.

Насколько использование curl снизит нагрузку и повысит быстродействие?

Если парсите только с одного сайта, то это очень странно что нагрузка большая. В этом случае курл не поможет особо. Вообще мерять надо. Пробовать и мерять.
Вообще вариант регулярки весьма быстрый. Он не должен грузить. Разве что где-то сама регулярка не корректна и требует ресурсов. Судя по примеру - там не должно быть нагрузки.

Если несколько сайтов проверяются, то curl_multi очень сильно снижает время и нагрузку. По сути время обработки сводится к самому медленному запросу. Кроме того курлом можно писать сразу в файл при необходимости минуя использование памяти. Что в некоторых случаях тоже может быть полезно.
 
нагрузка или время ответа? нагрузки здесь нет никакой и curl тут ничего не решает. большое время ответа получается от низкой скорости соединения с сайтом - донором.
 
Назад
Сверху