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

HTML解析ツールを作る

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

執筆者:掌田 津耶乃



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
  • 3
  • 5
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます