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


How to pull a value from a website ( Using cUrl in PHP)

我正在尝试以下脚本从某个网站提取值,但我认为这不是有效的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文档,您仍然可以使用PHP的DOMDocument来解析它。例如,在这里,我们将获得今天孟买市1g 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);