我是php curl的新手,你能帮我写一下从这个页面抓取黄金价值的代码http://www.domain.com/gold.php
从以下一行我只想 27742.00
Gold price today in India (Rs/10gm) is 27742.00 (-67)
是否需要HTML解析器或只是curl可以单独执行此操作?
感谢您的帮助。
答案 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));