一尘不染

使用DOMdocument()方法按ClassName获取元素

php

这是我想要达到的目的:检索页面上的所有产品并将它们放入数组中。这是我正在使用的代码:

$page2 = curl_exec($ch);
$doc = new DOMDocument();
@$doc->loadHTML($page2);
$nodes = $doc->getElementsByTagName('title');
$noders = $doc->getElementsByClassName('productImage');
$title = $nodes->item(0)->nodeValue;
$product = $noders->item(0)->imageObject.src;

$title but不适用于该产品。有关信息,在HTML代码中,img标签如下所示:

<img alt="" class="productImage" data-altimages="" src="xxxx">

我一直在看这个PHPDOMDocument如何获取元素?,但我仍然不明白如何使其工作。

PS:我收到此错误:

调用未定义的方法 DOMDocument::getElementsByclassName()


阅读 695

收藏
2020-05-29

共1个答案

一尘不染

我终于使用了以下解决方案:

    $classname="blockProduct";
    $finder = new DomXPath($doc);
    $spaner = $finder->query("//*[contains(@class, '$classname')]");
2020-05-29