(57)【要約】      （修正有）【課題】様々なプラットフォームで動作可能であり、オペレーティングシステムによる制約事項なしに、様々な機関からスクレイピング情報を収集可能なデータスクレイピングシステム、方法及びコンピュータプログラムを提供する。【解決手段】データスクレイピングシステムは、送受信部１及び一つ以上のデータスクレイピング情報収集部２００−１〜２００−ｎを含む。送受信部の情報収集プログラム１００は、ユーザデバイス１０によってアクセスしてユーザが使用することで、スクレイピングが必要な照会または実行が呼び出され、また認証の為のユーザ情報が入力できる。スクレイピングの為のユーザ情報は、情報収集プログラムとデータスクレイピング情報収集部との間の認証及び通信区間を介してデータスクレイピング情報収集部に伝達され、データスクレイピング情報収集部では、各機関４０−１〜４０−ｎの通信セキュリティポリシーに合わせて処理される。【選択図】図２
2019192189.tif 000002
【特許請求の範囲】
【請求項１】
データスクレイピングシステムであって、
スクレイピングが必要な照会または実行を呼び出すサービスプログラムを備え、ユーザデバイスからスクレイピングのためのユーザ情報を含むスクレイピング要請を受信し、スクレイプしたデータを前記ユーザデバイスに伝送するように構成された送受信部、及び
前記送受信部に受信された前記ユーザ情報を用いて一つ以上の機関からのデータをスクレイプするように構成された一つ以上のデータスクレイピング情報収集部を含み、
前記一つ以上のデータスクレイピング情報収集部のそれぞれは、
スクレイピングを行う前記機関の識別情報と、スクレイピングを行う前記機関に相応する認証情報及び通信情報を含む環境情報を格納し、プラットフォーム独立スクリプト形態を有し、前記環境情報に基づいて前記機関からのデータをスクレイプするように構成されたスクレイピングエンジン部を含む、データスクレイピングシステム。
【請求項２】
前記スクレイピングエンジン部は、
前記環境情報を格納するスクレイピング環境管理部、
前記通信情報に基づいて前記機関と前記スクレイピングエンジン部との間の通信セッションを生成するセッション管理部、
前記認証情報に基づいて前記ユーザ情報を処理する通信管理部、及び
前記ユーザ情報が処理された認証値を前記機関に伝送することで、前記機関からのデータをスクレイプするように構成された、請求項１に記載のデータスクレイピングシステム。
【請求項３】
前記ユーザ情報はユーザの生体認証情報を含む、請求項２に記載のデータスクレイピングシステム。
【請求項４】
前記一つ以上のデータスクレイピング情報収集部のそれぞれは、スクレイプされるデータ項目を指定するメタデータベースを更に含み、
前記スクレイピングエンジン部は、前記機関が提供するデータセットから前記メタデータベースに基づいてスクレイプするデータを抽出するように更に構成された、請求項２に記載のデータスクレイピングシステム。
【請求項５】
前記一つ以上のデータスクレイピング情報収集部のそれぞれは、スクレイピングのための前記ユーザ情報及び前記ユーザ情報に基づいた作業を、内部スケジュールアルゴリズムを用いて前記スクレイピングエンジン部に割り当てる作業管理部を更に含む、請求項４に記載のデータスクレイピングシステム。
【請求項６】
前記一つ以上のデータスクレイピング情報収集部のそれぞれは、前記作業管理部の正常動作の可否をモニターし、エラー発生時には前記作業管理部を再実行し、前記データセットでスクレイプされる前記データ項目が位置する部分を識別するための識別情報を前記メタデータベースに格納するプラットフォーム管理部を更に含む、請求項５に記載のデータスクレイピングシステム。
【請求項７】
前記一つ以上のデータスクレイピング情報収集部のそれぞれは、前記送受信部の前記サービスプログラムと前記スクレイピングエンジン部とが相互認証されたか否かを検査することで、前記スクレイピング要請を検証するように構成された検証部を更に含む、請求項１に記載のデータスクレイピングシステム。
【請求項８】
前記一つ以上のデータスクレイピング情報収集部のそれぞれは、前記データスクレイピング情報収集部と相互認証された一つまたは複数のユーザの認証書を格納しており、前記データスクレイピング情報収集部に割り当てられたスクレイピング作業に基づいて必要な認証書を前記スクレイピングエンジン部にインストールするように構成された認証書分配部を更に含む、請求項１に記載のデータスクレイピングシステム。
【請求項９】
前記一つ以上のデータスクレイピング情報収集部のそれぞれは、前記ユーザデバイスにインストールされた認証書と前記スクレイピングエンジン部にインストールされた認証書とが異なる場合、前記ユーザデバイスから受信した認証書を用いて前記スクレイピングエンジン部にインストールされた認証書をアップデートするように構成されたモジュールアップデート部を更に含む、請求項８に記載のデータスクレイピングシステム。
【請求項１０】
前記一つ以上のデータスクレイピング情報収集部のそれぞれは、前記ユーザデバイスでスクレイピングを直接行いながらエラーが発生すると、エラー発生時にユーザデバイスに入力されたスクレイピング入力情報からエラーログを分析し、分析されたエラーログに基づいて前記ユーザデバイス内のスクレイピングモジュールをアップデートさせるスクレイピングエラー修正部を更に含む、請求項１に記載のデータスクレイピングシステム。
【請求項１１】
スクレイピングが必要な照会または実行を呼び出すサービスプログラムを備えたデータスクレイピングシステムの送受信部が、ユーザデバイスから、ユーザによって呼び出された照会または実行の情報及びユーザ情報を含むスクレイピング要請を受信するステップ、
前記データスクレイピングシステムが、スクレイピングを行う前記機関の識別情報とスクレイピングを行う前記機関に相応する認証情報及び通信情報を含む環境情報を格納し、プラットフォーム独立スクリプト形態を有する前記データスクレイピングシステムのスクレイピングエンジン部に前記ユーザ情報及び前記ユーザ情報に基づいた作業を割り当てるステップ、
前記スクレイピングエンジン部が前記環境情報に基づいて前記機関からのデータをスクレイプするステップ、及び
前記送受信部がスクレイプしたデータを前記ユーザデバイスに伝送するステップを含むデータスクレイピング方法。
【請求項１２】
前記機関からのデータをスクレイプするステップは、
前記スクレイピングエンジン部が前記通信情報に基づいて前記機関と前記スクレイピングエンジン部との間の通信セッションを生成するステップ、
前記スクレイピングエンジン部が前記認証情報に基づいて前記ユーザ情報を処理するステップ、及び
前記スクレイピングエンジン部が、前記ユーザ情報が処理された認証値を前記機関に伝送することで、前記機関からのデータをスクレイプするステップを含む、請求項１１に記載のデータスクレイピング方法。
【請求項１３】
前記ユーザ情報はユーザの生体認証情報を含む、請求項１２に記載のデータスクレイピング方法。
【請求項１４】
前記機関からのデータをスクレイプするステップの前に、前記データスクレイピングシステムがスクレイプされるデータ項目をメタデータベースに格納するステップを更に含み、
前記機関からのデータをスクレイプするステップは、前記機関が提供するデータセットから前記メタデータベースに基づいてスクレイプするデータを抽出するステップを含む、請求項１２に記載のデータスクレイピング方法。
【請求項１５】
前記機関からのデータをスクレイプするステップの前に、前記データスクレイピングシステムの作業管理部が前記ユーザ情報及び前記作業を、内部スケジュールアルゴリズムを用いて前記スクレイピングエンジン部に割り当てるステップを更に含む請求項１４に記載のデータスクレイピング方法。
【請求項１６】
前記データスクレイピングシステムが、前記作業管理部の正常動作の可否をモニターし、エラー発生時には前記作業管理部を再実行するステップ、及び
前記データスクレイピングシステムが、前記データセットでスクレイプされる前記データ項目が位置する部分を識別するための識別情報を前記メタデータベースに格納するステップを更に含む請求項１５に記載のデータスクレイピング方法。
【請求項１７】
前記機関からのデータをスクレイプするステップの前に、前記データスクレイピングシステムが、前記送受信部の前記サービスプログラムと前記スクレイピングエンジン部とが相互認証されたか否かを検査することで、前記スクレイピング要請を検証するステップを更に含む請求項１１に記載のデータスクレイピング方法。
【請求項１８】
前記データスクレイピングシステムは、前記データスクレイピングシステムと相互認証された一つまたは複数のユーザの認証書を格納しており、
前記機関からのデータをスクレイプするステップの前に、前記データスクレイピングシステムが、前記スクレイピングエンジン部に割り当てられたスクレイピング作業に基づいて必要な認証書を前記スクレイピングエンジン部にインストールするステップを更に含む請求項１１に記載のデータスクレイピング方法。
【請求項１９】
前記機関からのデータをスクレイプするステップの前に、前記データスクレイピングシステムが、前記ユーザデバイスにインストールされた認証書と前記スクレイピングエンジン部にインストールされた認証書とが異なる場合、前記ユーザデバイスから受信した認証書を用いて前記スクレイピングエンジン部にインストールされた認証書をアップデートするステップを更に含む請求項１８に記載のデータスクレイピング方法。
【請求項２０】
前記ユーザデバイスでスクレイピングを直接行いながらエラーが発生すると、
前記データスクレイピングシステムが、エラー発生時にユーザデバイスに入力されたスクレイピング入力情報からエラーログを分析するステップ、及び
前記データスクレイピングシステムが、分析されたエラーログに基づいて前記ユーザデバイス内のスクレイピングモジュールをアップデートさせるステップを更に含む請求項１８に記載のデータスクレイピング方法。
【請求項２１】
ハードウェアと組み合わせて請求項１１〜２０のいずれか１項に記載のデータスクレイピング方法を行うように媒体に記録されたコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態はデータスクレイピング（ｄａｔａ  ｓｃｒａｐｉｎｇ）システム、方法、及びコンピュータプログラムに関するもので、より詳細には、スクレイピングに関する環境情報が格納されたスクリプトエンジン（ｓｃｒｉｐｔ  ｅｎｇｉｎｅ）を搭載するようにスクレイピングモジュールを開発することで、様々なオペレーティングシステムにおけるスクレイピングを一つのスクレイピングモジュールで処理する技術に関するものである。
【背景技術】
【０００２】
一般的に、スクリーンスクレイピング（ｓｃｒｅｅｎ  ｓｃｒａｐｉｎｇ）は、スクリーンに表示されるデータのうち、必要なもののみを抽出するソフトウェアであって、自動的にシステムにアクセスしてデータを画面に表示させた後、必要な資料のみを抽出する技術である。ウェブサイトにある情報を引き出して他のサイトやデータベースに格納するため、ウェブスクレイピング（ｗｅｂ  ｓｃｒａｐｉｎｇ）ともいう。データを格納するので、必要によって随時に照会が可能であり、格納したデータを加工して比較分析資料として活用することもできる。特に、インターネットバンキングの際に必須のプログラムであって、各金融機関で活発に運営中である。また、ホテルや航空会社・レンタカー・ガソリンスタンドなどにおけるマイレージのような補償プログラム、電子メール統合照会、ニュース・チャット・天気などのユーザがクリックして情報を得ることができるところであれば、場所を問わず用いることができる。
【０００３】
スクリーンスクレイピング技術は、アメリカなどでは１９９０年代末から普遍化されており、韓国内では２０００年に設立したフィンガー（Ｆｉｎｇｅｒ）社がこの技術を初めて開発し、金融サービスを開始した以来、金融機関を中心に広く用いられている。現在代表的なものとしては、個人が有している複数の金融機関の口座を統合して管理することができる個人金融資産統合管理ソフトウェア（ＰＦＭＳ：Ｐｅｒｓｏｎａｌ  Ｆｉｎａｎｃｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｏｆｔｗａｒｅ）が挙げられる。一々各ウェブサイトを訪問する必要がないことから手間やコストを節減できる長所があるが、プライバシーを侵害する恐れがあり、ウェブサイトがアップデートされる度にプログラミングを修正しなければならない短所もある。
【０００４】
前記スクリーンスクレイピング技術を大別すると、クライアント（ｃｌｉｅｎｔ）方式とサーバ（ｓｅｒｖｅｒ）方式があり、口座統合サービスや個人資産管理、企業資産管理プログラムにおいてその活用度が高い。しかし、エンドツーエンド（ｅｎｄ−ｔｏ−ｅｎｄ）ポリシーを守らなければならない韓国内のセキュリティーポリシー上の理由から、サーバ方式よりはクライアント方式のスクリーンスクレイピング技術が絶対優位を占めている。
【０００５】
図１は従来のクライアント方式のスクリーンスクレイピングを用いた口座統合サービスシステムの構成を示すブロック図である。
従来の口座統合サービスシステムは、図１に示したように、ユーザ１０が口座統合サービスプログラム２０にて第１〜第ｎの機関４０−１〜４０−ｎに登録されたウェブサービスプログラム４１にインターネット網３０を介してアクセスして、前記第１〜第ｎの機関４０−１〜４０−ｎの通信セキュリティーポリシーによってサービスを行う。この時、前記スクリーンスクレイピングは前記口座統合サービスプログラム２０で行われる。
【０００６】
従来のクライアント方式のスクリーンスクレイピングを用いた口座統合サービスシステムは、図１のように、金融関連ウェブサービスのスクリーンスクレイピングを行う際にサービスの安定性や技術的制約によって複数のスクリーンスクレイピング作業を順次行い、結果を受け取る構成である。これは、例えば、銀行口座の数が多い場合、取引履歴照会スクレイピングを行う際に深刻な性能低下を引き起こす問題点があった。
【０００７】
前述したような問題点を解決するために、複数のスクレイピングマシンによって並列にスクリーンスクレイピングを行う技術が開発されたこともあった。しかし、従来には、スクレイピングマシンが互いに異なるオペレーティングシステム（ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ）で動作するようにするためには、金融機関から要求するセキュリティーポリシーを守る必要がある。そのため、各オペレーティングシステムに符合するスクレイピングモジュールを個別に開発しなければならなかった。例えば、ウィンドウズオペレーティングシステムベースのＰＣ以外に、リナックス（Ｌｉｎｕｘ）やＯＳ  Ｘベースのコンピュータ、またはｉＯＳとアンドロイド（Ａｎｄｒｏｉｄ）などのモバイルオペレーティングシステムのそれぞれに対して、個別にスクレイピングモジュールを開発する必要がある。これは、ユーザが使用するデバイス及びオペレーティングシステムの種類が多様化することによって、開発に投入する必要がある装備の規模やコストを幾何級数的に増加させる問題点がある。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】韓国特許登録第１０−０４９４９７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明の一側面によれば、スクレイピング（ｓｃｒａｐｉｎｇ）に関する環境情報が格納されたスクリプトエンジンを搭載することで、様々なオペレーティングシステムにおけるスクレイピングを一つのスクレイピングモジュールで処理することができ、スクレイピング対象機関の通信方式に符合する通信セッションを生成し、対象機関の認証方式によってユーザ情報が処理された認証値を機関に伝送して、様々なプラットフォームで動作可能であり、オペレーティングシステムによる制約事項なしに、様々な機関からスクレイピング情報を収集することができるデータスクレイピングシステム、方法、及びコンピュータプログラムを提供することにその目的がある。
【課題を解決するための手段】
【００１０】
本発明の一側面に係るデータスクレイピングシステムは、スクレイピングが必要な照会または実行を呼び出すサービスプログラムを備え、ユーザデバイスからスクレイピングのためのユーザ情報を含むスクレイピング要請を受信し、スクレイプしたデータを前記ユーザデバイスに伝送するように構成された送受信部；及び前記送受信部に受信された前記ユーザ情報を用いて一つ以上の機関からのデータをスクレイプするように構成された一つ以上のデータスクレイピング情報収集部を含む。
【００１１】
前記一つ以上のデータスクレイピング情報収集部のそれぞれは、スクレイピングを行う前記機関の識別情報と、スクレイピングを行う前記機関に相応する認証情報及び通信情報を含む環境情報を格納し、プラットフォーム独立スクリプト（ｓｃｒｉｐｔ）形態を有し、前記環境情報に基づいて前記機関からのデータをスクレイプするように構成されたスクレイピングエンジン（ｅｎｇｉｎｅ）部を含む。
【００１２】
一実施形態において、前記スクレイピングエンジン部は、前記環境情報を格納するスクレイピング環境管理部；前記通信情報に基づいて前記機関と前記スクレイピングエンジン部との間の通信セッションを生成するセッション管理部；前記認証情報に基づいて前記ユーザ情報を処理する通信管理部；前記ユーザ情報が処理された認証値を前記機関に伝送することで、前記機関からのデータをスクレイプするように構成されたスクレイピングエンジンを含む。
【００１３】
一実施形態において、前記ユーザ情報はユーザの生体認証情報を含む。
一実施形態において、前記一つ以上のデータスクレイピング情報収集部のそれぞれは、スクレイプされるデータ項目を指定するメタデータベースを更に含む。この時、前記スクレイピングエンジン部は、前記機関が提供するデータセットから前記メタデータベースに基づいてスクレイプするデータを抽出するように更に構成される。
【００１４】
一実施形態において、前記一つ以上のデータスクレイピング情報収集部のそれぞれは、スクレイピングのための前記ユーザ情報及び前記ユーザ情報に基づいた作業を、内部スケジュールアルゴリズムを用いて前記スクレイピングエンジン部に割り当てる作業管理部を更に含む。
【００１５】
一実施形態において、前記一つ以上のデータスクレイピング情報収集部のそれぞれは、前記作業管理部の正常動作の可否をモニターし、エラー発生時には前記作業管理部を再実行し、前記データセットでスクレイプされる前記データ項目が位置する部分を識別するための識別情報を前記メタデータベースに格納するプラットフォーム管理部を更に含む。
【００１６】
一実施形態において、前記一つ以上のデータスクレイピング情報収集部のそれぞれは、前記送受信部の前記サービスプログラムと前記スクレイピングエンジン部とが相互認証されたか否かを検査することで、前記スクレイピング要請を検証するように構成された検証部を更に含む。
【００１７】
一実施形態において、前記一つ以上のデータスクレイピング情報収集部のそれぞれは、前記データスクレイピング情報収集部と相互認証された一つまたは複数のユーザの認証書を格納しており、前記データスクレイピング情報収集部に割り当てられたスクレイピング作業に基づいて必要な認証書を前記スクレイピングエンジン部にインストールするように構成された認証書分配部を更に含む。
【００１８】
一実施形態において、前記一つ以上のデータスクレイピング情報収集部のそれぞれは、前記ユーザデバイスにインストールされた認証書と前記スクレイピングエンジン部にインストールされた認証書とが異なる場合、前記ユーザデバイスから受信した認証書を用いて前記スクレイピングエンジン部にインストールされた認証書をアップデートするように構成されたモジュールアップデート部を更に含む。
【００１９】
一実施形態において、前記一つ以上のデータスクレイピング情報収集部のそれぞれは、前記ユーザデバイスでスクレイピングを直接行いながらエラーが発生すると、エラー発生時にユーザデバイスに入力されたスクレイピング入力情報からエラーログを分析し、分析されたエラーログに基づいて前記ユーザデバイス内のスクレイピングモジュールをアップデートさせるスクレイピングエラー修正部を更に含む。
【００２０】
本発明の他の一側面に係るデータスクレイピング方法は、スクレイピングが必要な照会または実行を呼び出すサービスプログラムを備えたデータスクレイピングシステムの送受信部が、ユーザデバイスから、ユーザによって呼び出された照会または実行の情報及びユーザ情報を含むスクレイピング要請を受信するステップ；前記データスクレイピングシステムが、スクレイピングを行う前記機関の識別情報とスクレイピングを行う前記機関に相応する認証情報及び通信情報を含む環境情報を格納し、プラットフォーム独立スクリプト形態を有する前記データスクレイピングシステムのスクレイピングエンジン部に前記ユーザ情報及び前記ユーザ情報に基づいた作業を割り当てるステップ；前記スクレイピングエンジン部が前記環境情報に基づいて前記機関からのデータをスクレイプするステップ；及び前記送受信部がスクレイプしたデータを前記ユーザデバイスに伝送するステップを含む。
【００２１】
一実施形態において、前記機関からのデータをスクレイプするステップは、前記スクレイピングエンジン部が前記通信情報に基づいて前記機関と前記スクレイピングエンジン部との間の通信セッションを生成するステップ；前記スクレイピングエンジン部が前記認証情報に基づいて前記ユーザ情報を処理するステップ；及び前記スクレイピングエンジン部が、前記ユーザ情報が処理された認証値を前記機関に伝送することで、前記機関からのデータをスクレイプするステップを含む。
【００２２】
一実施形態に係るデータスクレイピング方法は、前記機関からのデータをスクレイプするステップの前に、前記データスクレイピングシステムがスクレイプされるデータ項目をメタデータベースに格納するステップを更に含む。この時、前記機関からのデータをスクレイプするステップは、前記機関が提供するデータセットから前記メタデータベースに基づいてスクレイプするデータを抽出するステップを含む。
【００２３】
一実施形態に係るデータスクレイピング方法は、前記機関からのデータをスクレイプするステップの前に、前記データスクレイピングシステムの作業管理部が前記ユーザ情報及び前記作業を、内部スケジュールアルゴリズムを用いて前記スクレイピングエンジン部に割り当てるステップを更に含む。
【００２４】
一実施形態に係るデータスクレイピング方法は、前記データスクレイピングシステムが、前記作業管理部の正常動作の可否をモニターし、エラー発生時には前記作業管理部を再実行するステップ；及び前記データスクレイピングシステムが、前記データセットでスクレイプされる前記データ項目が位置する部分を識別するための識別情報を前記メタデータベースに格納するステップを更に含む。
【００２５】
一実施形態に係るデータスクレイピング方法は、前記機関からのデータをスクレイプするステップの前に、前記データスクレイピングシステムが、前記送受信部の前記サービスプログラムと前記スクレイピングエンジン部とが相互認証されたか否かを検査することで、前記スクレイピング要請を検証するステップを更に含む。
【００２６】
一実施形態において、前記データスクレイピングシステムは、前記データスクレイピングシステムと相互認証された一つまたは複数のユーザの認証書を格納している。この時、一実施形態に係るデータスクレイピング方法は、前記機関からのデータをスクレイプするステップの前に、前記データスクレイピングシステムが、前記スクレイピングエンジン部に割り当てられたスクレイピング作業に基づいて必要な認証書を前記スクレイピングエンジン部にインストールするステップを更に含む。
【００２７】
一実施形態に係るデータスクレイピング方法は、前記機関からのデータをスクレイプするステップの前に、前記データスクレイピングシステムが、前記ユーザデバイスにインストールされた認証書と前記スクレイピングエンジン部にインストールされた認証書とが異なる場合、前記ユーザデバイスから受信した認証書を用いて前記スクレイピングエンジン部にインストールされた認証書をアップデートするステップを更に含む。
【００２８】
一実施形態に係るデータスクレイピング方法は、前記ユーザデバイスでスクレイピングを直接行いながらエラーが発生すると、前記データスクレイピングシステムが、エラー発生時にユーザデバイスに入力されたスクレイピング入力情報からエラーログを分析するステップ；及び前記データスクレイピングシステムが、分析されたエラーログに基づいて前記ユーザデバイス内のスクレイピングモジュールをアップデートさせるステップを更に含む。
【００２９】
更に、本発明の他の側面に係るコンピュータプログラムは、ハードウェアと組み合わせて前述した実施形態に係るデータスクレイピング方法を行うためのものであり、コンピュータで読み取り可能な媒体に記録することができる。
【発明の効果】
【００３０】
本発明の一側面に係るデータスクレイピングシステム及び方法によれば、スクレイピングに関する環境情報が格納されたスクリプトエンジンをスクレイピングモジュールに搭載することで、スクレイピングモジュールをそれぞれのオペレーティングシステムごとに個別に開発する必要がなく、様々なオペレーティングシステムにおけるスクレイピングを一つのスクレイピングモジュールで処理することができるので、使用するデバイス及びオペレーティングシステムが次第に多様化していく現在の実情でスクレイピングシステムの開発に投入するコストと人力を大幅に減らすことができる利点がある。
【００３１】
また、本発明の一側面に係るデータスクレイピングシステム及び方法によれば、スクリプトエンジンが銀行、証券会社、クレジットカード会社などの金融機関、公共機関、または実物情報を提供する機関との間に当該機関から要求する認証方式に符合する通信セッションを生成し、対象機関の認証方式によってユーザ情報が処理された認証値を機関に伝送することで、目的とするデータ、例えば、口座残額、口座取引履歴、カード承認履歴、カード請求履歴、カード限度、証券残高、保険加入履歴などのような金融情報、または国税庁所得証拠、事業者登録証明、事業者休廃業情報、納税事実証明、付加価値税課税標準証明、標準財務諸表証明、健保資格確認書、健保資格得失確認書、職場保険料個人別照会履歴、国民年金納付履歴、民願２４の身分証真偽情報などのような公共情報などをスクレイプすることができる。
【図面の簡単な説明】
【００３２】
【図１】従来のスクリーンスクレイピングを用いた口座統合サービスシステムの構成を示すブロック図である。
【図２】一実施形態に係るデータスクレイピングシステムの構成を示すブロック図である。
【図３】一実施形態に係るデータスクレイピングシステムにおけるデータスクレイピング情報収集部の詳細構成を示すブロック図である。
【図４】図３に示したスクレイピングエンジン部及びその実現のためのハードウェア諸元を示すブロック図である。
【図５】一実施形態に係るデータスクレイピング方法の各ステップを示すフローチャートである。
【図６】他の実施形態に係るデータスクレイピング方法の各ステップを示すフローチャートである。
【発明を実施するための形態】
【００３３】
以下、図面を参照して本発明の実施形態について詳細に説明する。
図２は一実施形態に係るデータスクレイピングシステムの構成を示すブロック図である。
【００３４】
図２を参照すると、本実施形態に係るデータスクレイピングシステム１は、送受信部１００、及び一つ以上のデータスクレイピング情報収集部２００−１〜２００−ｎを含む。実施形態に係るデータスクレイピングシステム１は、全てがハードウェアであるか、または部分的にハードウェアであり、部分的にソフトウェアである側面を有することができる。例えば、データスクレイピングシステム１を構成する送受信部１００とデータスクレイピング情報収集部２００−１〜２００−ｎ及び、これに含まれる各部は、特定の形式及び内容のデータを電子通信方式で送受信するための装置及びこれに関連したソフトウェアを通称することができる。
【００３５】
本明細書において、各「部（ｕｎｉｔ）」、「モジュール（ｍｏｄｕｌｅ）」、「サーバ」、「システム」、「プラットフォーム」、「装置」または「端末」などの用語は、ハードウェア及び当該ハードウェアによって駆動されるソフトウェアの組み合わせを称することと意図する。例えば、ここでハードウェアは、ＣＰＵまたは他のプロセッサ（ｐｒｏｃｅｓｓｏｒ）を含むデータ処理機器あり得る。また、ハードウェアによって駆動されるソフトウェアは、実行中のプロセッサ、オブジェクト（ｏｂｊｅｃｔ）、実行ファイル（ｅｘｅｃｕｔａｂｌｅ）、実行スレッド（ｔｈｒｅａｄ  ｏｆ  ｅｘｅｃｕｔｉｏｎ）、プログラム（ｐｒｏｇｒａｍ）などを称することもできる。
【００３６】
データスクレイピングシステム１はユーザデバイス１０と通信しながら、ユーザデバイス１０からスクレイピングが必要な照会または実行に対する呼び出し命令、及び認証のために必要なユーザ情報などを受信するように構成される。ユーザデバイス１０はウィンドウズ（Ｗｉｎｄｏｗｓ）オペレーティングシステム（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ；  ＯＳ）ベースのパーソナルコンピュータ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ；  ＰＣ）であることもあるが、これに限定されず、Ｌｉｎｕｘ（Ｌｉｎｕｘ）やＯＳ  Ｘベースのコンピュータ、ｉＯＳとアンドロイド（Ａｎｄｒｏｉｄ）などモバイルＯＳをベースにしたスマートフォン（ｓｍａｒｔｐｈｏｎｅ）などのモバイルコンピュータ装置、ノート型（ｎｏｔｅｂｏｏｋ）コンピュータ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、タブレット（Ｔａｂｌｅｔ）、ＩＰＴＶ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｔｅｌｅｖｉｓｉｏｎ）などのためのセットトップボックス（ｓｅｔ−ｔｏｐ  ｂｏｘ）または他の任意の装置であり得る。
【００３７】
また、データスクレイピングシステム１は第１〜第ｎの機関４０−１〜４０−ｎに登録されたウェブサービスプログラム４１にインターネット網３０を介してアクセスし、前記第１〜第ｎの機関４０−１〜４０−ｎからデータをスクレイプするように構成される。インターネット網３０を介した通信方法は、オブジェクトとオブジェクトがネットワークできる全ての通信方法を含むことができ、有線通信、無線通信、３Ｇ、４Ｇ、５Ｇ、或いはそれ以外の方法を含むこともでき、特に限定されるものではない。例えば、インターネット網３０はＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＭＡＮ（Ｍｅｔｒｏｐｏｌｉｔａｎ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＧＳＭ（Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｎｅｔｗｏｒｋ）、ＥＤＧＥ、（Ｅｎｈａｎｃｅｄ  Ｄａｔａ  ＧＳＭ  Ｅｎｖｉｒｏｎｍｅｎｔ）、ＨＳＤＰＡ（Ｈｉｇｈ  Ｓｐｅｅｄ  Ｄｏｗｎｌｉｎｋ  Ｐａｃｋｅｔ  Ａｃｃｅｓｓ）、Ｗ−ＣＤＭＡ（Ｗｉｄｅｂａｎｄ  Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）、ＣＤＭＡ（Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）、ＴＤＭＡ（Ｔｉｍｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）、ブルートゥース（Ｂｌｕｅｔｏｏｔｈ）、ジグビー（Ｚｉｇｂｅｅ）、ワイ−パイ（Ｗｉ−Ｆｉ）、ＶｏＩＰ（Ｖｏｉｃｅ  ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）、ＬＴＥ  Ａｄｖａｎｃｅｄ、ＩＥＥＥ８０２．１６ｍ、ＷｉｒｅｌｅｓｓＭＡＮ−Ａｄｖａｎｃｅｄ、ＨＳＰＡ＋、３ＧＰＰ  Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ（ＬＴＥ）、Ｍｏｂｉｌｅ  ＷｉＭＡＸ（ＩＥＥＥ  ８０２．１６ｅ）、ＵＭＢ（ｆｏｒｍｅｒｌｙ  ＥＶ−ＤＯ  Ｒｅｖ．Ｃ）、Ｆｌａｓｈ−ＯＦＤＭ、ｉＢｕｒｓｔ  ａｎｄ  ＭＢＷＡ（ＩＥＥＥ  ８０２．２０）ｓｙｓｔｅｍｓ、ＨＩＰＥＲＭＡＮ、Ｂｅａｍ−Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ（ＢＤＭＡ）、Ｗｉ−ＭＡＸ（Ｗｏｒｌｄ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  Ｍｉｃｒｏｗａｖｅ  Ａｃｃｅｓｓ）及び、超音波活用通信からなる群から選択される一つ以上の通信方法による通信ネットワークを称することができるが、これに限定されるものではない。
【００３８】
本実施形態に係るデータスクレイピングシステム１は、図２に示すように、スクレイピングが必要な照会または実行を呼び出す情報収集プログラムを備え、スクレイピングのためのユーザ情報を含むスクレイピング要請を受信し、スクレイプしたデータをユーザデバイス１０に伝送する送受信部１００を含む。また、本実施形態に係るデータスクレイピングシステム１は、送受信部１００から伝達されたスクレイピング要請に基づいてインターネット網３０にアクセスすることで、インターネット網３０に連結され、ウェブサービスプログラム４１をそれぞれ備えた第１〜第ｎの機関４０−１〜４０−ｎからのデータをスクレイプする第１〜第ｎのデータスクレイピング情報収集部２００−１〜２００−ｎを含む。即ち、第１〜第ｎのデータスクレイピング情報収集部２００−１〜２００−ｎは、それぞれ第１〜第ｎの機関４０−１〜４０−ｎからのデータをスクレイプすることができる。
【００３９】
第１〜第ｎの機関４０−１〜４０−ｎは本実施形態に係るデータスクレイピングシステム１による情報収集の対象となる団体で運用するシステムを称するものであり、銀行、証券会社、クレジットカード会社などの金融機関や、公共機関、または実物情報を提供する他の任意の機関であり得、特定の団体に限定されるものではない。また、本実施形態に係るデータスクレイピングシステム１による情報収集が可能な機関の数は複数である。
【００４０】
送受信部１００の情報収集プログラムはユーザデバイス１０によってアクセスしてユーザが使用することで、スクレイピングが必要な照会または実行が呼び出され、また、認証のためのユーザ情報が入力できるプログラムである。例えば、情報収集プログラムは銀行口座の残高及び／または取引履歴が照会できる残高取引履歴照会業務用プログラム、口座間の振替を行うことができる集金業務プログラムなどであり得るが、これに限定されるものではない。更に、情報収集プログラムはユーザが一つのプログラムを通じて複数の機関に分散された口座の照会などを行うことができる口座統合サービスのために構成されたものであり得る。
【００４１】
第１〜第ｎのデータスクレイピング情報収集部２００−１〜２００−ｎのそれぞれは、後述するようにプラットフォーム（ｐｌａｔｆｏｒｍ）独立スクリプト（ｓｃｒｉｐｔ）形態のスクレイピングエンジン部を含む。スクレイピングエンジン部はスクレイピングを行う前記機関の識別情報とスクレイピングを行う前記機関に相応する認証情報及び通信情報を含む環境情報を格納し、環境情報に基づいて第１〜第ｎの機関４０−１〜４０−ｎからのデータをスクレイプする。第１〜第ｎのデータスクレイピング情報収集部２００−１〜２００−ｎのそれぞれは、仮想マシン（ｖｉｒｔｕａｌ  ｍａｃｈｉｎｅ）上で動作することができるが、これに限定されるものではない。
【００４２】
ユーザはユーザデバイス１０を用いてデータスクレイピングシステム１に接続することで、情報収集プログラムにアクセスするようになり、データスクレイピングシステム１内部におけるスクレイピング作業の場合、データを対象機関の種類によって前記第１〜第ｎのデータスクレイピング情報収集部２００−１〜２００−ｎに分散処理して作業を行う。しかし、スクレイピング情報収集部２００−１〜２００−ｎは一つのハードウェア装置を用いて実現されるスクレイピングモジュールを単に機能的に区分したものであり得る。セキュリティのために、情報収集プログラムとデータスクレイピング情報収集部２００−１〜２００−ｎとの間の区間では公開鍵基盤構造（Ｐｕｂｌｉｃ  Ｋｅｙ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ；  ＰＫＩ）のシステム認証プログラムとスクレイピングモジュールを認証し、ユーザ情報及び結果はＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ）で通信を行うことができる。
【００４３】
スクレイピングのためのユーザ情報は、情報収集プログラムとデータスクレイピング情報収集部２００−１〜２００−ｎとの間の認証及び通信区間を介してデータスクレイピング情報収集部２００−１〜２００−ｎに伝達され、データスクレイピング情報収集部２００−１〜２００−ｎでは、各機関４０−１〜４０−ｎの通信セキュリティポリシーに合わせて処理される。
【００４４】
具体的には、データスクレイピング情報収集部２００−１〜２００−ｎのそれぞれのスクリプトエンジンでは、各機関４０−１〜４０−ｎの通信ポリシーに相応する方式で、各機関４０−１〜４０−ｎとの通信セッション（ｓｅｓｓｉｏｎ）を形成し、各機関４０−１〜４０−ｎのセキュリティポリシーに相応する方式でユーザ情報を処理し、処理結果に該当する認証値を各機関４０−１〜４０−ｎに伝送してデータをスクレイプする。例えば、スクレイプするデータは、口座残額、口座取引履歴、カード承認履歴、カード請求履歴、カード限度、証券残高、保険加入履歴などのような金融情報、または国税庁所得証拠、事業者登録証明、事業者休廃業情報、納税事実証明、付加価値税課税標準証明、標準財務諸表証明、健保資格確認書、健保資格得失確認書、職場保険料個人別照会履歴、国民年金納付履歴、民願２４の身分証真偽情報などのような公共情報であり得るが、これに限定されるものではない。スクレイピングの結果はデータスクレイピング情報収集部２００−１〜２００−ｎとの認証及び通信区間を介して情報収集プログラムでまとめることができる。
【００４５】
図３は一実施形態に係るデータスクレイピングシステムにおけるデータスクレイピング情報収集部の詳細構成を示すブロック図である。図３に示したデータスクレイピング情報収集部２００は、図２に示した第１〜第ｎのデータスクレイピング情報収集部２００−１〜２００−ｎのそれぞれに対応する。
【００４６】
図３を参照すると、データスクレイピング情報収集部２００はスクレイピングエンジン部２４０を含む。スクレイピングエンジン部２４０はジャバスクリプト（ＪＡＶＡ  ｓｃｒｉｐｔ）などのプラットフォーム独立言語で作成したスクリプト形態を有する。ここで、プラットフォームとは、データスクレイピング情報収集部２００が実現されるデバイスのハードウェア及び前記ハードウェアを運用するためのオペレーティングシステムを含む。プラットフォーム独立スクリプトの形態でスクレイピングエンジン部２４０を構成することで、デバイスまたはＯＳの種類によってスクレイピングエンジンを別途に開発する必要がなく、スクレイピングエンジン部２４０によっていかなる実行環境でもスクレイピングを行うことができる。
【００４７】
一実施形態において、データスクレイピング情報収集部２００はスクレイプされるデータ項目を指定するメタデータベース（ｍｅｔａ  ｄａｔａｂａｓｅ、ＤＢ）２３０を更に含む。この時、スクレイピングエンジン部２４０は、第１〜第ｎの機関４０−１〜４０−ｎがそれぞれ提供するデータセット（ｄａｔａ  ｓｅｔ）からメタデータベース２３０に基づいてスクレイプする項目に該当するデータを抽出するように構成される。
【００４８】
即ち、前記メタＤＢ２３０はユーザが望む収集する情報、例えば、収集する対象及びスクレイピング項目を格納する役割を果たす。例えば、ユーザが口座の振替履歴についての照会を希望する場合、振替履歴を指示するコードまたは符号などがスクレイプされるデータ項目としてメタＤＢ２３０に格納されることができる。この時、スクレイピングエンジン部２４０はメタＤＢ２３０のスクレイプされるデータ項目に基づいてスクレイピング情報を収集する。このため、メタＤＢ２３０は、それぞれの機関が提供するデータセットからデータ項目を抽出するための識別情報を含む。例えば、識別情報はＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）またはＪＳＯＮ（Ｊａｖａ  Ｓｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）などのプロトコルで受信することができるデータセットから特定のデータ項目が位置する部分を識別することができる情報であり得る。
【００４９】
本実施形態でスクレイピングエンジン部２４０は、従来のようにスクリーン全体のデータをスクレイプする代わりに、メタＤＢ２３０に格納されたスクレイプされるデータ項目を用いてデータセットから選別的にデータをスクレイプする。選別的に収集されたスクレイピング情報はメタＤＢ２３０のスクレイピング項目との対照を通じた確認過程の後、送受信部１００（図２）の情報収集プログラムに伝達され、ユーザに提供することができる。
【００５０】
一実施形態において、データスクレイピング情報収集部２００は作業管理部２２０を更に含む。作業管理部２２はスクレイピングのためのユーザ情報及びユーザ情報に基づいた作業を内部スケジュールアルゴリズムを使用してスクレイピングエンジン部２４０に割り当てる。例えば、割り当てられるユーザ情報と作業はスクレイピング収集情報全文の形態でデータスクレイピング情報収集部２００に伝送されることができる。例えば、作業管理部２２０は内部スケジュールアルゴリズムを介して伝送されたスクレイピングのためのユーザ情報をスクレイピングエンジン部２４０にＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）呼び出しやＯＬＥ（Ｏｂｊｅｃｔ  Ｌｉｎｋｉｎｇ  ａｎｄ  Ｅｍｂｅｄｄｉｎｇ）プロトコルを使用して伝達し、その結果はソケットやＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ）通信を介して受信することができる。
【００５１】
一実施形態において、データスクレイピング情報収集部２００はプラットフォーム管理部２５０を更に含む。プラットフォーム管理部２５０は、作業管理部２２０を最新のバージョンにアップデートしたり、作業管理部２２０が非正常的に実行したり、エラーによる問題が発生した時に、作業管理部２２０上の全てのプロセッサを中止させ、作業管理部２２０を再実行する役割を果たす。
【００５２】
また、プラットフォーム管理部２５０は、作業管理部２２０がスクレイピングエンジン部２４０を呼び出して作動する際に発生できる例外の場合、例えば、セキュリティモジュールなどスクレイピング作業に必要なプログラムのインストールやアップデートに関連するユーザ入力に応答してスクレイピングエンジン部２４０をアップデートさせるように、モジュールアップデート部２６０を制御する役割を果たすこともできる。
【００５３】
また、プラットフォーム管理部２５０は、スクレイピングを行う対象機関が提供するデータセットからスクレイプされるデータ項目が位置する部分を識別するための識別情報をユーザからの入力を通じて受け入れ、入力された識別情報をメタデータベース２３０に格納する機能を果たすこともできる。
【００５４】
更に、プラットフォーム管理部２５０は、データスクレイピング情報収集部２００と、その内部にあるスクリプトエンジンの電源のオン（ＯＮ）／オフ（ＯＦＦ）状態、データスクレイピング情報収集部２００を実現するために仮想マシンにインストールされたＯＳのバージョン情報、データスクレイピング情報収集部２００が現在ユーザの入力を待っているか否か、及びデータスクレイピング情報収集部２００を実現するためのハードウェア諸元として、ＣＰＵ、メインメモリ（Ｍａｉｎ  Ｍｅｍｏｒｙ）、ＵＳＢホストコントローラ（Ｈｏｓｔ  Ｃｏｎｔｒｏｌｌｅｒ）、ハードディスクドライブ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ネットワークインターフェースカード（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）のシェア、残るスペース、使用状態、ネットワークの占有状態などを照会する役割を果たすことができる。プラットフォーム管理部２５０は送受信部１００（図２）及びデータスクレイピング情報収集部２００のプログラムやライブラリ、認証書をアップデートし、同期化するための前処理作業やファイルの送受信を担当することもできる。
【００５５】
一実施形態において、データスクレイピング情報収集部２００は検証部２１０を更に含む。検証部２１０は送受信部１００（図２）の情報収集プログラムからスクレイピング要請がある場合、前記情報収集プログラムとデータスクレイピング情報収集部２００が互いに認証されたプログラムであるか否かを確認する。確認の結果、情報収集プログラムとデータスクレイピング情報収集部２００が互いに認証されたプログラムである場合、検証部２１０ではスクレイピング要請を作業管理部２２０に伝達してスクレイピングが行われるようにする。しかし、互いに認証されたプログラムではない場合は、スクレイピング要請を拒絶することができる。
【００５６】
一実施形態において、データスクレイピング情報収集部２００は認証書分配部２７０を含む。認証書分配部２７０はデータスクレイピング情報収集部２００と相互認証された一つまたは複数のユーザの認証書を格納しており、データスクレイピング情報収集部２００に割り当てられたスクレイピング作業によって必要な認証書をスクレイピングエンジン部２４０にインストールする機能を果たす。
【００５７】
また、一実施形態において、データスクレイピング情報収集部２００はモジュールアップデート部２６０を更に含む。モジュールアップデート部２６０はスクレイピング要請に含まれた認証情報に基づいてユーザデバイス１０（図２）にインストールされた認証書とスクレイピングエンジン部２４０にインストールされた認証書を比較して、ユーザデバイス１０にインストールされた認証書とスクレイピングエンジン部２４０にインストールされた認証書とが異なる場合、ユーザデバイス１０にインストールされた認証書に基づいてスクレイピングエンジン部２４０及び認証書分配部２７０の認証書をアップデートする役割を果たす。
【００５８】
一実施形態において、データスクレイピング情報収集部２００は監査用資料管理部２８０を更に含む。監査用資料管理部２８０はデータスクレイピング情報収集部２００を使用するに当たって、サービスの誤動作、実行時間、実行作業の概略内容、最適化のための情報、スクレイピング作業の権限情報などを格納して管理する。
【００５９】
一実施形態において、データスクレイピング情報収集部２００はＤＢファイル部２９０を更に含む。ＤＢファイル部２９０は監査用資料管理部２８０によって制御され、認証部２１０、作業管理部２２０、プラットフォーム管理部２５０、モジュールアップデート部２６０、及び認証書分配部２７０のログをＡＰＩ呼び出しやＯＬＥプロトコルを使用して格納する役割を果たす。
【００６０】
一実施形態において、データスクレイピング情報収集部２００はスクレイピングエラー修正部２１５を更に含む。スクレイピングエラー修正部２１５は、ユーザデバイス１０で直接スクレイピングを行うクライアントスクレイピング動作において、ユーザデバイス１０上のスクレイピングモジュールで発生するエラーを解決するために、ユーザデバイス１０上のスクレイピングモジュールをアップデートする動作を行うことができる。即ち、ユーザデバイス１０でスクレイピングを直接行いながらエラーが発生すると、スクレイピングエラー修正部２１５はエラー発生時にユーザデバイス１０に入力されたスクレイピング入力情報からエラーログを分析し、分析されたエラーログに基づいて前記ユーザデバイス１０内のスクレイピングモジュールをアップデートさせる。
【００６１】
従来のユーザ端末で直接スクレイピングを行う時にエラーが発生した場合、通常には、開発者がユーザ端末にリモートアクセスしてエラーを修正したり、エラーログをサーバに伝送してエラーを修正した。しかし、リモートアクセスの場合、ユーザは別のプログラムをユーザ端末にインストールする必要があり、エラーログサーバへの伝送時にはユーザの個人情報が流出する恐れがあり、ログが頻繁な場合は遺失が発生する恐れもある問題があった。また、スクレイピング対象外部機関ユーザ毎の応答情報の形態が異なるため、様々なケースのテストアカウントを保有しなければならない問題がある。
【００６２】
そこで、本発明の一実施形態によれば、これらの問題点を改善するためにスクレイピング時の入力情報を暗号化してスクレイピングエラー修正部２１５が伝送を受け、クラウドスクレイピングを通じてテストして、迅速にエラーを修正することができる。一実施形態において、前述のエラー修正動作は検証部２１０による認証が完了した情報収集プログラムと通信するユーザデバイス１０を対象に行うことができる。
【００６３】
具体的には、ユーザデバイス１０でスクレイピングを行う際にスクレイピングエラーが発生すると、スクレイピングエラー修正部２１５はエラー発生時にユーザデバイス１０に入力されたスクレイピング入力情報を受信し、エラーログを分析してエラーを修正することができる。この場合、受信したスクレイピング入力情報は暗号化した状態であり得る。
【００６４】
例えば、スクレイピングエラー修正部２１５はスクレイピングモジュールが既に分析したデータ部分Ａ１と前記既に分析したデータ部分Ａに対応し、現在スクレイプして取得したデータ部分Ａ２とが異なる場合は、スクレイピングエラーが発生したと決定することができる。ここで、スクレイピングエラーが発生したか否かを判断するに使用する既に分析したデータ部分Ａ１は、当該外部機関のサーバを識別できるユニークな値、タグ情報またはパージングした情報のうち一つ以上を含むことができる。
【００６５】
また、スクレイピングエラー修正部２１５はスクレイピングエラーが発生したことと判断すると、エラーログを生成することができる。ここで、エラーログはログ時刻、プラットフォームの種類、アプリＩＤ、ライブラリのバージョン情報、デバイスＩＤ、エラーコードのうち一つ以上を含むことができる。
【００６６】
その後、スクレイピングエラー修正部２１５はこれらのエラーログを、既に分析したデータ部分Ａ１を含むデータ部分と比較することで、エラーの原因を導出し、これらのエラーの原因に基づいてスクレイピングモジュール（図示せず）が現在スクレイプして取得したデータ部分Ａ２を修正することができる。また、スクレイピングエラー修正部２１５は、エラーの原因を修正するためにユーザデバイス１０内のスクレイピングモジュール（図示せず）をアップデートさせることができる。ユーザデバイス１０内のスクレイピングモジュールをアップデートする過程は、アップデートしたスクレイピングモジュールの情報に相応する管理者からの入力を受信してユーザデバイス１０に伝送する方式で行うことができる。
【００６７】
例えば、スクレイピングエラー修正部２１５はユーザデバイス１０内におけるソフトウェアのアップデートの要請をユーザデバイス１０に伝送し、ユーザデバイス１０がアップデート要請を受け取ると、前記ユーザデバイス１０にスクレイピングモジュールをアップデートさせるためのデータをユーザデバイス１０に伝送することができる。
【００６８】
ここで、スクレイピング入力情報は銀行コード、クラス（個人バンキングや企業バンキング）、要請サービスの種類（全口座照会、取引履歴照会など）、口座番号、カードのコード、ログイン電子署名値、決済日、照会開始日または照会終了日などの様々な金融関連情報を含むことができる。この時、スクレイピングエラー修正部２１５はユーザの認証情報が金融機関などから要求する認証方式によって処理されたログイン電子署名値を受信し、これに基づいてスクレイピングモジュールのエラー修正を行うことができる。従って、ユーザの認証情報のソースデータを外部サーバに伝達して、セキュリティ上のリスクが発生することを防ぐ。また、ユーザのログイン電子署名値は、ユーザ端末１０からのアップデート要請の受け取りが受信されたことに対する応答としてスクレイピングエラー修正部２１５から削除される。それによって、スクレイピングモジュールのアップデート後にはログイン電子署名値がサーバに残っているので、セキュリティ上のリスクが残存することを防止することができる。
【００６９】
図４は図３に示したスクレイピングエンジン部及びその実現のためのハードウェア諸元を示すブロック図である。
図４を参照すると、スクレイピングエンジン部２４０はスクリプトエンジン２４１、スクレイピング環境管理部２４２、通信管理部２４３、及びセッション管理部２４４を含むことができる。実施形態において、スクレイピングエンジン部２４０の全体はプラットフォーム独立形態のスクリプトとして実現され、スクリプトエンジン２４１、スクレイピング環境管理部２４２、通信管理部２４３、及びセッション管理部２４４は、これらのスクリプトを機能的に区分したものであり得る。また、スクレイピングエンジン部２４０はＣＰＵ３１０、メインメモリ３２０、ＵＳＢホストコントローラ３３０、ハードディスクドライブ３４０、及びネットワークインターフェースカード３５０を含むハードウェア、及びそれぞれのハードウェアコンポーネント用のデバイスドライバ（Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ）及びＣＭＯＳ  ＢＩＯＳなどを含むソフトウェアを用いて行うように実現できる。
【００７０】
スクレイピング環境管理部２４２は、スクレイピングを行う対象機関の識別情報と、スクレイピングを行う際に前記機関に相応する認証情報及び通信情報を含む環境情報を格納する。本実施形態において、前述のような環境情報が格納されたスクレイピング環境管理部２４２がスクレイピングエンジン部２４０にスクリプトの形態で実現されているので、ユーザデバイスやこのＯＳなどのプラットフォームの種類によって個別にスクレイピングエンジンを開発する必要がない利点がある。
【００７１】
セッション管理部２４４は、環境情報の通信情報に基づいてスクレイピングエンジン部２４０と機関とを通信連結する通信セッションを生成及び維持する機能を果たす。この時、通信情報とは、機関からセキュリティ通信のために要求する通信暗号化プロトコルの種類やセッション維持時間などの情報を含むことができ、セッション管理部２４４はスクレイピング要請に相応して機関から要求する通信暗号化プロトコル及びセッション維持時間によって機関の対する通信セッションを管理する機能を果たす。
【００７２】
スクリプトエンジン２４１は、スクレイピング環境管理部２４２に格納された機関の認証情報に基づいてユーザ情報が処理された認証値を機関に伝送することで、前記機関からのデータをスクレイプするように構成される。例えば、認証情報は呼び出された照会または実行に対応するデータをスクレイプするために、第１〜第ｎの機関４０−１〜４０−ｎ（図２）がそれぞれ要求する認証方式に関する情報であり得る。スクリプトエンジン２４１はデータスクレイピングのためにユーザ情報が相応する認証方式（例えば、非対称暗号化など）で処理された認証値を第１〜第ｎの機関４０−１〜４０−ｎ（図２）に伝送し、第１〜第ｎの機関４０−１〜４０−ｎ（図２）からデータを受信するように構成される。
【００７３】
通信管理部２４３は、スクレイピングに必要なユーザ認証のために、ユーザ情報をそれぞれの機関から要求する通信セキュリティポリシーによって処理し、処理結果に該当する認証値をスクリプトエンジン２４１に伝達する。このため、スクレイピング環境管理部２４２は機関別に認証方式に関する情報を格納し、通信管理部２４３はスクレイピング環境管理部２４２に格納された情報のうち、現在スクレイピングを行う対象機関に相応する認証方式によってユーザ情報を処理した後、認証値をスクリプトエンジン２４１に伝達する。ユーザ情報に対する処理とは、認証書の情報及び電子署名を機関から要求するセキュリティポリシーによって暗号化するなどの過程を意味することができる。
【００７４】
また、一実施形態において、認証情報は同一の機関内でもデータ項目ごとに異なって定義される。この時、通信管理部２４３はユーザ情報を、データをスクレイプする機関の通信セキュリティポリシー及び前記機関内でスクレイプするデータ項目に対して定義された通信セキュリティポリシーに相応する方法で処理し、このように処理した認証値をスクリプトエンジン２４１に伝達することもできる。
【００７５】
スクリプトエンジン２４１は前述したように生成される通信セッションを介して認証値を機関に伝送し、機関からスクレイピング方法でデータセットを受信する。一実施形態において、スクレイピングエンジン部２４０は、スクリプトエンジン２４１及びハードウェア諸元３１０、３２０、３３０、３４０、３５を用いて構成されたスクレイピングモジュールに該当し、これらのスクレイピングモジュールは複数で構成されて、第１〜第ｎスクレイピングモジュール２４０−１〜２４０−ｎを介して複数のスクレイピングを行うように構成することもできる。
【００７６】
一実施形態において、スクリプトエンジン２４１はスクレイピングの過程で対象機関が要求する通信方式及び／または認証方式の変更に関連する情報をスクレイピング方式で受信することができる。例えば、金融機関が要求する通信暗号化方式またはユーザ情報の認証方式はいつでも変更することができる。この場合、変更前の通信方式または認証方式を用いたスクレイピング試みは失敗するようになる。スクレイピング環境管理部２４２に現在格納されている通信方式及び認証方式を用いたスクレイピング試みが失敗した場合、スクリプトエンジン２４１は既存のデータセットのための機関サーバのアドレス（例えば、ウェブページ）ではなく、機関が要求する通信方式及び／または認証方式に関する情報を提供する他のサーバのアドレスにアクセスして、当該機関が要求する通信方式及び／または認証方式に関する情報をスクレイピング方式で受信する。
【００７７】
即ち、スクリプトエンジン２４１では、一度現在有している環境情報に基づいて機関のウェブページでユーザ情報のスクレイピングを試みた後、通信方式または認証方式のエラーよってスクレイピングが失敗する場合、機関の通信方式及び認証方式を定義する別のウェブページを通じて環境情報を検証するための情報をスクレイプすることができる。この時、別のウェブページには、スクレイピングを行う対象機関のサーバが提供する他のアドレスに該当するものでもあり得、またはスクレイピングを行う対象機関ではなく、第３の機関が提供する別のサーバに該当するものでもあり得る。
【００７８】
前述した過程によって環境情報に対する変更が確認される場合、スクレイピング環境管理部２４２は、スクリプトエンジン２４１を介してスクレイプした通信方式及び／または認証方式に基づいてスクレイピング環境管理部２４２に格納された環境情報をアップデートする。以後、セッション管理部２４４はアップデートされた環境情報の通信情報に基づいてスクレイピングのための通信セッションを生成する。また、通信管理部２４３はアップデートされた環境情報の認証情報に基づいてユーザ情報が処理された認証値をスクリプトエンジン２４１に伝達する。
【００７９】
一方、セッション管理部２４４及び通信管理部２４３はアップデートされた環境情報による動作を可能にするために、外部のポリシーサーバ（図示せず）から必要な情報をダウンロードすることもできる。例えば、セッション管理部２４４及び通信管理部２４３はアップデートされた環境情報によってセッションを形成したり、ユーザ情報を処理するために必要な通信暗号化ポリシー、データ暗号化ポリシー、認証書などをポリシーサーバからダウンロードすることができる。しかし、これは例示的なものであり、他の実施形態においては、様々な通信方式及び認証方式による処理のためのアルゴリズム及びライブラリファイルなどがセッション管理部２４４及び通信管理部２４３に予め格納されており、セッション管理部２４４及び通信管理部２４３ではスクレイピング環境管理部２４２の環境情報に基づいてこれらのうち適切な情報を選択して使用することも可能である。
【００８０】
図５は一実施形態に係るデータスクレイピング方法の各ステップを示すフローチャートである。本実施形態に係るデータスクレイピング方法は、本発明の実施形態に係るデータスクレイピングシステムを用いて行うことができる。
【００８１】
図５を参照すると、まず、ユーザによって呼び出された照会または実行の情報及びユーザ情報を含んでスクレイピングに必要な情報を受信することができる（Ｓ１１）。一実施形態においては、スクレイプされるデータ項目の情報をメタＤＢに格納することもできる（Ｓ１２）。次に、内部スケジュールアルゴリズムを用いてプラットフォーム独立スクリプトエンジンにユーザ情報と作業を割り当てることができる（Ｓ１３）。例えば、割り当てられるユーザ情報と作業はスクレイピング収集情報全文の形態でスクリプトエンジンに伝達することができる。
【００８２】
ユーザ情報と作業が割り当てられたスクリプトエンジンでは、スクリプトエンジンに格納された環境情報に基づいてスクレイプする機関の通信ポリシー（例えば、通信暗号化プロトコル、セッション維持時間）に符合する通信セッションを生成する（Ｓ１４）。また、スクリプトエンジンでは、スクリプトエンジンに格納された環境情報に基づいてユーザ情報をスクレイプする機関のセキュリティポリシーによって処理して認証値を生成し（Ｓ１５）、生成された認証値を通信セッションに伝送することで（Ｓ１６）、ユーザによって呼び出された照会または実行に対応するデータをスクレイプすることができる（Ｓ１７）。認証値はスクレイプする情報に対する機関のセキュリティポリシーによって認証書及び電子署名を暗号化した値でもあり得、または単にユーザのＩＤ及びパスワードなどのユーザ情報でもあり得る。
【００８３】
一実施形態において、スクリプトエンジンは機関が提供するデータセットからメタＤＢのスクレイピング項目に基づいてデータを抽出することができる（Ｓ１８）。このために、メタＤＢには機関が提供するデータセットで各項目が位置する部分を特定する識別情報が予め格納できる。前述の過程によって抽出したスクレイピングデータは情報収集プログラムでまとめた後、ユーザに提供することができる。
【００８４】
図６は他の実施形態に係るデータスクレイピング方法の各ステップを示すフローチャートである。
図３及び図６を参照すると、まず、データスクレイピング情報収集部２００ではユーザデバイス１０からのスクレイピング要請を送受信部１００を介して受信し、データスクレイピングエンジンの情報読み取りを行う（Ｓ１００）。これはスクレイピングエンジン部に格納された認証書のバージョン、スクレイピングエンジン部の誤動作の可否、実行時間、実行作業の概略内容、最適化のための情報、スクレイピング作業の権限情報などを確認する過程を含むことができる。
【００８５】
一実施形態において、データスクレイピング情報収集部２００はスクレイピング要請に基づいてスクレイプする項目を決定し、これをメタＤＢ２８０に格納することができる（Ｓ１１０）。スクレイプする項目が決定されると、データスクレイピング情報収集部２００ではこれに基づいて機関にスクレイピングを要請する（Ｓ１２０）。
【００８６】
スクレイピングのための具体的な過程として、まず、データスクレイピング情報収集部２００はスクレイピングエンジン部２４０の作業管理のためのスクレイピング作業モニター及びスクレイピング作業管理者のバージョンを確認したか否かを判断し、バージョンを確認した場合（ステップＳ１３０及びＳ１４０で「ＹＥＳ」）、次のステップに移行し、バージョンを確認しなかった場合（ステップＳ１３０及びＳ１４０で「ＮＯ」）、前記スクレイピング作業モニター及びスクレイピング作業のバージョンを同期化（ステップＳ１３２、Ｓ１４２）させる作業を行う。
【００８７】
次に、データスクレイピング情報収集部２００はスクレイピングエンジン部２４０内の認証書のバージョンを確認したか否かを判断し、バージョンを確認した場合（ステップＳ１５０で「ＹＥＳ」）、次のステップ（Ｓ１６０）に移行し、バージョンを確認しなかった場合（ステップＳ１５０で「ＮＯ」）、認証書のバージョンを同期化（ステップＳ１５２）させた後、次のステップ（Ｓ１６０）に移行する。
【００８８】
前記ステップ（Ｓ１６０）では、要請されたデータスクレイピングのために機関のセキュリティポリシーによって要求されるスクリプトエンジンの認証方法を確認する（Ｓ１６０）。認証方法は機関別に異なってもよく、また、一つの機関でもスクレイプするデータ項目によって認証方法が異なることができる。例えば、残高及び入出金履歴を照会する際には認証書を要求せず、ユーザＩＤ及びパスワードの入力のみを通じて機関からデータセットの提供を受けることができる一方、取引履歴や有効期間などを照会する際には電子署名を通じた認証書の認証が必要であり得る。
【００８９】
前記ステップ（Ｓ１６０）で確認された認証方式によって、認証書の認証が必要な場合、データスクレイピング情報収集部２００はユーザ情報として認証書及び電子署名の入力を受け（Ｓ１７０）、これを機関が要求するセキュリティポリシーによって処理したり（Ｓ１８０）、またはユーザ情報としてＩＤ及びパスワードなどの入力を受けたり（Ｓ１９０）、生体認証方式におけるユーザ情報としてユーザの虹彩認識情報、指紋情報または他の形態の身体関連情報を受信し（Ｓ２００）、これを機関が要求するセキュリティポリシーによって処理することができる（Ｓ２１０）。
【００９０】
データスクレイピング情報収集部２００は前述の認証情報が処理された認証値を伝送することで、機関からスクレイピング対象の情報を収集する（Ｓ２２０）。この時、一実施形態において、データスクレイピング情報収集部２００はメタＤＢ２３０を参照して、スクレイプしたデータがメタＤＢ２３０のスクレイピング項目と一致するか否かを確認し（Ｓ２３０）、一致しない場合、ステップＳ１１０に戻って再びスクレイピングを行う。なお、一致する場合はスクレイピング結果をまとめ、このまとめた情報をユーザに返すようになる（Ｓ２４０）。
【００９１】
以上で説明した実施形態に係るデータスクレイピング方法によれば、データスクレイピング情報収集部が実現されるデバイスのハードウェアや当該デバイスを運用するためのＯＳなどのプラットフォームによって影響を受けないように、プラットフォーム独立スクリプト形態でスクリプトエンジンを実現することができる。スクリプトエンジンはスクリプトで金融機関などの機関の通信方式に符合する通信セッションを生成し、金融機関などから要求する認証方式によって処理されたユーザ情報の認証値を機関に伝達することで、目的とするデータをスクレイプすることができる。その結果、スクレイピングモジュールをそれぞれのオペレーティングシステムごとに個別に開発する必要がなく、様々なオペレーティングシステムにおけるスクレイピングを一つのスクレイピングモジュールで処理することができるので、使用するデバイス及びオペレーティングシステムが次第に多様化していく現在の実情でスクレイピングシステムの開発に投入するコストと人力を大幅に減らすことができる利点がある。
【産業上の利用可能性】
【００９２】
以上で説明した実施形態に係るデータスクレイピング方法は少なくとも部分的にコンピュータプログラムで実現され、コンピュータで読み取り可能な記録媒体に記録されることができる。実施形態に係る記録媒体には、データスクレイピング方法を実現するためのプログラムが記録され、前記記録媒体はコンピュータによって読み取ることができるデータが記録されることができる任意の種類の記録装置を含む。例えば、コンピュータが読み取り可能な記録媒体としては、ＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピーディスク、光データ格納装置などがある。また、コンピュータが読み取り可能な記録媒体には、ネットワークを介して連結されたコンピュータシステムに分散され、分散方式でコンピュータが読み取り可能なコードが格納されて実行されることもできる。また、本実施形態を実現するための機能的なプログラム、コード及びコードセグメント（ｓｅｇｍｅｎｔ）は、本発明が属する技術分野における通常の技術者なら容易に理解することができる。
【００９３】
以上で調べてみた本発明は図面に示した実施形態を参照して説明したが、これは例示的なものに過ぎず、当該分野における通常の知識を有する者であれば、これにより様々な変形及び均等な他の実施形態が可能であることを理解することができる。しかし、このような変形は本発明の技術的保護範囲内にあると見なすべきである。従って、本発明の真正な技術的保護範囲は、添付した特許請求範囲の技術的思想によって定められなければならない。
【符号の説明】
【００９４】
１  送受信部
１０  ユーザデバイス
３０  インターネット網
４０  機関
１００  情報収集プログラム
２００  データスクレイピング情報収集部
２１５  スクレイピングエラー修正部
２４０  スクレイピングエンジン部
２４１  スクリプトエンジン
２４２  スクレイピング環境管理部
２４３  通信管理部
２４４  セッション管理部
２６０  モジュールアップデート部
２７０  認証書分配部
２１０  検証部
２２０  作業管理部
２５０  プラットフォーム管理部
２８０  監査用資料管理部
２９０  ＤＢファイル部
【図１】
2019192189.tif 000003
【図２】
2019192189.tif 000004
【図３】
2019192189.tif 000005
【図４】
2019192189.tif 000006
【図５】
2019192189.tif 000007
【図６】
2019192189.tif 000008