我試圖從H & M加載一個頁面(用於學習的目的),當我發現一個div的內容沒有加載,但如果我從瀏覽器保存頁面, div正確保存。 任何人都可以解釋爲什麼會發生這種情況?
股利(也是最重要的,IST的內容)我正在尋找的是:
體>DIV主要>DIV內容>DIVrelatedInformationContainer
(裏面有很多內容:DIV relatedInformation>等...)
這是我使用的代碼:我用更簡單的方法用php加載外部div
<?php
$url = "http://www.hm.com/gb/product/05427";
libxml_use_internal_errors(true);
$html = file_get_contents($url);
$dom = new DomDocument();
$dom->loadHTML($html);
$xp = new domxpath($dom);
$contentDivs = $xp->query('//div[@id="content"]')->item(0);
$numContentDivs = $xp->evaluate('count(div)', $contentDivs);
// echo $numContentDivs; // output:3 (correct)
$relatedDiv = $xp->query('//div[@id="content"]/div[2]')->item(0)->getAttribute("id");
echo $relatedDiv; // output:relatedInformationContainer (correct)
$relatedDivContent = $xp->query('//div[@id="content"]/div[2]')->item(0);
$numRelatedDivContent = $xp->evaluate('count(div)', $relatedDivContent);
echo $numRelatedDivContent; // output:0 (incorrect!!! it should output 1)
?>
,SAM e結果:
<?php
$url = "http://www.hm.com/gb/product/05427";
$doc = new DOMDocument();
$load = @$doc->loadHTMLFile($url);
echo $doc->saveHTML();
?>
我會apreciate如果有人能解釋我爲什麼會發生這種情況,如果有解決方案。 謝謝。
謝謝Iserni!我真的錯過了這個細節......我發現我可以使用相同的結構模擬該請求:'hm.com/gb/product/(product code)/(產品代碼) - (變體)/相關的',並從那裏回顧使用DOMXpath方法的內容。看起來我更喜歡螢火蟲。謝謝 –