站点地图这个东西,目的是为了对搜索引擎友好。搜索引擎每天来爬你的网站,如果能给它提供一份实时更新的站点地图,自然会让搜索引擎在爬取网站的时候更加有效率。
     这里用php实现了一个自动化的站点地图生成器,可以在爬虫访问站点地图的时候动态的创建页面,来提供一份实时更新的sitemap.xml。
     具体的实现,首先你需要让apache服务器支持将xml文件作为php来解析,这样sitemap.xml中的php语句得以执行。
     可在站点根目录下的.htaccess文件的 和之间加入这一句: 
        addtype application/x-httpd-php .xml
至于php部分,其实就是先获取网站首页所有的url,再将url写入页面,同时将创建的日期设为今天。这样爬虫就会认为站点是实时更新的,从而提高搜索排名。然后就是sitemap.xml的源代码: 
    /';    $result = preg_match_all($reg_tag_a, $web_content, $match_result);    if ($result) {        return $match_result[1];    } } function _reviseurl($base_url, $url_list) {    $url_info = parse_url($base_url);    $base_url = $url_info[scheme] . '://';    if ($url_info[user] && $url_info[pass]) {        $base_url .= $url_info[user] . : . $url_info[pass] . @;    }     $base_url .= $url_info[host];    if ($url_info[port]) {        $base_url .= : . $url_info[port];    }     $base_url .= $url_info[path];    if (is_array($url_list)) {        foreach ($url_list as $url_item) {            if (preg_match('/^http/', $url_item)) {                $result[] = $url_item;            } else {                $real_url = $base_url . '/' . $url_item;                $result[] = $real_url;            }         }         return $result;    } else {        return;    } } function crawler($url) {    $content = _geturlcontent($url);    if ($content) {        $url_list = _reviseurl($url, _filterurl($content));        if ($url_list) {            return $url_list;        } else {            return ;        }     } else {        return ;    } } function main() {    $current_url = http://www.chorder.net;    $result_url_arr = crawler($current_url);    if ($result_url_arr) {        foreach ($result_url_arr as $url) {            echo ''.$url.''.date(y/m/d).'always 1.0';        }     }    echo '';}main();?>
效果可以见 http://www.chorder.net/sitemap.xml
   
 
   