如何从网站中提取值(在PHP中使用cUrl)

时间:2013-07-26 04:34:00

标签: php dom

我正在尝试使用以下脚本从某个网站中提取值,但我认为这不是一个有效的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;
      }
      ?>

2 个答案:

答案 0 :(得分:0)

你试过file_get_contents试试这个,

$str= htmlentities(file_get_contents('http://www.indiagoldrate.com/gold-rate-in-mumbai-today.htm'));

阅读file-get-contents

答案 1 :(得分:0)

虽然代码中的页面(http://www.indiagoldrate.com/gold-rate-in-mumbai-today.htm)不是有效的DOM文档,但您仍然可以使用PHP DOMDocument对其进行解析。 例如,今天我们将在孟买市获得1克22k金的价格:

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);