使用卷曲抓住黄金价值

时间:2011-12-22 13:13:46

标签: php curl

我是php curl的新手,你能帮我写一下从这个页面抓取黄金价值的代码http://www.domain.com/gold.php

从以下一行我只想 27742.00

Gold price today in India (Rs/10gm) is 27742.00 (-67)

是否需要HTML解析器或只是curl可以单独执行此操作?

感谢您的帮助。

3 个答案:

答案 0 :(得分:2)

正则表达式可以为你做到这一点。

preg_match('#Gold price today in India <b>\(Rs\/10gm\)</b> is <b>([0-9\.]+)#', file_get_contents('http://www.marketonmobile.com/gold_price_india.php'), $matches);
echo 'The price is: '.$matches[1];

答案 1 :(得分:1)

您可以使用curl或file_get_contents()检索页面。拥有页面后,您可以使用HTML解析器或regex获取值。

答案 2 :(得分:0)

  

是否需要HTML解析器或只是curl可以单独执行此操作?

单独的cUrl无法解析HTML,因此您需要一个HTML / Text解析器来处理cUrl请求的返回值。

带有xpath的示例HTML解析器:

$url = 'http://www.domain.com/gold.php';
$expr = 'string(//div[@class="gold"]/b[2]/text())';

$doc = new DOMDocument();
@$doc->loadHTMLFile($url);
$xp = new DOMXPath($doc);
$price = trim($xp->evaluate($expr));