★★ Java の宿題ここで答えます Part 66 ★★
■ このスレッドは過去ログ倉庫に格納されています
0592デフォルトの名無しさん
2008/12/08(月) 22:15:31複数のページから情報を探すこと。プログラム名は WebSearcher とする。
ユーザは起点となるページの URL を複数指定できるものとする。探す情報として、以下の 2つを考える。
・内容検索: ページ内容から探す
・リンク検索: ページ内のリンクから探す
リンク先をたどる部分をマルチスレッドにより実現すること。スレッド数には上限を設けること。
また、同一サーバに接続する際には1秒以上間隔を開けることが望ましい。
リンクをたどるにあたっては、同じページを取得して無限ループに陥らないよう対策をとること。
また、たどる処理の終了条件については適切に設定すること (階層に制限、見つかるまで無制限、など)。
結果はファイルに出力できるようにすること(リダイレクトで書き込むのでもかまわない)。
ポイント
取得対象のURLの管理がポイントとなる。生産者-消費者モデルを参考にすること。なお、Queue の長さは固定とは限らない。
探して見つかった情報をどう保持するかもポイントの 1つである。適切なデータ構造を考えること。
-内容検索-
ユーザが検索語を正規表現で入力し、それにマッチする表現を探して、そのマッチした表現と、
その周囲の表現を表示すること。その際、マッチした部分が分かるようにすること。
ページ内でマッチした回数などで、マッチしたページのランキングを行い、その順に結果を表示すること。
-リンク検索-
ユーザがURLを正規表現で入力し、それにマッチするリンクを探すこと。これができれば、
例えば特定の拡張子のファイルへのリンクを収集したり、特定のサイトにリンクを張っているページを探したりすることができる。
マッチしたURLを含むページのタイトルとURL、マッチしたURLによるリンクのリンク元文字列などを表示すること。表示する順序についても検討すること。
【形態】1. Javaアプリケーション(main()で開始)
【期限】12月13日
【Ver】1.5.0.16
【補足】下記のプログラムを参考にと補足がありました。よろしくおねがいします
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/507.java
■ このスレッドは過去ログ倉庫に格納されています