【问题标题】:Traversing through DOM element using PHP使用 PHP 遍历 DOM 元素
【发布时间】:2014-02-21 19:57:34
【问题描述】:

我正在使用 Zend\Dom\Query 从网页中获取特定内容。我有一个如下所示的 html 文档

<html>
  <body>
     <div>
        <ul class="abcd">
            <li><a href="">Cow</a></li>
            <li><a href="">Goat</a></li>
        </ul>
        <ul class="abcd">
            <li><a href="">Mouse</a></li>
            <li><a href="">Keyboard</a></li>
        </ul>
        <ul class="abcd">
            <li><a href="">Bus</a></li>
            <li><a href="">Car</a></li>
        </ul>
     </div>
  </body>
</html>

我想从这个文档中获取 Bus,Car 值。

我该怎么做??

我怎样才能成为捕捉这些类型值的专家?你有这方面的教程吗??

谢谢

【问题讨论】:

  • 我的建议是查看 PHP 的 SimpleXML 库。非常好学且容易上手!

标签: php dom zend-framework2 web-scraping zend-dom-query


【解决方案1】:

假设您想要所有链接值:

use Zend\Dom\Query;

$dom = new Query($html);
$links = $dom->execute('ul li a');

foreach ($links as $link) {
    var_dump($link->nodeValue);
}

如果您只想要最后一个列表中的值,并且它们都与您的示例具有相同的类,请尝试:

$links = $dom->execute('ul[last()] li a');

而不是上面的执行行。

【讨论】:

    猜你喜欢
    • 2014-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多