Я пытаюсь использовать следующий скрипт для получения значения с определенного веб-сайта, но я думаю, что это не действительный документ DOM, я хочу знать, есть ли альтернативный способ?
<?php $curl_handle=curl_init(); curl_setopt($curl_handle,CURLOPT_URL,'http://www.indiagoldrate.com/gold-rate-in-mumbai-today.htm'); curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2); curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1); $buffer = curl_exec($curl_handle); curl_close($curl_handle); if (empty($buffer)) { print "Sorry, example.com are a bunch of poopy-heads.<p>"; } else { print $buffer; } ?>
Пробовали ли вы file_get_contents
,
$str= htmlentities(file_get_contents('http://www.indiagoldrate.com/gold-rate-in-mumbai-today.htm'));
Чтение файла-получения-содержимого
Хотя страница в вашем коде ( http://www.indiagoldrate.com/gold-rate-in-mumbai-today.htm ) не является допустимым документом DOM, вы все равно можете проанализировать ее с помощью DOMDocument PHP. Например, здесь мы получим цену 1g 22k золота в городе Mumbay сегодня:
libxml_use_internal_errors(true); //get rid of the warnings $dom = new DOMDocument; $dom->loadHTML($buffer); $xp = new DOMXPath($dom); $price = $xp->query('//*[@id="right_center"]/table[1]/tr[3]/td[2]/table/tr[1]/td[2]')->item(0)->nodeValue; libxml_clear_errors(); libxml_use_internal_errors(false); var_dump($price);