1

我有一个爬虫,它爬取一个特定值的站点,这个值不直接位于类 div 内部,但当然有一个由类指定的父 div。这个值位于父 div 的第 3 个 div 中(如果你往下看,你会明白我的意思)。

代码

if($page->find('div.mbcContainer div div span')){       
   foreach($page->find('div.mbcContainer div div span') as $p){ 
      if(trim($p->plaintext)){                      
         $tp = $p->plaintext;
      }
   }
}

html页面

<div class="mbcContainer">
   <div>
      <div class="ie1"></div>
      <div class="ie2"></div>
      <div>
         <span>get this value</span>
      </div>
   </div>
</div>

我正在尝试使用值“获取此值”来获取跨度,有什么方法可以做到这一点。

4

2 回答 2

1

编辑:这可以解决问题:

echo $page->find('div.mbcContainer div', 0)->children(2);

或者,如果您想遍历:

foreach ($page->find('div.mbcContainer div') as $p) {
    echo $p->children(2);
}
于 2012-05-19T20:26:23.460 回答
1
div.mbcContainer div div:nth-child(3) span
于 2012-05-19T20:42:21.330 回答