• 締切済み

複数のHTMLファイルの中身において、指定したタグ範囲の文字列をエクセ

複数のHTMLファイルの中身において、指定したタグ範囲の文字列をエクセルかCSVで抜き出すツールをご存じないでしょうか? 例: <tilte>~<tilte> <h2>~</h2> など、上記のようにタグで指定した範囲の文字列を抜き出したいと考えてます。 なお、対象となるHTMLファイルはローカルフォルダにあるので、パスを指定して ソースの中身を抜き出すイメージです。 よろしくお願い致します。

みんなの回答

  • bardfish
  • ベストアンサー率28% (5029/17766)
回答No.2

直接の回答あではありませんが… Perlって覚えるとすっごく便利ですよ。 今回の質問のようなことはHTML以外でも使うケースというのは沢山あるので、PerlではいわゆるFAQ状態です。Perlの書籍を買えばサンプルコードが載っているほど。 おまけに、ホームページを設置する無料レンタルサーバーでもPerlが使えるところは多いはずです。 そういうところでは自作CGIや無料で公開されているPerlのCGIを設置することが出来、Perlを知っていれば自分で改造することも可能です。 それにPerlってテキスト処理の実行速度がもの凄く速いんですよね。 エクセルのマクロでテキストファイル処理するより遙かに… また、拡張ライブラリを使用すればエクセルファイルを直接操作できたりと、覚えると応用範囲はもの凄く広くなります。 ダウンロード先 http://www.activestate.com/activeperl/downloads 参考 http://www.din.or.jp/~ohzaki/perl.htm この他にオライリーのPerl関連本を何冊か買っておくと便利。

anan19
質問者

お礼

そんなに便利なものだったんですね。。 遠回りですが、身に付けて損はないと思いますので勉強したいと思います。 良いキッカケを与えていただきありがとうございました。

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

Perlを使えばよいかと・・ ウェブサイト作ってれば必須な言語なので そのディレクトリのファイル一覧を取得 一覧を順番に開く 各行を読んでパターンマッチ while(<line>){   if( $_=~ <title>(.*?)</title>){ push @title,$1;}   if( $_=~ <head>(.*?)</head>){ push @h1,$1; last;} } とか・・

anan19
質問者

お礼

ご回答ありがとうございました。 Perlですか、、、ベタなHTMLしか組んだ事がないので Perlを組むのは敷居が高いですね、、 でも、この機会に本を読んでみて出来そうならやってみます。 アドバイスありがとうございました。

関連するQ&A