こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

実行対象のブログのURLは抽出させない

以前の質問http://oshiete1.goo.ne.jp/kotaeru.php3?q=1725502
のご回答のプログラムを改良してトラックバックされたブログURLを抽出する
以下のようなプログラムを作成しました。
(省略部分は参考プログラムとほぼ同じ。)

class GetTBurlLivedoor {

public static String[] getTBaddrLivedoor(String urlString){



//ブログのURLを抽出。ただし、スペースの都合上ここではライブドアのみ抽出とする
//indexOfを用いての範囲指定はせず、HTMLすべてに対してパース


Pattern trackBack = Pattern.compile("http://blog.livedoor.jp/.*/archives/\\d+.html");

while((aLine = reader.readLine())!=null){

Matcher m = trackBack.matcher(aLine);
if(m.find()){

addr+=m.group(0)+",";

}


public static void main(String[] args){

String url = args[0];
//実行例 http://blog.livedoor.jp/takapon_ceo/archives/50030785.html

String[] TBaddr = getTBaddrLivedoor(url);

for(int i=0;i<TBaddr.length;i++)
System.out.println(TBaddr[i]);

}
}

そこで、URLを抽出する際に、実行対象となるブログ自身に関するURL
例)http://blog.livedoor.jp/takapon_ceo/archives/50034644.html
などは抽出しないようにするため、
そのブログ自身のIDを含むURLは抽出しないような処理をしたいと思います。

例えば、ライブドアでは、ブログのIDは、
http://blog.livedoor.jp/ ID /archives/50030785.html
となっているので、このID(実行例ではtakapon_ceo)を含むURLは抽出しないようにさせたいです。

このようにするには、どのようにプログラムを組めばよいでしょうか?

よろしくお願いします。

投稿日時 - 2005-12-04 00:29:47

QNo.1817993

すぐに回答ほしいです

質問者が選んだベストアンサー

元になる引数として受け取るurlをsplitして、id部分を取り出し、
マッチしたurlも同じくsplitしてイコールか調べて、イコールでないときだけ、addr+=する

投稿日時 - 2005-12-04 04:16:54

お礼

ご回答ありがとうございます。

無事、問題を解決することができました。

投稿日時 - 2005-12-04 18:37:45

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問