循环时的简单html dom遍历混乱

问题描述 投票:0回答:1

我正在尝试使用php脚本simplehtmldom在抓取时循环遍历网页上的div。

现在我有这个:

$url = "https://test.com/";

$html = new simple_html_dom();
$html->load_file($url);

$item_list = $html->find('div.main div[id]');

foreach ($item_list as $item)
{
    echo $item->outertext . PHP_EOL;
}

这会给我很多这样的感觉(来自上面循环中的回声):

<div id=1>
    <div>
      stuff here
    </div> 
    <div>
     <span class="title">name</span>
    </div>
</div>
<div id=2>
    <div>
      stuff here
    </div> 
    <div>
     <span class="title">name 2</span>
    </div>
</div>

我想做的是使用class = title遍历整个范围,但是无论如何我似乎都无法获得正确的选择器。有人可以帮我吗?

php html dom
1个回答
0
投票

您可以将span[class=title]添加为选择器来获得跨度:

$item_list = $html->find('div.main div[id] span[class=title]');

foreach ($item_list as $item)
{
    echo $item->outertext . PHP_EOL;
}
© www.soinside.com 2019 - 2024. All rights reserved.