php抓取一个站点的所有链接,类似蜘蛛,哈哈,不知道有没有高手知道怎么写呢
例如入口外是http://www.ghdhairol.com/然后要给出这个站的所有链接 

解决方案 »

  1.   

    1.用curl抓取页面
    2.用正则提取链接
      

  2.   

    改的phpwind的$urlArray=array();
    $host="http://www.ghdhairol.com/";
    $string = @file_get_contents($host);$string=preg_replace(
    array(
    "/\<a(\s*[^\>]+\s*)href\=([\"|\']?)([^\"\'>\s]+[^\"\'>\s]+)([\"|\']?)/ies",
    ),
    array(
    "getHref('\\3','<a\\1href=\"')",
    ),
    $string
    );
    print_r($urlArray);
    function getHref($url,$tag=""){
    global $urlArray;
    if(!preg_match('/^http|ftp|telnet|mms|rtsp/ie',$url)&&$url!="") {
    $url=$host.$url;
    }
    !in_array($url,$urlArray) && $urlArray[]=$url;
    $url = $tag==""?$url:$tag.$url.'"';
    $url= stripslashes($url);
    return $url;
    }
      

  3.   

    我是可以的。
    但file_get_contents不是很好用。
    最好换成fsockopen或curl
      

  4.   

    不错
      
    ************************
    zzzzzzzzzzz
    ************************