Я пытаюсь получить данные монеты этого сайта: http://www.tf2wh.com.Вопрос о производительности PHP
С помощью этого скрипта:
$name = $_POST["item"];
$url = file_get_contents("http://www.tf2wh.com/allitems");
$dom = new DOMDocument();
@$dom->loadHTML($url);
$dom->saveHTML();
$code = "";
$xpath = new DOMXPath($dom);
foreach($xpath->query('//div[contains(attribute::class, "entry qual")]') as $e) {
$code .= $e->nodeValue;
}
$code = substr($code,strpos($code,$name)-30,30);
$code = explode("(",$code);
$coins = "";
for($i = 0; $i < strlen($code[0]); $i++){
if(is_numeric($code[0][$i])){
$coins .= $code[0][$i];
}
}
echo $coins;
Он отлично работает, но есть две проблемы. Во-первых, его медленное время, время между запросом и ответом составляет около 15-30 секунд. Во-вторых, где-то эта ошибка возникает:
Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\steammarket\getCoins.php on line 6
Как исправить эту проблему с проблемой производительности.
проверили Вы имеете ли они API, так что вы не должны царапать веб-страницы? – Barmar
Вы проверили, какая линия медленная? Используйте некоторый инструмент профилирования? Или распечатать временную метку? –
@Barmar Нет, нет API для получения данных о монете. – Nimmi