2016-06-21 115 views
0

我試圖獲取div標籤內的所有鏈接。 我能夠得到所有的名字,但也想獲得鏈接。 示例HTML:如何使用Goutte獲取div標籤中存在的所有鏈接

<li id="u_1y_y" class="friendBrowserListUnit"> 
<div class="clearfix"> 
<a class="_8o _8t lfloat _ohe" aria-hidden="true" tabindex="-1" href="/profile.php?id=100004732455685&fref=pymk" role="presentation"> 
<div class="clearfix _42ef"> 
<div class="rfloat _ohf"> 
<div class="friendBrowserContentAlignMiddle"> 
<div class="friendBrowserNameTitle fsl fwb fcb"> 
<a href="/profile.php?id=100004732455685&hc_location=friend_browser&fref=pymk">Jeya Kumar</a> 
</div> 
<div class="friendBrowserMarginTopMini"></div> 
<div class="fsm fwn fcg"> 
</div> 
</div> 
</div> 
</li> 
<li id="u_1y_y" class="friendBrowserListUnit"> 
<div class="clearfix"> 
<a class="_8o _8t lfloat _ohe" aria-hidden="true" tabindex="-1" href="/profile.php?id=100004732455&fref=pymk" role="presentation"> 
<div class="clearfix _42ef"> 
<div class="rfloat _ohf"> 
<div class="friendBrowserContentAlignMiddle"> 
<div class="friendBrowserNameTitle fsl fwb fcb"> 
<a href="/profile.php?id=100004732&hc_location=friend_browser&fref=pymk">Aman Kumar</a> 
</div> 
<div class="friendBrowserMarginTopMini"></div> 
<div class="fsm fwn fcg"> 
</div> 
</div> 
</div> 
</li> 

我試了一下:

$message = $crawler->filter('div.friendBrowserNameTitle.fsl.fwb.fcb'); 
foreach ($message as $key) { 
    echo $key->textContent . '<br>'; 
} 

輸出:

Jeya Kumar 
Aman Kumar 

可是如何才能讓鏈接:

/profile.php?id=100004732455685&hc_location=friend_browser&fref=pymk 
/profile.php?id=100004732&hc_location=friend_browser&fref=pymk 

回答

0

當用戶發出請求使用Goutte,一個返回實例。 Crawler對象提供Crawler::links()實用程序方法,提供給定搜尋器對象中的所有鏈接。

Crawler::links()方法將返回在其中找到的鏈接數組。

$links = $crawler->links(); 
foreach ($links as $link) { 
    echo $link->getUri(); 
}