Google Sitemaps のフォーマットって何やらめんどくさいXML形式だけだと思いこんでた。
だから、Sitemap Generator なんてめんどいものが必要なんだと思ってた。
よく見たら、テキストファイルでも良いらしい。

一行につきひとつのURLを記述した UTF-8 なテキストファイル。
を用意して、Google Sitemaps に登録するだけでよかった。これならかんたん。

wget -c -x -r -L -l 0 -np http://hostname/dirname/

という感じで wget で既存のサイトをファイルとしてすべて取得してから、
以下のスクリプトで、ディレクトリ内ファイル名のリストを作って、


#!/usr/bin/env perl
 
#
# rlf - Recursive Listing Files
#
 
$SEPARATOR = '/';
 
for(@ARGV){
  & showdir($_);
}
 
# This function is based on a original function from
# uebu: Perlの覚え書きメモ
# http://kamakura.cool.ne.jp/oppama/misc/perltips.html
sub showdir {
 
  my($indir) = shift @_;
 
  opendir(INDIR, $indir) || die $!;
  my(@files) = readdir(INDIR);
  closedir(INDIR);
 
  for(@files){
 
    if($_ ne '.' && $_ ne '..'){
 
      $path = $indir . $SEPARATOR . $_;
 
      if(-d $path){
        &showdir($path);
      }else{
        print "$path\n";
      }
    }
  }
}
C:\> perl rlf.pl hostname/dirname

Windows なら \ があったら / に変更する、と。
URLの先頭には http:// を付けて、
できあがり。

何か、もっと良い方法がありそうなもんだけど、とりあえず。
# wget で取得中に キーワード http で grep した結果だけを出力するとか?

参考:

2006-09-22: 追記

ファイル一覧取得は tree コマンドを使うともっとラクかも
Google Webmaster Tools (Google Sitemaps) にサイトマップを登録する


コメント

づらねこにゃんたちが、良いらしいリストとか、めんどくさい必要など見たら
NI-Lab.が、ネットで必須とかを登録しないかも。


tags: zlashdot Internet

Posted by NI-Lab. (@nilab)