我正在尝试从外部网站上的<span>
元素获取内容并显示它,但它没有显示。
我从中获取内容的网站链接是https://www.roblox.com/catalog/119916949/Midnight-Blue-Sparkle-Time-Fedora
以下是<span>
元素:
<?php
$doc = new DOMDocument;
// We don't want to bother with white spaces
$doc->preserveWhiteSpace = false;
// Most HTML Developers are chimps and produce invalid markup...
$doc->strictErrorChecking = false;
$doc->recover = true;
$doc->loadHTMLFile("https://www.roblox.com/catalog/119916949/Midnight-Blue-Sparkle-Time-Fedora");
$xpath = new DOMXPath($doc);
$query2 = "//span[@class='text-robux']";
$entries2 = $xpath->query($query2);
$price2 = $entries2->item(0)->textContent;
echo $price2;
?>
答案 0 :(得分:0)
图表是由javascript构建的。 loadHTMLFile
仅加载html。您可以通过在浏览器的devtool设置中禁用javascript或通过curl获取数据来检查实际加载的内容。
数据本身由AJAX从https://www.roblox.com/asset/119916949/sales-data加载。
这是JSON,所以要获得平均价格,你可以做简单的json_decode:
<?php
$data = json_decode(
file_get_contents("https://www.roblox.com/asset/119916949/sales-data")
);
echo $data->data->AveragePrice;