[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] Re: UrlRetriever.java



高橋智宏さんからのメールを転送します。

==========================================================================
  <このままJava互助会MLに転送していただいて構いません。>

  高橋@シンヨーサンワテクノス です。
  昨晩、UrlRetrieverクラスを拝見いたしました。私も昔同じようなものを作成し
ていました。HTMLファイルを読み込んだら、片っ端からURLの文字列を見つけて、
世界中のリンクを辿り続けるものでした。パケットの無駄遣いとはまさにこの事で
す。(^^;

  遠藤さんは、いろいろとタグを解析していらっしゃるようですが、私の場合は、
以下のようにコーディングしていました。

<1>HTMLファイル読み込み
<2>1行づづ読み込む
<3>1行を「"」で区切り、文字列(spec)を切り出す
<4>切り出した文字列を利用して、URL url = new URL(base, spec)
                               URL url = new URL(spec)
  を行い、MalformedURLExceptionを検出する


  簡単なコードを書くとこんな感じでしょうか...
  String line = in.readLine();
  StringTokenizer tokenizer = new StringTokenizer(line, "\"");
  while( tokenizer.hasMoreTokens() )
  {
    String spec = tokenizer.nextToken();
    URL url1 = null;
    URL url2 = null;
    try{
      url1 = new URL(base, spec);
    }
    catch(MalformedURLException url_e1){}

    try{
      url2 = new URL(spec);
    }
    catch(MalformedURLException url_e2){}
    
    if( url1 != null )
      ....
    if( url2 != null )
      ....
  }


何か参考になれば幸いです。

------------
高橋智宏
==========================================================================
------------------------------------------------------------------
遠藤靖之 (えんどう やすゆき) <yasuyuki@xxxxxxxxxx>
http://www.freepage.total.co.jp/jfriends/ (Java互助会ホームページ)
株式会社タイムインターメディア 情報通信サービス部 TEL 03-5362-9009
〒162-0065 新宿区住吉町3-11 新宿スパイアビル8F    FAX 03-5362-9008