我无法获取文本。我需要价格<meta itemprop="price" content="28.99"/>
尝试使用这个XPath:
<?php
header('Content-Type: text/html; charset=utf-8');
$urlCT = "https://www.instant-gaming.com/es/834-comprar-key-steam-pro-evolution-soccer-2016/";
$ch = curl_init($urlCT);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$cl = curl_exec($ch);
$dom = new DOMDocument();
@$dom->loadHTML($cl);
$xpath = new DOMXpath($dom);
$xpath->registerXpathNamespace('xhtml' , 'http://www.w3.org/1999/xhtml');
$eltitulo = $xpath->query('//xhtml:meta[@itemprop='"price'"]/@content');
$titulo = $eltitulo->item($x)->nodeValue;
echo $titulo;
?>
如何获得价格xpath?(28.99€)
谢谢。
如果你查看页面顶部的源代码,你会看到
<html xmlns="http://www.w3.org/1999/xhtml" ...>
这个默认的名称空间声明说,这个元素的每个没有显式名称空间前缀的后代都将在http://www.w3.org/1999/xhtml
名称空间中。包括<meta>
元素
xhtml
),并在XPath表达式中使用它:
$xpath->registerXpathNamespace('xhtml' , 'http://www.w3.org/1999/xhtml');
$eltitulo = $xpath->query('//xhtml:meta[@itemprop='"price'"]/@content');
(请注意,属性不受默认名称空间的影响,因此例如@itemprop
不在任何名称空间中,并且不需要xhtml
前缀)