dポイントプレゼントキャンペーン実施中!

学校のサーバ内(FTPで見えるユーザ)のユーザのHPを

ロボットで自動検索し、TOPページ(pubilc_htmlの下にあるinde.html)

を一覧で表示してくれるCGIを探します。

なにか手がかりがあればご教授ください。お願いします。

A 回答 (3件)

サンプル作ってみました。


細かい説明は難しいので、一番単純そうな形です。
以下のソースをlist.cgiといったファイル名で作成して、webから実行すればOKのはず。
cgiを動かす方法がわからない場合は、perl list.cgi > list.html とかして
一覧ページを手動で作成するのはどうですか。
先頭3行は環境に依存しますので、なんとか合わせてください。

#!/usr/local/bin/perl #perlの格納場所。-> which perlの結果
$url = "http://xxx.xx.xx/"; #ユーザ名の前までのURL -> http://xxx.xx.xx/~ユーザ名/index.html
$path = "/home/"; #ユーザ名の前までのディレクトリ -> /home/ユーザ名/public_html/index.html

print "content-type: text/html\n\n";
print "<html><body>\n";

$x = $path . "*/public_html/index.html";
foreach $file (<${x}>){
$a = substr($file, length($path));
$a =~ s/public_html\///;
$ref = $url . "~" . $a;
print "<a href=$ref>$ref</a><br>\n";
}
print "</body></html>\n";

ここから先はがんばってください。
    • good
    • 0
この回答へのお礼

たびたびご指導ありがとうございます。

上のソースを少しだけ変えて作ってみました。
すると何とか一覧が出力されました。
とりあえず目標は達成できました。

ちなみに
/home/ユーザ名/public_html/index.html
というところが実際には
/home/a/ユーザ名/public_html/index.html
/home/b/ユーザ名/public_html/index.html
・・・・
と言う風にaグループ bグループ etc...というような感じで
分かれているので、これをどう扱えばいいのかわからなかったので
とりあえず

$x = $path . "*/public_html/index.html";
foreach $file (<${x}>){
$a = substr($file, length($path));
$a =~ s/public_html\///;
$ref = $url . "~" . $a;
print "<a href=$ref>$ref</a><br>\n";
}
print "</body></html>\n";

↑これをグループ事に記述して結構長い物になってしまいましたが
どうに一覧は出ています。

これも
foreachというのを上手く使えば短いものになるのだと思い
少し奮闘してみます。

はじめてperlというものにふれてみましたが面白いですね。
本当にあるがとうございました。

お礼日時:2003/03/06 16:36

他人のディレクトリ下を勝手に見ていいの?


という問題もあるような気もしますが・・・

とりあえずこんな感じでファイルの一覧を取得できます。
foreach $a (<../../*/public_html/index.html>){
print "$a\n";
}
あとは、何とかページにしてください。

パスを変数で表現したいときは
$x = '../../*/public_html/index.html';
foreach $a (<{$x}>){
print "$a\n";
}
でいけるようです。

この回答への補足

公開しているHPなので大丈夫だと思います。
アドレスも規則性のある番号で決まっているので
URLを一人一人検出して手作業でリンク集を作ることも可能ですが
すごく・・・面倒なので・・・

コンピュータ言語にホボ無知なのでかかれていることが
サッパリなのですが・・・これはperlと呼ばれているものなのでしょうか??
これを***.plと名前を付けてtelnetとかで実行してみたらいいのでしょうか

・・・ぅーん勉強してみます。
ご指導ありがうございました。

補足日時:2003/03/03 19:28
    • good
    • 0
この回答へのお礼

今、ためしに実行してみました。
すると幾人かのindex.htmlファイルを検出する事が出来ました。
これを改造すればリンク集が作れるかもしれません。

本当にありがとうございました。

・・・その前にperlの勉強せねば・・・

お礼日時:2003/03/03 19:42

http://www.kent-web.com/data/index.html
書籍にて配布している物ですが「Web Finder」というものが
ありますよ

参考URL:http://www.kent-web.com/data/index.html

この回答への補足

補足を書いたつもりが投稿されてなかったみたいですみません。
まず早速のお返事ありがとうございます。
私の説明が足らなかったせいか少し私の探しいるCGIとは別物のようです。

私の探しているCGIを例で示すと
たとえば同一のサーバー内に

----ユーザ1---public_html---inde.html---etc...
ユーザ2---public_html---inde.html---etc...
ユーザ3---ホームページなし
ユーザ4---public_html---inde.html---etc...
  ユーザ5---ホームページなし

このような感じでサーバ内にホームページのTOP(index.html)が
あった場合にそれを自動で見つけ出しhtmlファイルにしてくれる
CGIでも別のアプリケーションでも構わないのですが
そういうの探しています。
もしくはそう言うCGIなりアプリケーションを作る手立てを探しています。
作りたいのは検索システムでなくてリンク集です。

補足日時:2003/03/02 09:09
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!