Здравствуйте, написал парсер для сайта http://www.ligovka.ru/ Код функции: PHP: function exchange_rates($currency) { if($currency == 'dollar') { $content = file_get_contents('http://ligovka.ru/'); $pos = strpos($content, '<td class="down"><a href="/detailed/31.html">'); $content = substr($content, $pos); $pos = strpos($content, '</a></td>'); $content = substr($content, 0, $pos); return substr($content, 45, 5); } if($currency == 'euro') { $content = file_get_contents('http://ligovka.ru/'); $pos = strpos($content, '<td class="down"><a href="/detailed/32.html">'); $content = substr($content, $pos); $pos = strpos($content, '</a></td>'); $content = substr($content, 0, $pos); return substr($content, 45, 5); } if($currency == 'euro/usd') { $content = file_get_contents('http://ligovka.ru/'); $pos = strpos($content, '<td></td><td class="down"><a href="/detailed/42.html">'); $content = substr($content, $pos); $pos = strpos($content, '</a></td>'); $content = substr($content, 0, $pos); return substr($content, 54, 5); } } Вывод: PHP: echo "USD: ".$currency = exchange_rates('dollar')."<br>"; echo "EURO: ".$currency = exchange_rates('euro')."<br>"; echo "EURO/USD: ".$currency = exchange_rates('euro/usd')."<br>"; Но вот проблема, время загрузки в районе 3 сек. Как можно ускорить этот процесс и какие были допущены ошибки в написании данного парсера.
а смысл? 3 сек - норм может быть для этого сайта. а может для вашего хостинга. а зачем? вы хотите менять курс ежесекундно?
данную функцию я прикрепил к внутренней программе, которую мы используем во внутренней сети. И каждый раз при ее вызове приходится ждать 3-4 сек. Я как максималист, хотел бы не много ускорить работу данного приложения. Может быть прибегнуть к JQuery? Чтобы один блок тогда так долго тупил ? Допустим блок: HTML: <div class="rates" id="rates"> echo "USD: ".$currency = exchange_rates('dollar')."<br>"; echo "EURO: ".$currency = exchange_rates('euro')."<br>"; echo "EURO/USD: ".$currency = exchange_rates('euro/usd')."<br>"; </div>
можно просто обновлять раз в 15 минут и записывать в базу или файл. а функцию уже направлять туда. быстродействие будет охохо =)