试图从列表中检索图像 - 抓取网页

时间:2018-01-06 08:12:25

标签: php html dom web-scraping

我在抓取网页方面有一些非常基本的知识但是我坚持一件事。我正在使用php简单的html dom,我正努力从每个' li'中获取图像。标签

<ul class="slides">
  <li>
    <img src="www.webpage.com/oH7oCOEhQABNAE2hnTQ.jpg" draggable="false">
  </li>

  <li>
    <img src="www.webpage.com/ooabIAkbadaaIEJnkka.jpg" draggable="false">
  </li>

  <li>
    <img src="www.webpage.com/bEQLaooknOAEQlaihna.jpg" draggable="false">
  </li>
</ul>   

我可以使用以下代码轻松获得第一张图片:

    $td = $d1->find('ul.slides li img',0);
    if ($td != null){
        $slides_image1 = trim($td->src) ;
    }

但是还没有能够弄清楚如何获得任何其他图像。显然我需要去第一个&#39; li&#39;并检索该图像,然后第二个&#39; li&#39;并检索该图像等...任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

使用简单的HTML DOM解析器,而不是将0传递给表示返回第一个实例的find,错过此值并返回所有实例。因此,请使用foreach() ...

中的返回值
$slides_image = [];
foreach ($d1->find('ul.slides li img') as $td) {
    $slides_image[] = trim($td->src) ;
}