我试图从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方法的内容。看起来我更喜欢萤火虫。谢谢 –