Perlで、htmlファイルを開き、imgタグ

例:<img src=”hogehoge.jpg” whidth=”***” height=”***”>
のみを抽出する方法を教えて下さい。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/06/25 00:24:00
  • 終了:--

回答(3件)

id:akatuki1990 No.1

akatuki1990回答回数175ベストアンサー獲得回数02005/06/25 00:28:16

http://www.site-cooler.com/

Knave Web講座 --- Java, ASP, Perl, JavaScript, HTML

まずは、初心者支援サイトです。

HTMLについての、初心者講座です。

この程度にしか、力になれない自分が、惨めですが(^^;;

うまくいくといいですね。

成功お祈りいたします(^o^)

id:noriyoshi

いくつかの初心者向けサイトには目を通してあります。

これを実現するスクリプトをピンポイントで教えて頂けると有り難いです。

2005/06/25 00:34:43
id:kimbara No.2

kimbara回答回数638ベストアンサー獲得回数132005/06/25 00:46:09

ポイント60pt

if (open HTMLFILE, $file) {

 while ($line = <HTMLFILE>) {

  if ($line =~ /(<img.*?>)/) {

   print ”$1?n”;

  }

 }

}


こんな感じです。実際試してみましたが、ちゃんと動きました。

id:noriyoshi

ありがとうございます。

参考になりました。

意外に簡単なのですね。

何分初心者なもので…

2005/06/25 01:23:36
id:o_ob No.3

o_ob回答回数33ベストアンサー獲得回数02005/06/25 01:06:24

perlってのは開発言語ですから開発するにはテキストエディタを使いますよね?

であれば、テキストエディタで有名な秀丸のgrep機能を使うといいと思います。


具体的には秀丸を立ち上げたら上に表示されている検索→grepの実行→検索する文字列に「img src」と入力すれば、img srcが含まれる箇所のみ抽出されます。

id:noriyoshi

私も、秀丸を使っていますので上記の方法は知っています。

あくまで、Perlでの方法を知りたかったのです。

2005/06/25 01:28:56
  • id:kimbara
    修正です

    open に対するcloseがありませんでした。失礼しました。

    if (open HTMLFILE, $file) {
     while ($line = <HTMLFILE>) {
      if ($line =~ /(<img.*?>)/) {
       print ”$1?n”;
      }
     }
     close HTMLFILE;
    }

    Perlスクリプトが終了すれば自動的にcloseされるからなくても問題ないと思いますが、プログラミングとしてはだめですよね。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません