• ベストアンサー

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

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

  • Perl
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • 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

  • htmlファイルをテキストファイルに読みこむ方法

    Linux Fedora Core3でperl-5.8.5-9を使用しています。 自分のホームページではなく他の誰かのホームページのHTMLのソースファイルをテキストファイルに保存できるようなプログラムはできないでしょうか?

    • ベストアンサー
    • Perl
  • Linux Fedora core2のwebサーバー

    Linux Fedora core2のwebサーバーで、CGIを動かしたいのですが、上手く行きません。perlを実行するプログラムもインストールしてあるのですが、どうしても上手く行かず、ソースをブラウザの表示します。 どうやったら、CGIを動かせるのでしょうか?

  • CGIでメールアドレスのリンクを追加する方法を教えてください

    MKEditerを使ってCGIを編集しています。ホームページを作成しているのですが、トップページをindex.cgiというCGIで作成して、そのページの中に例えば《お問い合わせ》のようなかたちでメールアドレスへのリンクを張りたいのですが、どうやら半角の@を入力するとそこだけ消されてしまうようです。ただ、全角で入力しても当然リンクとしては認識されないようなので困ってしまいます。知識のある方お願いいたします。

    • ベストアンサー
    • CGI
  • リンク指定

    自分のホームページのリンクから別の自分が作成したページに行く、という仕組みを作りたいのですが、そのためにはリンク先のページ(HTMLファイル)をもう1つ作らなければいけないのでしょうか? 回答宜しくお願いします。

    • ベストアンサー
    • HTML
  • CGIを自作するには・・・??

    こんにちは。 掲示板やアクセスカウンターなどのCGIを自分で作りたいのですが、まず何から勉強すれば良いのか教えてください。 HTMLでホームページを作るくらいで、プログラムのことは全くの初心者です。 やはりPerlが分かってからでないと難しいのでしょうか? また、CGIとPHPと言うのは根本的に違うものなのでしょうか? CGIが作れるからPHPも・・・と言うわけにはいかないのですか? その辺のところを教えていただけるとありがたいです。 よろしくお願いします。

    • ベストアンサー
    • CGI
  • PHPの変数値をリンクさせたい

    現在、PHP・MySQL・HTMLにてWebサイトを開発しています。 純粋なPHPで記述されたファイルがあり、その中にURL(例えば、BBSのアドレス)が変数に格納されています。そのURL先にジャンプさせたいのですが、どのように記述すれば良いのでしょうか?現在は「require」にてリンクさせていますが、これではページ自体は表示されるのですが、リンク先のページにあるリンク"新規投稿"や"検索"といった文字列をクリックしても「404 Page not found」となり表示されません。おそらくLocalのキャッシュを見ているのでは無いとか思われます。 PHPの初心者のため基本が出来てないのですが、ご教授頂ければ嬉しいです。

    • ベストアンサー
    • PHP
  • ホームページ リンクの付け方

    無料のホームページテンプレートを使ってホームページを作っています。 そのページのメニューやリンクのところにタイトル例えば「XXのページ」とか書き込みました。 でも、HTTPのアドレスを入れないとクリックして飛ぶようにはなりませんよね。 何処に飛ぶ先のアドレス又はファイル名を入れるんでしょうか。 初歩的な質問ですみません。宜しくお願いします。

  • ホームページビルダーでリンクを元の場所に戻す方法

    ホームページビルダーでリンクを元の場所に戻す方法 ホームページビルダー14で初めてホームページを作成しています。 HTMLは不勉強なため全て「ページ編集」で作っています。 質問内容  ・リンク元ページのある「文字」から他のページにリンクを張り、リンク先のページから元のページに戻る場合にページの先頭に戻ってしまいます。リンク元の「文字」の場所に戻すことができるのでしょうか。 Googlで検索してみましたが対処法が見つからず質問しました。 よろしくお願いします。

  • リンク先を隠す方法はないでしょうか?

    たとえば、リンク先が http://hoge.com/hoge.htm だとしたらアドレス(URL)欄に http://aaa.com/hoge.php?aaa (aaa.comはリンク元) とかいう表示がされるような方法はないでしょうか? java perl php はもちろん何でもかまいません。 フレームは除きます。 初心者なのでなるべく簡単な方法がありがたいです。

    • ベストアンサー
    • PHP
  • リンク先を更新したら「New]等の画像がメニューに表示され、一定期間が過ぎると「new」画像が削除される方法

    タイトルままなのですが、メニューのボタンにリンク先(他のページや他のサイト)が更新されると「NEW」などの画像を表示し、数日後、自動的に「NEW」画像を消すようなプログラムはありますでしょうか。 PHPやSSIでもいいのですが、サーバの関係で他のサーバにCGIを置いているので相対パスではファイル指定できない場合があります。 リンク先はCGIの掲示板や日記です。 ログファイルの情報を取得するような形になるのでしょうか。 「面倒だから手動の方が・・・」とのご意見もあるかと思いますが、作成者と管理人が異なる為、手動でHTMLを加工ということができません。 どなたかご教示お願い致します。

    • ベストアンサー
    • CGI

専門家に質問してみよう