• ベストアンサー

リンクのアドレスを抜き出す方法

Linux Fedora Core3でperl-5.8.5-9を使用しています。 現在、ホームページのHTMLファイルを読み込んでページ内にあるリンクのアドレスを抜き出すプログラムをやっていますが上手いこと抜き出すことができません。何か良い方法は無いでしょうか?リンク先は「.html」だけでなく「.cgi」「.php」などすべてのリンクを表示させたいです。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

こういう処理には、パーサーを使います。 HTML::TokeParserモジュールを使った例: HTMLファイルは$strに読み込んであるとして use HTML::TokeParser; $parser = HTML::TokeParser->new(\$str); while($token = $parser->get_token()){ if($token->[0] eq 'S' && $token->[1] eq 'a'){#S:Startタグ タグ名:A $link = $token->[2]{'href'}; #href属性の取り出し print "link:$link\n"; } }

mizumaki22
質問者

お礼

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

すると、全ての回答が全文表示されます。

関連するQ&A