我使用以下PHP腳本獲取給定頁面上的所有鏈接,但我試圖獲取整個網站上的所有鏈接。使用cURL獲取網站中的所有鏈接(不僅是頁面)
<?php
function urlLooper($url){
$urlArray = array();
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
$regex='|<a.*?href="(.*?)"|';
preg_match_all($regex,$result,$parts);
$links=$parts[1];
foreach($links as $link){
array_push($urlArray, $link);
}
curl_close($ch);
foreach($urlArray as $value){
echo $value . '<br />';
}
}
$url = 'http://www.justfundraising.com/';
urlLooper($url);
?>
有沒有辦法使用捲曲(或者坦白任何其他方法)來獲取網站上的所有鏈接?如果您想知道,我可以訪問服務器。
我的想法是從主頁生成所有鏈接,然後通過相同的函數傳回這些鏈接,以獲得忽略任何重複鏈接的新鏈接列表。我以這種方式得到所有的頁面。
任何幫助將不勝感激!
你可以調查'phpQuery'從而簡化了頁面的檢索和分析,從而構建一個簡單的蜘蛛比手動不太繁瑣捲曲和文本提取方法。 – mario
上面的腳本剛剛幫了我很大的忙,謝謝=) – RayZor
我用[this](http://blog.viktorkelemen.com/2011/07/get-links-from-page-with-bash.html);不知道它是否會有所幫助。 –