Javaプログラミング関連情報

更新日:2007年03月11日

HTML解析ツールを作る

編集部 All About 写真

今回は、URLを入力するとそのページにアクセスし、そこに含まれているリンクやイメージファイルを抜き出す解析ツールを作ってみます。

文章:掌田 津耶乃(All About「Javaプログラミング」旧ガイド)


JavaでHTMLを扱うには?


FreeHtmlAnalyzerは、URLを入力してボタンを押すと、Webページのプレビュー表示や、ページに含まれているリンク・イメージファイルを一覧表示する。

Webサイトをブラウズするとき、そのページの情報を調べたいと思うことはないでしょうか。たとえば、そこで使われているイメージファイルをチェックしたい、とか、リンク先をチェックしたい、というようなことですね。このJavaプログラミングをご覧になっている人の中にはWeb開発に携わる人も少なくないでしょう。そうした方なら、参考になるサイトのソースコードを調べたりした経験があるはずです。

そこで、Webのページを調べて、そこにある要素を解析するようなツールを作成してみましょう。とりあえず今回作成してみるのは、HTMLのソースコードから<img>タグのsrcと<a>タグのhrefをすべて抜き出し表示するというものです。つまり、そのページに含まれているイメージファイルとリンクを調べるわけです。

FreeHtmlAnalyzerは、入力フィールドが1つとボタンが2つというシンプルなソフトウェアです。使い方は、入力フィールドに調べたいWebページのURLを入力し、ボタンを押すだけです。「load」ボタンを押すと、そのページを読み込んでウインドウの上部に表示します。JavaScriptやプラグインなどは動きませんが、一般的なHTMLのレイアウトは再現されるので、ページのプレビューとして利用できるでしょう。また「analyze」ボタンを押すと、そのWebページに含まれている<img>タグと<a>タグの中から、それぞれsrcとhrefの値を抜き出し、ウインドウ下部に一覧表示します。

今回のプログラムでは、HTMLについて2通りの利用の仕方をしています。1つは、そのままHTMLのソースコードをレイアウトして表示するというもの。もう1つは、HTMLを解析し、その中から必要な情報を取り出し処理するというものです。

「HTMLをレイアウト表示する」という方法については、多くの方は「あれか」とすぐにぴんと来たことでしょう。そう、Swingの「JEditorPane」を使えば、簡単にHTMLをレイアウト表示することができます。このJEditorPaneは、標準テキスト、リッチテキスト、HTMLソースコードをそれぞれレイアウトした状態で表示することができます。

Webサイトのページを読み込んで表示させるには、そのページのURLインスタンスを取得し、JEditorPaneの「setPage」で表示ページの設定を行うだけです。

html.setPage(url.getText());


たったこれだけで、urlというJTextFieldに入力されたURLのWebページをhtmlというJEditorPaneに表示させることができます。ただし、これはIOExceptionを発生させる場合がありますので例外処理を忘れないようにしましょう。


(執筆者:掌田 津耶乃)

1 2 35
  • 印刷する
  • ブックマークする
  • 携帯に送る
  • ブログに書く

あわせて読みたい

この記事の担当ガイド

写真

編集部 All About

住まいには、人の個性がよく現れるもの。同じ空間をどのように使うかで、雰囲気も、快適さも大きく変わってくる。ここでは、「建築家と家を建てる」ガイド の川畑博哉氏が厳選した10軒を紹介し、建築家それぞれのこだわりのポイントを紹介しよう。建築のプロたちが考え出した、マネしたくなるアイデアが満載! さぁ、いますぐチェック!

人気Javaプログラミングランキング

Powered by 価格.com

デジタル関連コミュニティ

北欧好きが、愛用の北欧モノを見せ合うコミュニティ

メルマガ登録

【デジタルメルマガ】オトナのオトコなら知っておきたい、PCやデジモノに関する情報をお届けします。

ショッピングカタログ

All About ウェブマガジン

女性向け

雨が楽しくなる!レイングッズ15

男性向け

マネしたくなるアイデア住宅

All About モバイル

QRコード

All Aboutがケータイで読める!

オススメ記事をメールでチェック

知識・経験を生かして、記事を書いてみませんか?