(57)【特許請求の範囲】
【請求項１】
インターネット上のウェブページを取得して画面展開するページ閲覧部と、
前記ページ閲覧部で画面展開されたウェブページを解析し、利用者の操作により発生するイベントに応じて動的にリンク情報を生成するイベント操作タグ文を抽出するページ解析部と、
前記ページ解析部で抽出されたイベント操作タグ文に対し前記イベントを発生させるイベント発生部と、
前記イベント発生部による発生イベントで生成されたリンク情報によるページ遷移からリンク先のウェブ情報を検出して保存するリンク情報検出部と、
を備えたことを特徴とするインターネット情報収集装置。
【請求項２】
請求項１記載のインターネット情報収集装置に於いて、前記リンク情報検出部は、更に、前記ページ閲覧部がアクセスしたプロキシサーバからリンク先のウェブ情報を検出して保存することを特徴とするインターネット情報収集装置。
【請求項３】
請求項１記載のインターネット情報収集装置に於いて、
前記ページ解析部は、前記ウェブページを構築するタグ文の中のフォーム文で規定された範囲からインプット文を抽出し、
前記イベント発生部は、前記インプット文につき定義されている全てのイベントを順次発生し、その中の有効イベントによりリンク情報を生成させることを特徴とするインターネット情報収集装置。
【請求項４】
コンピュータに、
インターネット上のウェブページを取得して画面展開するページ閲覧ステップと、
前記ページ閲覧ステップで画面展開されたウェブページを解析し、利用者の操作により発生するイベントに応じて動的にリンク情報を生成するイベント操作タグ文を抽出するページ解析ステップと、
前記ページ解析ステップで抽出されたイベント操作タグ文に対し前記イベントを発生させるイベント発生ステップと、
前記イベント発生ステップによる発生イベントで生成されたリンク情報によるページ遷移からリンク先のウェブ情報を検出して保存するリンク情報検出ステップと、
を実行させることを特徴とするインターネット情報収集プログラム。
【請求項５】
インターネット上のウェブページを取得して画面展開するページ閲覧ステップと、
前記ページ閲覧ステップで画面展開されたウェブページを解析し、利用者の操作により発生するイベントに応じて動的にリンク情報を生成するイベント操作タグ文を抽出するページ解析ステップと、
前記ページ解析ステップで抽出されたイベント操作タグ文に対し前記イベントを発生させるイベント発生ステップと、
前記イベント発生ステップによる発生イベントで生成されたリンク情報によるページ遷移からリンク先のウェブ情報を検出して保存するリンク情報検出ステップと、
を備えたことを特徴とするインターネット情報収集方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面展開したウェブページからリンク先のウェブ情報を収集するインターネット情報収集装置、プログラム及び方法に関し、特に、ウェブページのタグ文を解析してリンク先のウェブ情報を収集するインターネット情報収集装置、プログラム及び方法に関する。
【背景技術】
【０００２】
近年、インターネット上のみで公開されて短時間で更新、削除されてしまうウェブページを保存して一般に公開するウェブ図書館システムの構築が計画されており、このようなシステムにあっては、インターネット上の情報資源の収集・蓄積を行うウェブアーカイビングという技術が必要となる。【０００３】
従来のウェブアーカイビングでは、インターネットのウェブサイトがハイパーリンクとしてのウェブページの中に他のコンテンツへのリンク情報をもっていることから、このリンク情報を元に、あるページから次のページへの遷移を判断して、関連するページの情報を収集するという方法が取られている。【０００４】
従来、インターネット上のコンテンツを自動収集するものとしてウェブロボットが知られており、ウェブロボットは、ウェブページのＨＴＭＬ文書を解析することでリンク情報を収集し、階層的にウェブページの遷移を行ってコンテンツを収集し、過去にインターネット上で公開されたウェブページ情報をユーザが検索閲覧することを可能にしている。
【特許文献１】特開２００２−０７３６０９号公報
【特許文献２】特開２００３−３４５８２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、近年のインターネットコンテンツは、ダイナミックＨＴＭＬとして知られたウェブページに利用者との対話性をもたせるＨＴＭＬの拡張仕様として、ＨＴＭＬ文書の中にスクリプトを埋め込むことにより、動的に外部リンクを生成しているものが増えてきている。【０００６】
例えばウェブページに表示された選択メニューによって利用者に選択肢「１」から「３」を示し、利用者の選択した選択肢に応じて異なるリンク先情報としてのＵＲＬを生成し、生成したＵＲＬのウェブページに遷移させている。【０００７】
しかしながら、従来のウェブページのＨＴＭＬ文書を解析してリンク情報を収集する方法にあっては、対話性を持つコンテンツにおける利用者の操作によって生成されるリンク情報を検出することが困難であり、リンク情報の収集漏れが大きいという問題がある。【０００８】
例えばユーザが選択メニューから選択した選択肢に応じてリンク先のＵＲＬを発生させるコードが記載されたウェブページでは、遷移先のＵＲＬがウェブページに記載されたコードからだけでは判断できないため、遷移先のウェブ情報を収集できないという問題がある。【０００９】
勿論、ウェブページを開いた状態でオペレータが操作ボタンやメニュー選択などの操作を行うことでリンク情報を検出することは可能であるが、人為的な操作を必要とするために手間と時間がかかりすぎる問題がある。【００１０】
本発明は、利用者の操作により生成されるリンク情報を漏れなく自動収集するインターネット情報収集装置，プログラム及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明はインターネット情報収集装置を提供する。本発明のインターネット情報収集装置は、
インターネット上のウェブページを取得して画面展開するページ閲覧部（ブラウザ）と、
ページ閲覧部で画面展開されたウェブページを解析し、利用者の操作により発生するイベントに応じて動的にリンク情報を生成するイベント操作タグ文を抽出するページ解析部と、
ページ解析部で抽出されたイベント操作タグ文に対しイベントを発生させるイベント発生部と、
イベント発生部による発生イベントで生成されたリンク情報によるページ遷移からリンク先のウェブ情報を検出して保存するリンク情報検出部と、
を備えたことを特徴とする。【００１２】
ここで、リンク情報検出部は、更に、ページ閲覧部がアクセスしたプロキシサーバからリンク先のウェブ情報を検出して保存する。【００１３】
ページ解析部は、ウェブページを構築するタグ文の中のフォーム文で規定された範囲からインプット文を抽出し、イベント発生部は、インプット文につき定義されている全てのイベントを順次発生し、その中の有効イベントによりリンク情報を生成させる。【００１４】
またページ解析部は、ウェブページを構築するタグ文の中のフォーム文で規定された範囲から利用者に選択肢を示すセレクト文と利用者操作を必要とするインプット文を抽出し、イベント発生部は、セレクト文の選択肢を変更しながらインプット文に対しイベントを発生する。【００１５】
詳細には、ページ解析部は、ウェブページを構築するタグ文の中のフォームタグで規定された範囲からフォームタグの子供タグとなるインプットタグ、インプットタグの兄弟タグとなる選択リストを作成するセレクトタグ、セレクトタグの子供タグとなる選択リストの内容を示す複数のオプションタグを抽出し、イベント発生部は、セレクトタグ内の複数のオプションタグを変更しながらインプットタグのイベントを発生する。【００１６】
この場合もイベント発生部は、インプットタグにつき定義されている全てのイベントを順次発生し、その中の有効イベントによりリンク情報を生成させる。【００１７】
リンク情報検出部は、現在展開中のウェブページのイベント操作タグ文に対するイベント発生でページ遷移するウェブページのリンク情報を全て検出して保存した後に、他のウェブページを画面展開してイベント操作タグ文に対するイベント発生でページ遷移するウェブページのリンク情報を取得して保存する処理を繰り返す。【００１８】
リンク情報検出部は、リンク先への通信前に通知される通信イベント情報からページ遷移せずに遷移するウェブページのリンク情報を検出する。【００１９】
本発明はインターネット情報収集プログラムを提供する。本発明のインターネット情報収集プログラムは、コンピュータに、
インターネット上のウェブページを取得して画面展開するページ閲覧ステップと、
ページ閲覧ステップで画面展開されたウェブページを解析し、利用者の操作により発生するイベントに応じて動的にリンク情報を生成するイベント操作タグ文を抽出するページ解析ステップと、
ページ解析ステップで抽出されたイベント操作タグ文に対しイベントを発生させるイベント発生ステップと、
イベント発生ステップによる発生イベントで生成されたリンク情報によるページ遷移からリンク先のウェブ情報を検出して保存するリンク情報検出ステップと、
を実行させることを特徴とする。【００２０】
本発明はインターネット情報収集方法を提供する。本発明のインターネット情報収集方法は、
インターネット上のウェブページを取得して画面展開するページ閲覧ステップと、
ページ閲覧ステップで画面展開されたウェブページを解析し、利用者の操作により発生するイベントに応じて動的にリンク情報を生成するイベント操作タグ文を抽出するページ解析ステップと、
ページ解析ステップで抽出されたイベント操作タグ文に対しイベントを発生させるイベント発生ステップと、
イベント発生ステップによる発生イベントで生成されたリンク情報によるページ遷移からリンク先のウェブ情報を検出して保存するリンク情報検出ステップと、
を備えたことを特徴とする。【００２１】
なお、本発明のインターネット情報収集プログラム及び方法の詳細は、本発明のインターネット情報収集装置と基本的に同じになる。
【発明の効果】
【００２２】
本発明によれば、ページ閲覧部で画面展開されたウェブページのボタンや選択リストに対するマウス操作、キーボード操作を必要とする利用者の操作によって発生するイベントに応じてスクリプト文等の実行で動的に生成されるＵＲＬによるページ遷移を、アプリケーションでイベントを発生させることによる擬似的な操作で実現し、ＨＴＭＬ文書の解析では検出できなかった利用者の操作によって遷移するリンク情報を検出することができ、欠落のないインターネット上のウェブ情報の収集が可能となる。【００２３】
またリンク先のコンテンツについても、同様にアプリケーションによるイベントの発生による擬似的な操作でリンク情報を検出し、これを繰り返すことで、インターネットで公開されている全ての情報を収集することが可能となる。【００２４】
更に、擬似的な操作で発生できない例えばマウス通過などで発生するイベントについては、ブラウザがアクセスするプロキシサーバにリンク先のＵＲＬ情報が保存されていることから、プロキシサーバからリンク情報としてＵＲＬを取得することで、展開されたウェブページから漏れなくインターネット上のウェブ情報を収集できる。
【図面の簡単な説明】
【００２５】
【図１】本発明によるインターネット情報収集装置のブロック図
【図２】図１のインターネット情報収集装置が実現されるコンピュータのハードウェア環境のブロック図
【図３】本発明でイベント発生対象とするフォーム部品を配置したウェブページの説明図
【図４】図３のウェブページを構築するＨＴＭＬソース文の説明図
【図５】図３のＨＴＭＬソース文のＤＯＭパースによる解析で得られたＤＯＭツリーの説明図
【図６】Ａタグに対応した発生イベントのイベント一覧の説明図
【図７】スクリプトを起動させるイベントを記述したＨＴＭＬの説明図
【図８】図１のイベント管理テーブルの説明図
【図９】インターネットエクスプローラ（Ｒ）で提供されるイベント実行メソッドであるファイやイベントのＨＴＭＬソース文の説明図
【図１０】本発明でイベント発生対象とする選択リストと操作ボタンを配置したウェブページの説明図
【図１１】図１０のウェブページを構築するＨＴＭＬソース文の説明図
【図１２】図１１のＨＴＭＬソース文のＤＯＭパースによる解析で得られたＤＯＭツリーの説明図
【図１３】インターネットエクスプローラ（Ｒ）で通信前に通知されるリンク先ＵＲＬを含むイベント情報であるビフォワナビゲートの説明図
【図１４】図１のリンク一覧テーブルの説明図
【図１５】本発明によるインターネット情報収集処理のフローチャート
【図１６】図１５のリンク情報検出処理のフローチャート
【図１７】図１６に続くリンク情報検出処理のフローチャート
【図１８】本発明によるインターネット情報収集装置の他の実施形態のブロック図
【図１９】図１のインターネット情報収集装置で抽出できないＵＲＬの説明図
【図２０】プロキシサーバのファイルからＵＲＬを収集する図１８の実施形態の処理動作の説明図
【図２１】図１８の実施形態におけるインターネット情報収集処理のフローチャート
【発明を実施するための最良の形態】
【００２６】
図１は本発明によるインターネット情報収集装置の機能構成の実施形態を示したブロック図である。図１において、本発明のインターネット情報収集装置１０は、例えばコンピュータで構成されており、インターネット１２を介して、情報収集先となるウェブサイト１４−１，１４−２，１４−３と接続することができる。【００２７】
インターネット情報収集装置１０には通信制御部１６とアプリケーション実行環境１８が設けられる。通信制御部１６はインターネット１２を介して、ウェブサイト１４−１〜１４−３との間でウェブページ検索閲覧のための通信制御を行う。【００２８】
アプリケーション実行環境１８はコンピュータによるプログラムの実行で実現されており、ブラウザ２０、ページ解析部２２、イベント発生部２４、リンク情報検出部２６、イベント管理テーブル２８、リンク一覧テーブル３０及びコンテンツ取得部３２を備えている。【００２９】
インターネット情報収集装置１０のアプリケーション実行環境１８に設けているブラウザ２０はページ閲覧部として機能し、インターネット１２を介してウェブサイト例えばウェブサイト１４−１のウェブページを取得して画面展開する。【００３０】
ページ解析部２２はページ閲覧部として機能するブラウザ２２で画面展開されたウェブページを解析し、利用者の操作により発生するイベントに応じて動的にリンク情報を生成するイベント操作タグ文を抽出する。【００３１】
このイベント操作タグ文とは、ウェブページを構築するＨＴＭＬソース文の中に配置したマウス操作やキーボード操作を必要とするラジオボタンや選択リスト等を構築するタグ文であり、具体的には＜ＦＯＲＭ＞タグで示されるフォーム文を抽出する。【００３２】
イベント発生部２４は、ページ解析部２２で抽出されたイベント操作タグ文に対し、利用者の操作に伴ってリンク先のＬＲＵを動的に発生するスクリプト文を実行させるイベントを発生する。イベント管理テーブル２８には、イベント発生部２４で発生するイベントの一覧が、イベント発生対象となるタグに対応して格納されている。【００３３】
このイベント発生部２４によるイベント操作タグ文に対するイベントの発生が、ウェブページ上に配置されているボタンや選択リストなどの操作部品であるフォーム部品を利用者がマウスやキーボードで操作した場合と同様に操作する擬似的操作を行わせることになる。【００３４】
リンク情報検出部２６は、イベント発生部２４による発生イベントによるスクリプト文の実行で生成されたページ遷移からリンク先のウェブページ情報、即ちリンク先のＵＲＬを検出してリンク一覧テーブル３０に保存する。【００３５】
コンテンツ取得部３２は、リンク先ＵＲＬの収集が完了した時点でリンク一覧テーブル３０からＵＲＬを順次取り出して、リンク先のウェブサイトに接続し、ウェブサイトのウェブページを取得して、データベースに保存する。【００３６】
図１における本発明のインターネット情報収集装置１０は、例えば図２のようなコンピュータのハードウェア資源により実現される。図２のコンピュータにおいて、ＣＰＵ１００のバス１０１にはＲＡＭ１０２、ハードディスクドコントローラ（ソフト）１０４、フロッピィディスクドライバ（ソフト）１１０、ＣＤ−ＲＯＭドライバ（ソフト）１１４、マウスコントローラ１１８、キーボードコントローラ１２２、ディスプレイコントローラ１２６、通信用ボード１３０が接続される。【００３７】
ハードディスクコントローラ１０４はハードディスクドライブ１０６を接続し、本発明のインターネット情報収集プログラムをローディングしており、コンピュータの起動時にハードディスクドライブ１０６から必要なプログラムを呼び出して、ＲＡＭ１０２上に展開し、ＣＰＵ１００により実行する。【００３８】
フロッピィディスクドライバ１１０にはフロッピィディスクドライブ（ハード）１１２が接続され、フロッピィディスク（Ｒ）に対する読み書きができる。ＣＤ−ＲＯＭドライバ１１４に対しては、ＣＤドライブ（ハード）１１６が接続され、ＣＤに記憶されたデータやプログラムを読み込むことができる。【００３９】
マウスコントローラ１１８はマウス１２０の入力操作をＣＰＵ１００に伝える。キーボードコントローラ１２２はキーボード１２４の入力操作をＣＰＵ１００に伝える。ディスプレイコントローラ１２６は表示部１２８に対して表示を行う。通信用ボード１３０は無線を含む通信回線１３２を使用し、インターネット等のネットワークを介してウェブサイトのサーバとの間で通信を行う。【００４０】
図３は本発明でイベント発生対象とするフォーム部品を配置したウェブページの説明図である。図３のウェブページ３４にあっては、リンクＵＲＬ３６が配置され、その下に操作ボタン３８と操作ボタン４０が配置されている。【００４１】
ウェブページ３４におけるリンクＵＲＬ３６を利用者が例えばマウスクリックすると、「ａ．ｈｔｍｌ」のウェブページに遷移する。また利用者が操作ボタン３８を押し下げ操作すると「ｂ．ｈｔｍｌ」のウェブページに遷移し、更に操作ボタン４０を利用者が押し下げ操作すると「ｃ．ｈｔｍｌ」のウェブページに遷移する。【００４２】
図４は図３のウェブページ３４を構築するＨＴＭＬソース文の説明図である。図４のＨＴＭＬソース文４２において、図３のウェブページ３４におけるリンクＵＲＬ３６は、１１行目のＡタグの機能により「ａ．ｈｔｍｌ」へジャンプを行う。このＨＴＭＬソース文４２の１１行目のＡタグによるリンク先「ａ．ｈｔｍｌ」については、従来のようにＨＴＭＬソース文４２を解析することで直接、検出することができる。【００４３】
図３のウェブページ３４の操作ボタン３８，４０は、図４のＨＴＭＬソース文４２における１２〜１５行目の＜ＦＯＲＭ＞タグで囲まれた範囲のフォーム文により構築される。このフォーム文にあっては、例えば図３のウェブページ３４で利用者が操作ボタン３８のボタン押し下げの操作を行うと、ＨＴＭＬソース文４２の１３行目における「ｏｎｃｌｉｃｋ」イベントが発生し、ここに定義されている「”ｊｕｍｐ（）”」関数が呼び出される。【００４４】
このｊｕｍｐ関数では、３〜８行目のスクリプト文を対象に、ＩＮＰＵＴタグのｉｄ属性値を利用してリンク先のＵＲＬを作成し、ｌｏｃａｔｉｏｎオブジェクトを変更することで、ページ遷移を行っている。【００４５】
このようにフォーム文における利用者の操作に伴うイベント発生で動的にスクリプト文によってリンク先のＵＲＬを発生するタグ文については、ＨＴＭＬソース文４２そのものを解析しても、リンク先のＵＲＬである「ｂ．ｈｔｍｌ」及び「ｃ．ｈｔｍｌ」を検出することはできない。【００４６】
そこで本発明にあっては、図１のインターネット情報収集装置１０のアプリケーション実行環境１８に設けているページ解析部２２により、図４に示すＨＴＭＬソース文４２を解析して、アプリケーションとして機能するイベント発生部２４により操作可能な図５に示すＤＯＭツリー４４を構築し、イベント発生部２４によりＩＮＰＵＴタグに対しイベント発生部２４から直接、イベントｏｎｃｌｉｃｋを発生させ、スクリプト文の実行により、リンク先のＵＲＬ「ｂ．ｈｔｍｌ」及び「ｃ．ｈｔｍｌ」のページ遷移を行わせ、このページ遷移に伴うリンク先の情報としてリンク先のＵＲＬを検出する。【００４７】
ここで図１に示したページ解析部２２は、ブラウザ２０を対象としたＳＤＫ（Ｓｏｆｔｗａｒｅ  Ｄｅｖｅｌｏｐｍｅｎｔ  Ｋｉｔ）を備えており、ＳＤＫはアプリケーション・プログラミング・インターフェース（以下「ＡＰＩ」という）を利用してソフトウエアを構築するツールである。【００４８】
具体的にはブラウザ２０により展開されたウェブページのＨＴＭＬソース文４２を解析するＤＯＭパーサを備え、このＤＯＭパーサによりＨＴＭＬソース文を解析し、図５に示すＤＯＭツリー４４を持ったドキュメント・オブジェクト・モデルＤＯＭを生成する。ＤＯＭツリー４４で示されるドキュメント・オブジェクト・モデルＤＯＭは、ＨＴＭＬタグ文をツリー構造のノードオブジェクトの集合としてアクセスするためのＡＰＩである。【００４９】
この図５に示すＤＯＭツリー４４としてのドキュメントオブジェクトモデルの生成により、フォームタグの中にあるＩＮＰＵＴタグに対し、プログラムとしてのイベント発生部２４から直接、ｏｎｃｌｉｃｋイベントを発生して、スクリプト文の実行によりリンク先のＵＲＬを生成してページ遷移させることができる。【００５０】
即ち、図４のＨＴＭＬソース文４２におけるフォーム文における１３行目と１４行目のＩＮＰＵＴタグのｏｎｃｌｉｃｋイベントは、本来は図３のウェブページ３４に示す押しボタン３８，４０の操作によってボタン押し下げ操作を行うことでイベントが発生し、３〜８行目のスクリプト文におけるＪａｖａＳｃｒｉｐｔの関数が呼び出されるという仕組みである。【００５１】
これに対し本発明にあっては、ページ解析部２２に設けているソフトウェア・ディベロップメント・キットＳＤＫにおけるＤＯＭパーサ（ＤＯＭ解析手段）を利用して、図５のＤＯＭツリー４４に示すようなツリー構造を持つノードオブジェクトの集合に対しアクセスするためのＡＰＩであるドキュメントオブジェクトモデルＤＯＭを構築することで、プログラムとしてのイベント発生部２４から直接、イベントｏｎｃｌｉｃｋを発生してスクリプト文を実行して「ｂ．ｈｔｍｌ」及び「ｃ．ｈｔｍｌ」を生成し、ページ遷移させることができる。これは利用者によるボタン押し下げ操作をプログラムが擬似的に行うことを意味する。【００５２】
ところで、図４の１３行目及び１４行目のＩＮＰＵＴタグに対し発生するイベントとして、この実施形態にあっては「ｏｎｃｌｉｃｋ」を有効なイベントとして発生させているが、タグ文で使用されるイベントには、利用者の操作に対応して様々な種類のものがある。【００５３】
図６は図４の１１行目のリンク設定に使用されるＡタグに対応して定義されているイベントの種類を示したＡタグ発生イベントリスト４６の説明図である。【００５４】
このＡタグイベント発生リスト４６に示すように、Ａタグだけでも１７種類のイベントを発生させている。この発生イベントの種類は、図４の１３，１４行目のそれぞれに示したＩＮＰＵＴタグについてもほぼ同様に定義されている。【００５５】
このＡタグ発生イベントリスト４６について、図７のスクリプト起動ＨＴＭＬソース文４８に示すように記述された場合、イベントｏｎｃｌｉｃｋを発生することによりスクリプト文を起動させることができるが、それ以外のイベントについては、イベントを発生しても、すぐに破棄されることになる。【００５６】
このようなＨＴＭＬタグ文における不必要なイベントは自動的に破棄するという仕組みを利用し、本発明にあっては、フォーム文から抽出されたイベント発生対象となるタグに対し、そのタグについて定義されている一覧の中の全てのイベントを発生させ、図７のように定義されているイベントのみを実行させるという方法をとっている。【００５７】
このようにイベント発生対象となるタグに対応して定義されているイベントリストにおける全てのイベントを発生させ、実際にスクリプト文を実行させたイベントを知ることで、特定の有効イベントを意識することなく、スクリプト文をイベント発生で実行できる。【００５８】
また、全てのイベントを発生してスクリプト文を実行させることにより認識された有効イベントについては、図８のように、イベント管理テーブル２８にタグ名に対応して有効イベントを登録する。図８のように、イベント管理テーブル２８に登録されたタグ名に対応した有効イベントについては、統計的な情報として、以降のタグに対するイベント発生に利用することが可能であるが、基本的にはタグに対し対応する全てのイベントを発生させる処理を行うことになる。【００５９】
ここで図１のブラウザ２０としてインターネット・エクスプローラ（Ｒ）を使用した場合、プログラムにより直接イベントを発生するメソッドとして、図９に示すように「ファイヤイベント（ｆｉｒｅＥｖｅｎｔ）」というメソッドが準備されている。【００６０】
このファイヤイベントのメソッドは、図９のファイヤイベントＨＴＭＬソース文５０に示すように、例えば全てのタグに対し３行目と４行目に示すようにフォーカスの設定である「ｏｎｆｏｃｕｓ」と解除である「ｏｎｄｌｕｒ」を行うことで、全てのタグに対し直接イベントを発行することができ、これによって利用者が擬似的に操作したと同様なスクリプト文の実行によるリンク先ＵＲＬの生成が行われ、ページ遷移を行うことができる。【００６１】
図１０は本発明でイベント発生対象とする選択リストと操作ボタンを配置したウェブページの説明図である。図１０において、ウェブページ５２には地図表示ボタン５４が配置される。地図表示ボタン５４に対応して選択リスト５６が設けられ、選択リスト５６は「東京都」「神奈川県」「静岡県」の３つの選択肢を持っている。【００６２】
図１１は図１０のウェブページ５２を構築するＨＴＭＬソース文５８の説明図である。図１０のウェブページ５２にあっては、選択リスト５６の選択場所によって、地図表示ボタン５４を押したときのジャンプ先が変更となる。【００６３】
即ち、選択リスト５６の「東京都」を選択した状態で地図表示ボタン５４を押した場合、リンク先として「東京都．ｈｔｍｌ」へジャンプする。また選択リスト５６で「神奈川県」を選んだ状態で地図表示ボタン５４を押した場合は、リンク先として「神奈川県．ｈｔｍｌ」へジャンプする。更に、選択リスト５６で「静岡県」を選んだ状態で地図表示ボタン５４を押すと、リンク先として「静岡県．ｈｔｍｌ」へジャンプする。【００６４】
このようなリンクページ５２を構築する図１１のＨＴＭＬソース文５８にあっては、地図表示ボタン５４と選択リスト５６といったフォーム部品は、基本的に１３〜２０行目の＜ＦＯＲＭ＞タグで括られたフォーム文により作られている。このフォーム文の中には１４行目の＜ＳＥＬＥＣＴ＞タグや１９行目の＜ＩＮＰＵＴ＞タグが含まれており、これらのタグは＜ＦＯＲＭ＞タグの子供タグという位置付けになる。【００６５】
この例では、１９行目の＜ＩＮＰＵＴ＞タグで配置される地図表示ボタン５４を押す時点で、兄弟タグとなる１４〜１８行目の＜ＳＥＬＥＣＴ＞タグのセレクト文の中に選択状態が３パターン存在している。【００６６】
このため、地図表示ボタン５４を示す＜ＩＮＰＵＴ＞タグを検出した際に、兄弟タグである＜ＳＥＬＥＣＴ＞タグの３つのパターンを示す１５〜１７行目の＜ＯＰＴＩＯＮ＞タグを求めることで、３つの選択パターンがあることが解析できる。【００６７】
したがって、地図表示ボタン５４である＜ＩＮＰＵＴ＞タグに擬似的にイベントを発生するためには３回の反復処理を行い、その都度＜ＳＥＬＥＣＴ＞タグの＜ＯＰＴＩＯＮ＞タグによる選択状態を変更させて、＜ＩＮＰＵＴ＞タグにイベントを発生させればよい。【００６８】
図１２は図１１のＨＴＭＬソース文の図１に示したページ解析部２２におけるＤＯＭパースによる解析で得られたＤＯＭツリー６０の説明図であり、＜ＦＯＲＭ＞タグの中に兄弟関係にある＜ＩＮＰＵＴ＞タグと＜ＳＥＬＥＣＴ＞タグが存在し、選択リスト５６を構築する＜ＳＥＬＥＣＴ＞タグの下には３つの選択肢に対応して＜ＯＰＴＩＯＮ＞タグが、選択内容である「東京都」「神奈川県」「静岡県」に対応して配置されている。【００６９】
即ち、その処理としては基本的に次の手順となる。
・  図１１のＨＴＭＬソース文５８におけるすべてのタグを操作する。
・  ＜ＦＯＲＭ＞タグを判定する。
・  ＜ＦＯＲＭ＞タグの範囲内の全ての子タグである＜ＩＮＰＵＴ＞＜ＳＥＬＥＣＴ＞などを調べ、兄弟タグの選択パターンの状態を調べる。
・  ＜ＳＥＬＥＣＴ＞について求めたパターンの数分、パターンに則って兄弟タグの状態を変更した後、現在の子供タグである＜ＩＮＰＵＴ＞に対しイベントを発行し、３〜１０行目のスクリプト文の実行によりリンク先のＵＲＬを発生する。【００７０】
図１３は、図１のリンク情報検出部２６で利用するインターネット・エクスプローラ（Ｒ）において、任意のウェブページに通信アクセスを開始した際に、その通信前に通知されるリンク先ＵＲＬを含むイベント情報であるビフォワナビゲート６２の説明図である。【００７１】
即ち、インターネットエクスプローラ（Ｒ）の場合、あるＵＲＬを指定してウェブページを閲覧する場合、ウェブサイトに通信を開始する前に通知されるイベントとしてビフォワナビゲート（ＢｅｆｏｒｅＮａｖｉｇａｔｅ）が知られている。【００７２】
このビフォワナビゲート６２にあっては、図１３に示すように３行目の引き数「ｕｒｌ」にリンク先のＵＲＬが設定されている。本発明のリンク情報検出部２６にあっては、このビフォワナビゲート６２のイベント情報の中の引き数「ｕｒｌ」からリンク先のＵＲＬを検出する。【００７３】
またビフォワナビゲート６２が通知された後そのままにしておくとリンクページへの遷移が行われることから、既にリンク先のＵＲＬの検出が済んでいることから、図１３のビフォワナビゲート６２の８行目に示す最終パラメータである「Ｃａｎｃｅｌ」に「Ｔｒｕｅ」を設定することで通信をキャンセルする。これにより、ページ遷移をすることなくリンク先のＵＲＬだけを検出して取得することができる。【００７４】
図１４は図１のリンク一覧テーブル３０の説明図であり、リンク情報検出部２６で検出されたリンク先のＵＲＬが格納されている。【００７５】
ここで本発明におけるリンク情報の収集は、あるＵＲＬを使用してウェブページをブラウザ２０により展開し、ページ解析部２２、イベント発生部２４、リンク情報検出部２６により、ウェブページに配置されている利用者の操作を必要とする全てのフォーム部品について、イベント発生により擬似的な操作を行ってウェブページへの遷移を発生させてリンク先のＵＲＬを取得したならば、その後にリンク一覧テーブルを参照して、新たに取得したリンク先のウェブページを展開し、ウェブページに配置されている利用者の操作を必要とするフォーム部品に対するイベント発生によるリンク先のＵＲＬの取得を繰り返す。【００７６】
即ち本発明にあっては、現在展開中のウェブページに存在するフォーム部品に対するイベント発生によるページ遷移からリンク先ＵＲＬを検出した場合、新たに検出したリンク先ＵＲＬのウェブページを開いて、そのページのフォーム部品のイベント発生による次のリンク先のＵＲＬの取得といった階層方向へのリンク情報の収集は行わず、ウェブページ単位で１つ先のリンク先のＵＲＬの収集を繰り返す。もし階層方向へのリンク情報の収集を行ったとすると、最後のウェブページに達した後、元の階層へ戻らなければならず、処理が煩雑になる。【００７７】
図１５は本発明によるインターネット情報収集処理のフローチャートである。図１５において、ステップＳ１で従来のウェブロボットなどで収集されたＵＲＬの一覧を取得した後、ステップＳ２でその中から１つのＵＲＬを選択し、ステップＳ３でブラウザ２０を起動してウェブページをオープンする。【００７８】
このウェブページのブラウザによるオープンは、実際の画面展開は行う必要がなく、インターネット情報収集装置１０としてのコンピュータの作業におけるバックグラウンド処理として行われている。【００７９】
次に、ステップＳ４でページをＤＯＭパーサなどにより解析して、イベント発生部２４でイベント発生ができるＡＰＩを構築したＤＯＭツリーを持つドキュメント・オブジェクト・モデルＤＯＭを構築した後、ステップＳ５でイベント発生による擬似操作でリンク情報検出処理を実行する。【００８０】
続いてステップＳ６で、ステップＳ１で読み込んだＵＲＬ一覧につき、未処理のＵＲＬがあるか否かチェックし、未処理のＵＲＬがあればステップＳ２に戻って同様な処理を繰り返す。ステップＳ６で全てのＵＲＬについての処理が終了すると、ステップＳ７に進み、新たに検出したリンク先のＵＲＬの一覧を取得し、ステップＳ８で未処理のＵＲＬがなくなるまで、ステップＳ２からのリンク情報検出のための処理を繰り返す。【００８１】
図１６，図１７は、図１５のステップＳ５に対応した本発明によるリンク情報検出処理のフローチャートである。【００８２】
図１６において、リンク情報検出処理は、ステップＳ１でＨＴＭＬタグ文におけるタグを操作し、ステップＳ２で非イベント発生タグか否かチェックする。非イベント発生タグとしては、図４の１１行目に示した＜Ａ＞タグ、＜ＩＭＧ＞タグ、＜ＬＩＮＫ＞タグなどがある。非イベント発生タグであった場合にはステップＳ３に進み、リンク先ＵＲＬを直接検出して保存する。【００８３】
一方、ステップＳ２で非イベント発生タグでなかった場合には、ステップＳ４に進み、＜ＦＯＲＭ＞タグか否か判別する。＜ＦＯＲＭ＞タグであった場合にはステップＳ５に進み、フォーム部品は操作ボタンか否かチェックする。【００８４】
操作ボタンであった場合にはステップＳ６に進み、＜ＩＮＰＵＴ＞タグか否かチェックし、＜ＩＮＰＵＴ＞タグであった場合には、ステップＳ７で予め準備されている発生イベント一覧の中から順番にイベントを１つ選択して発行することで、対応するスクリプト文の実行により、リンク先のＵＲＬを生成してページ遷移させる。【００８５】
続いてステップＳ８でページ遷移の有無をチェックしており、ページ遷移があれば、ステップＳ９でリンク先ＵＲＬを取得して保存する。なおステップＳ８のページ遷移は、図１３に示したように、インターネットエクスプローラ（Ｒ）の場合、通信前に取得されるイベント情報であるビフォワナビゲート６２の取得の有無であり、これが取得された場合には、その中からリンク先ＵＲＬを検出して保存することになる。【００８６】
ステップＳ１０で全てのイベント発生が終了するまで、ステップＳ７からの処理を繰り返す。この全てのイベント発生については、実際にＨＴＭＬ文の＜ＩＮＰＵＴ＞タグに定義されているイベントのみが有効イベントとして機能し、スクリプト文の実行によりリンク先ＵＲＬを発生させることになる。【００８７】
次に図１７のステップ１１に進み、フォーム部品は選択リストか否かチェックする。選択リストであった場合にはステップＳ１２に進み、＜ＦＯＲＭ＞タグの範囲内にある全ての子供タグ＜ＩＮＰＵＴ＞＜ＳＥＬＥＣＴ＞などを操作する。【００８８】
続いてステップＳ１３で＜ＩＮＰＵＴ＞タグの兄弟となる＜ＳＥＬＥＣＴ＞タグの選択パターンを解析する。図１０〜図１２の場合、この選択パターンは３種類となっている。次に、ステップＳ１４で兄弟タグ＜ＳＥＬＥＣＴ＞の状態を選択パターンにより変更する。【００８９】
続いて、ステップＳ１５で現在の子供タグ＜ＩＮＰＵＴ＞に対しイベントを１つ選択して発行し、ステップＳ１６でページ遷移発生の有無をチェックする。ページ遷移があれば、ステップＳ１７でリンク先ＵＲＬを検出して保存する。続いて、ステップＳ１８で全てのイベント発生終了か否かチェックし、全てのイベント発生が終了するまで、ステップＳ１５からの処理を繰り返す。【００９０】
次にステップＳ１９で全ての選択パターンの終了の有無をチェックし、選択パターンが終了していなければ、ステップＳ１４に戻り、兄弟タグ＜ＳＥＬＥＣＴ＞の状態を次の選択パターンに変更し、ステップＳ１４〜Ｓ１８の処理を繰り返す。【００９１】
ステップＳ１９で全ての選択パターンについて処理が終了すると、ステップＳ２０に進み、全タグについて処理終了の有無をチェックし、終了していなければ図１６のステップＳ１に戻って、タグを操作して次のタグについて処理を行い、以下、全てのタグについて処理が終了するまで、ステップＳ１〜Ｓ２０の処理を繰り返す。【００９２】
また本発明は、コンピュータで構成されるインターネット情報収集装置１０で実行されるインターネット情報収集プログラムを提供するものであり、このプログラムは図１５〜図１６及び図１７のフローチャートに従った処理手順を備えたプログラムとして構築される。【００９３】
図１８は本発明によるインターネット情報収集装置の他の実施形態のブロック図である。この実施形態にあっては、アプリケーション実行環境１８に設けたリンク情報検出部２６の機能として、図１の実施形態におけるイベント発生部２４による発生イベントで生成されたリンク情報によるページ遷移からウェブ情報を検出して保存する機能に加え、更にページ閲覧部として機能するブラウザ２０がアクセスしたプロキシサーバ６４からリンク先のウェブ情報を検出して保存するようにしたことを特徴とする。【００９４】
これは図１のインターネット情報収集装置１０の機能では抽出不可能なＵＲＬが存在してしまう問題を解消するものである。【００９５】
ここで図１の実施形態で抽出不可能なＵＲＬとしては次のものが存在する。
（１）利用者の操作で静的なリンクを更新するような場合。
（２）ジャバアプレット（Ｊａｖａ  Ａｐｐｌｅｔ）などでジャバプログラムによって独自にＨＴＴＰ通信をする場合。
（３）アクティブ・エックス・コンポーネント（Ａｃｔｉｖｅ  Ｘ  Ｃｏｍｐｏｎｅｎｔ）など独自のプログラムが独自にＨＴＴＰ通信をする場合。
（４）ユニックス（Ｕｎｉｘ（Ｒ））環境などでソフトウェア・ディプロップメント・キット（ＳＤＫ）に図１３に示したようなビフォワナビゲート機能が存在しないようなプラットホームなどで動作させる場合。【００９６】
図１９は前記（１）で利用者が静的なリンクを更新する図１の実施形態では抽出できないＵＲＬの説明図である。図１９において、ＨＴＭＬソース文６５は３〜５行目にスクリプト分６６と６〜８行目にスプリクト文６７を記述している。【００９７】
スプリクト文６６はマウス操作などによりカーソルがイメージ上を通過したときに画像ファイルを「ｏｖｅｒ．ｇｉｆ」に変更する動作を行う。このスプリクト文６８の「ｏｖｅｒ．ｇｉｆ」は利用者のマウス操作によって始めてウェブサイトから取得されることになるが、ページ遷移動作ではないためビフォワナビゲードイベントによっては発生することはない。このため図１の実施形態ではファイル名「ｏｖｅｒ．ｇｉｆ」をフルパスにもつウェブサイトのＵＲＬを検出することはできない。【００９８】
次のスプリクト文６７はカーソルがイメージ上か離れたときに画像ファイルを「ｏｕｔ．ｇｉｆ」に戻す動作を行う。この「ｏｕｔ．ｇｉｆ」についても利用者のマウス操作によってはじめてウェブサイトから取得され、ページ遷移動作でないため図１の実施形態におけるビフォワナビゲートイベントは発生しないこととなり、ＵＲＬを取得することができない。【００９９】
そこで本発明にあっては、図１８のように、インターネット情報収集装置１０がブラウザ２０を利用する場合、必ずプロキシサーバ６４を介してウェブサイト１４−１〜１４−３側にアクセスしており、この場合、プロキシサーバ６４内ではウェブサイトにおけるＨＴＴＰ要求とウェブサイトからのＨＴＴＰ応答に伴ってファイル上にアクセス情報が保存されるに着目して問題の解決を図る。【０１００】
即ち、本発明にあってはリンク情報検出部２６においてビフォワナビゲート機能によるページ遷移の発生からリンク先のＵＲＬを検出して保存する処理をすべて終了した後、プロキシサーバ６４にアクセスして、そこに保存しているファイル情報から遷移先のＵＲＬをフルパスで取得してリンク一覧テーブル３０に保存する。【０１０１】
図２０はプロキシサーバのファイルからＵＲＬを検出して収集する図１８の実施形態の処理動作の説明図である。図２０において、インターネット情報収集装置１０で例えば図１９で示したスプリクト文６８に基づく画像上のカーソル移動でファイヤイベント６８が発生すると、ブラウザ２０からプロキシサーバ６４を介してウェブサイト１４にＨＴＴＰ要求７２が送信される。【０１０２】
このＨＴＴＰ要求７２を受けたウェブサイト１４にあっては、ファイル名「ｏｖｅｒ．ｇｉｆ」のウェブページ７４をＨＴＴＰ応答７８としてプロキシサーバ６４を介してブラウザ２０に応答する。【０１０３】
ここでプロキシサーバ６４にあってはＨＴＴＰ要求７２をウェブサイト１４に送る際にファイル８５にアクセス情報７６を保存しており、またウェブサイト１４からＨＴＴＰ応答７８をブラウザ２０に送る際にアクセス情報８０をファイル８５に保存している。【０１０４】
ＨＴＴＰ要求７２に伴って保存されたアクセス情報７６の１行目にはファイル名として「ｏｖｅｒ．ｇｉｆ」が格納され、また３行目にはウェブサイト１４のドメイン名「ｄｏｍａｉｎ」が格納されている。【０１０５】
従って図１８に示したインターネット情報収集装置１０に設けているリンク情報検出部２０は、プロキシサーバ６４のファイル８５を参照し、「HTTP：／／」から始まってファイル名「ｏｖｅｒ．ｇｉｆ」までを示すフルパスのリンク先のＵＲＬ８４として「ｈｔｔｐ：／／ｄｏｍａｉｎ／ｏｖｅｒ．ｇｉｆ」を検出し、リンク一覧テーブル３０のレコード８２に示すように保存する。【０１０６】
図２１は図１８の実施形態におけるインターネット情報収集装置のフローチャートである。図２１においてステップＳ１〜Ｓ８の処理は図１５に示した図１の実施形態による処理と同じである。図１８の実施形態にあってはステップＳ１〜Ｓ８の処理が終了した後、ステップＳ９でプロキシサーバ６４からフルパスのＵＲＬを取得してリンク一覧テーブルに登録する処理を実行するようにしている。【０１０７】
このように一時的な操作では発生できない例えばマウスなどで発生するイベントにつき、ブラウザがアクセスするプロキシサーバからリンク情報としてＵＲＬを取得することでインターネット情報を収集するために展開されたウェブページ上からもれなくインターネット上のウェブ情報を収集することができる。【０１０８】
なお、本発明は、その目的と利点を損なうことのない適宜の変形を含み、更に上記の実施形態に示した数値による限定は受けない。
【図１】
0004507206.tif 000002
【図２】
0004507206.tif 000003
【図３】
0004507206.tif 000004
【図４】
0004507206.tif 000005
【図５】
0004507206.tif 000006
【図６】
0004507206.tif 000007
【図７】
0004507206.tif 000008
【図８】
0004507206.tif 000009
【図９】
0004507206.tif 000010
【図１０】
0004507206.tif 000011
【図１１】
0004507206.tif 000012
【図１２】
0004507206.tif 000013
【図１３】
0004507206.tif 000014
【図１４】
0004507206.tif 000015
【図１５】
0004507206.tif 000016
【図１６】
0004507206.tif 000017
【図１７】
0004507206.tif 000018
【図１８】
0004507206.tif 000019
【図１９】
0004507206.tif 000020
【図２０】
0004507206.tif 000021
【図２１】
0004507206.tif 000022