在外部网站上显示课程文本

时间:2016-09-13 15:32:50

标签: php

我正在尝试从外部网站上的<span>元素获取内容并显示它,但它没有显示。

我从中获取内容的网站链接是https://www.roblox.com/catalog/119916949/Midnight-Blue-Sparkle-Time-Fedora

以下是<span>元素:

enter image description here

<?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;
?>

1 个答案:

答案 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;