Php DomCrawler,使用first()或last()或eq()在特定位置选择类
在它的兄弟姐妹之间选择一个Php DomCrawler,使用first()或last()或eq()在特定位置选择类,php,web-scraping,domcrawler,Php,Web Scraping,Domcrawler,在它的兄弟姐妹之间选择一个类,我有点困惑Html结构如下 <ul class="pipeLink"> <li class="pg">1</li><li class="pg"><a href="/wedding/clientList/?pn=2&tdfkn=14">2</a></li> <li class="pg"><a href="/wedding/clientList/
类
,我有点困惑<代码>Html结构如下
<ul class="pipeLink">
<li class="pg">1</li><li class="pg"><a href="/wedding/clientList/?pn=2&tdfkn=14">2</a></li>
<li class="pg"><a href="/wedding/clientList/?pn=3&tdfkn=14">3</a></li>
<li class="pg"><a href="/wedding/clientList/?pn=4&tdfkn=14">4</a></li>
<li class="pg"><a href="/wedding/clientList/?pn=5&tdfkn=14">5</a></li>
<li class="pg"><a href="/wedding/clientList/?pn=6&tdfkn=14">6</a></li>
<li class="pg"><a href="/wedding/clientList/?pn=7&tdfkn=14">7</a></li>
<li class="pg"><a href="/wedding/clientList/?pn=8&tdfkn=14">8</a></li>
<li class="lastChild">
<a href="/wedding/clientList/?pn=2&tdfkn=14">next 30</a></li>
</ul>
但是当我使用last()
或first()
或eq(0)
等时。。。它只在a标记中获得一个属性,没有其他属性。尽管我只想在页面中获取一个ul.pipeLine
类并在其中迭代
我的意思是,预期产出应该是:
/wedding/clientList/?pn=2&tdfkn=14
/wedding/clientList/?pn=3&tdfkn=14
/wedding/clientList/?pn=4&tdfkn=14
/wedding/clientList/?pn=5&tdfkn=14
/wedding/clientList/?pn=6&tdfkn=14
/wedding/clientList/?pn=7&tdfkn=14
/wedding/clientList/?pn=8&tdfkn=14
但这就像:
/wedding/clientList/?pn=2&tdfkn=14
有可能实现吗 好吧,我解决了这个问题,并把它贴在这里,作为以后面对这个问题的人的答案
$links = $response->filter("ul.pipeLink")->last()->children("li a")->each(function($node){
return $node->attr("href");
});
$links = $response->filter("ul.pipeLink")->last()->children("li a")->each(function($node){
return $node->attr("href");
});