JP6707586B2 - スクリプトエンジンを用いたデータスクレイピングシステム、方法、及びコンピュータプログラム - Google Patents

スクリプトエンジンを用いたデータスクレイピングシステム、方法、及びコンピュータプログラム Download PDF

Info

Publication number
JP6707586B2
JP6707586B2 JP2018149919A JP2018149919A JP6707586B2 JP 6707586 B2 JP6707586 B2 JP 6707586B2 JP 2018149919 A JP2018149919 A JP 2018149919A JP 2018149919 A JP2018149919 A JP 2018149919A JP 6707586 B2 JP6707586 B2 JP 6707586B2
Authority
JP
Japan
Prior art keywords
scraping
data
information
unit
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018149919A
Other languages
English (en)
Other versions
JP2019192189A (ja
Inventor
ジェ ウォン チョン
ジェ ウォン チョン
チョン ソク パク
チョン ソク パク
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Coocon Co Ltd
Original Assignee
Coocon Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Coocon Co Ltd filed Critical Coocon Co Ltd
Publication of JP2019192189A publication Critical patent/JP2019192189A/ja
Application granted granted Critical
Publication of JP6707586B2 publication Critical patent/JP6707586B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明の実施形態はデータスクレイピング(data scraping)システム、方法、及びコンピュータプログラムに関するもので、より詳細には、スクレイピングに関する環境情報が格納されたスクリプトエンジン(script engine)を搭載するようにスクレイピングモジュールを開発することで、様々なオペレーティングシステムにおけるスクレイピングを一つのスクレイピングモジュールで処理する技術に関するものである。
一般的に、スクリーンスクレイピング(screen scraping)は、スクリーンに表示されるデータのうち、必要なもののみを抽出するソフトウェアであって、自動的にシステムにアクセスしてデータを画面に表示させた後、必要な資料のみを抽出する技術である。ウェブサイトにある情報を引き出して他のサイトやデータベースに格納するため、ウェブスクレイピング(web scraping)ともいう。データを格納するので、必要によって随時に照会が可能であり、格納したデータを加工して比較分析資料として活用することもできる。特に、インターネットバンキングの際に必須のプログラムであって、各金融機関で活発に運営中である。また、ホテルや航空会社・レンタカー・ガソリンスタンドなどにおけるマイレージのような補償プログラム、電子メール統合照会、ニュース・チャット・天気などのユーザがクリックして情報を得ることができるところであれば、場所を問わず用いることができる。
スクリーンスクレイピング技術は、アメリカなどでは1990年代末から普遍化されており、韓国内では2000年に設立したフィンガー(Finger)社がこの技術を初めて開発し、金融サービスを開始した以来、金融機関を中心に広く用いられている。現在代表的なものとしては、個人が有している複数の金融機関の口座を統合して管理することができる個人金融資産統合管理ソフトウェア(PFMS:Personal Finance Management Software)が挙げられる。一々各ウェブサイトを訪問する必要がないことから手間やコストを節減できる長所があるが、プライバシーを侵害する恐れがあり、ウェブサイトがアップデートされる度にプログラミングを修正しなければならない短所もある。
前記スクリーンスクレイピング技術を大別すると、クライアント(client)方式とサーバ(server)方式があり、口座統合サービスや個人資産管理、企業資産管理プログラムにおいてその活用度が高い。しかし、エンドツーエンド(end−to−end)ポリシーを守らなければならない韓国内のセキュリティーポリシー上の理由から、サーバ方式よりはクライアント方式のスクリーンスクレイピング技術が絶対優位を占めている。
図1は従来のクライアント方式のスクリーンスクレイピングを用いた口座統合サービスシステムの構成を示すブロック図である。
従来の口座統合サービスシステムは、図1に示したように、ユーザ10が口座統合サービスプログラム20にて第1〜第nの機関40−1〜40−nに登録されたウェブサービスプログラム41にインターネット網30を介してアクセスして、前記第1〜第nの機関40−1〜40−nの通信セキュリティーポリシーによってサービスを行う。この時、前記スクリーンスクレイピングは前記口座統合サービスプログラム20で行われる。
従来のクライアント方式のスクリーンスクレイピングを用いた口座統合サービスシステムは、図1のように、金融関連ウェブサービスのスクリーンスクレイピングを行う際にサービスの安定性や技術的制約によって複数のスクリーンスクレイピング作業を順次行い、結果を受け取る構成である。これは、例えば、銀行口座の数が多い場合、取引履歴照会スクレイピングを行う際に深刻な性能低下を引き起こす問題点があった。
前述したような問題点を解決するために、複数のスクレイピングマシンによって並列にスクリーンスクレイピングを行う技術が開発されたこともあった。しかし、従来には、スクレイピングマシンが互いに異なるオペレーティングシステム(operating system)で動作するようにするためには、金融機関から要求するセキュリティーポリシーを守る必要がある。そのため、各オペレーティングシステムに符合するスクレイピングモジュールを個別に開発しなければならなかった。例えば、ウィンドウズオペレーティングシステムベースのPC以外に、リナックス(Linux)やOS Xベースのコンピュータ、またはiOSとアンドロイド(Android)などのモバイルオペレーティングシステムのそれぞれに対して、個別にスクレイピングモジュールを開発する必要がある。これは、ユーザが使用するデバイス及びオペレーティングシステムの種類が多様化することによって、開発に投入する必要がある装備の規模やコストを幾何級数的に増加させる問題点がある。
韓国特許登録第10−0494975号公報
本発明の一側面によれば、スクレイピング(scraping)に関する環境情報が格納されたスクリプトエンジンを搭載することで、様々なオペレーティングシステムにおけるスクレイピングを一つのスクレイピングモジュールで処理することができ、スクレイピング対象機関の通信方式に符合する通信セッションを生成し、対象機関の認証方式によってユーザ情報が処理された認証値を機関に伝送して、様々なプラットフォームで動作可能であり、オペレーティングシステムによる制約事項なしに、様々な機関からスクレイピング情報を収集することができるデータスクレイピングシステム、方法、及びコンピュータプログラムを提供することにその目的がある。
本発明の一側面に係るデータスクレイピングシステムは、スクレイピングが必要な照会または実行を呼び出すサービスプログラムを備え、ユーザデバイスからスクレイピングのためのユーザ情報を含むスクレイピング要請を受信し、スクレイプしたデータを前記ユーザデバイスに伝送するように構成された送受信部;及び前記送受信部に受信された前記ユーザ情報を用いて一つ以上の機関からのデータをスクレイプするように構成された一つ以上のデータスクレイピング情報収集部を含む。
前記一つ以上のデータスクレイピング情報収集部のそれぞれは、スクレイピングを行う前記機関の識別情報と、スクレイピングを行う前記機関に相応する認証情報及び通信情報を含む環境情報を格納し、プラットフォーム独立スクリプト(script)形態を有し、前記環境情報に基づいて前記機関からのデータをスクレイプするように構成されたスクレイピングエンジン(engine)部を含む。
一実施形態において、前記スクレイピングエンジン部は、前記環境情報を格納するスクレイピング環境管理部;前記通信情報に基づいて前記機関と前記スクレイピングエンジン部との間の通信セッションを生成するセッション管理部;前記認証情報に基づいて前記ユーザ情報を処理する通信管理部;前記ユーザ情報が処理された認証値を前記機関に伝送することで、前記機関からのデータをスクレイプするように構成されたスクレイピングエンジンを含む。
一実施形態において、前記ユーザ情報はユーザの生体認証情報を含む。
一実施形態において、前記一つ以上のデータスクレイピング情報収集部のそれぞれは、スクレイプされるデータ項目を指定するメタデータベースを更に含む。この時、前記スクレイピングエンジン部は、前記機関が提供するデータセットから前記メタデータベースに基づいてスクレイプするデータを抽出するように更に構成される。
一実施形態において、前記一つ以上のデータスクレイピング情報収集部のそれぞれは、スクレイピングのための前記ユーザ情報及び前記ユーザ情報に基づいた作業を、内部スケジュールアルゴリズムを用いて前記スクレイピングエンジン部に割り当てる作業管理部を更に含む。
一実施形態において、前記一つ以上のデータスクレイピング情報収集部のそれぞれは、前記作業管理部の正常動作の可否をモニターし、エラー発生時には前記作業管理部を再実行し、前記データセットでスクレイプされる前記データ項目が位置する部分を識別するための識別情報を前記メタデータベースに格納するプラットフォーム管理部を更に含む。
一実施形態において、前記一つ以上のデータスクレイピング情報収集部のそれぞれは、前記送受信部の前記サービスプログラムと前記スクレイピングエンジン部とが相互認証されたか否かを検査することで、前記スクレイピング要請を検証するように構成された検証部を更に含む。
一実施形態において、前記一つ以上のデータスクレイピング情報収集部のそれぞれは、前記データスクレイピング情報収集部と相互認証された一つまたは複数のユーザの認証書を格納しており、前記データスクレイピング情報収集部に割り当てられたスクレイピング作業に基づいて必要な認証書を前記スクレイピングエンジン部にインストールするように構成された認証書分配部を更に含む。
一実施形態において、前記一つ以上のデータスクレイピング情報収集部のそれぞれは、前記ユーザデバイスにインストールされた認証書と前記スクレイピングエンジン部にインストールされた認証書とが異なる場合、前記ユーザデバイスから受信した認証書を用いて前記スクレイピングエンジン部にインストールされた認証書をアップデートするように構成されたモジュールアップデート部を更に含む。
一実施形態において、前記一つ以上のデータスクレイピング情報収集部のそれぞれは、前記ユーザデバイスでスクレイピングを直接行いながらエラーが発生すると、エラー発生時にユーザデバイスに入力されたスクレイピング入力情報からエラーログを分析し、分析されたエラーログに基づいて前記ユーザデバイス内のスクレイピングモジュールをアップデートさせるスクレイピングエラー修正部を更に含む。
本発明の他の一側面に係るデータスクレイピング方法は、スクレイピングが必要な照会または実行を呼び出すサービスプログラムを備えたデータスクレイピングシステムの送受信部が、ユーザデバイスから、ユーザによって呼び出された照会または実行の情報及びユーザ情報を含むスクレイピング要請を受信するステップ;前記データスクレイピングシステムが、スクレイピングを行う前記機関の識別情報とスクレイピングを行う前記機関に相応する認証情報及び通信情報を含む環境情報を格納し、プラットフォーム独立スクリプト形態を有する前記データスクレイピングシステムのスクレイピングエンジン部に前記ユーザ情報及び前記ユーザ情報に基づいた作業を割り当てるステップ;前記スクレイピングエンジン部が前記環境情報に基づいて前記機関からのデータをスクレイプするステップ;及び前記送受信部がスクレイプしたデータを前記ユーザデバイスに伝送するステップを含む。
一実施形態において、前記機関からのデータをスクレイプするステップは、前記スクレイピングエンジン部が前記通信情報に基づいて前記機関と前記スクレイピングエンジン部との間の通信セッションを生成するステップ;前記スクレイピングエンジン部が前記認証情報に基づいて前記ユーザ情報を処理するステップ;及び前記スクレイピングエンジン部が、前記ユーザ情報が処理された認証値を前記機関に伝送することで、前記機関からのデータをスクレイプするステップを含む。
一実施形態に係るデータスクレイピング方法は、前記機関からのデータをスクレイプするステップの前に、前記データスクレイピングシステムがスクレイプされるデータ項目をメタデータベースに格納するステップを更に含む。この時、前記機関からのデータをスクレイプするステップは、前記機関が提供するデータセットから前記メタデータベースに基づいてスクレイプするデータを抽出するステップを含む。
一実施形態に係るデータスクレイピング方法は、前記機関からのデータをスクレイプするステップの前に、前記データスクレイピングシステムの作業管理部が前記ユーザ情報及び前記作業を、内部スケジュールアルゴリズムを用いて前記スクレイピングエンジン部に割り当てるステップを更に含む。
一実施形態に係るデータスクレイピング方法は、前記データスクレイピングシステムが、前記作業管理部の正常動作の可否をモニターし、エラー発生時には前記作業管理部を再実行するステップ;及び前記データスクレイピングシステムが、前記データセットでスクレイプされる前記データ項目が位置する部分を識別するための識別情報を前記メタデータベースに格納するステップを更に含む。
一実施形態に係るデータスクレイピング方法は、前記機関からのデータをスクレイプするステップの前に、前記データスクレイピングシステムが、前記送受信部の前記サービスプログラムと前記スクレイピングエンジン部とが相互認証されたか否かを検査することで、前記スクレイピング要請を検証するステップを更に含む。
一実施形態において、前記データスクレイピングシステムは、前記データスクレイピングシステムと相互認証された一つまたは複数のユーザの認証書を格納している。この時、一実施形態に係るデータスクレイピング方法は、前記機関からのデータをスクレイプするステップの前に、前記データスクレイピングシステムが、前記スクレイピングエンジン部に割り当てられたスクレイピング作業に基づいて必要な認証書を前記スクレイピングエンジン部にインストールするステップを更に含む。
一実施形態に係るデータスクレイピング方法は、前記機関からのデータをスクレイプするステップの前に、前記データスクレイピングシステムが、前記ユーザデバイスにインストールされた認証書と前記スクレイピングエンジン部にインストールされた認証書とが異なる場合、前記ユーザデバイスから受信した認証書を用いて前記スクレイピングエンジン部にインストールされた認証書をアップデートするステップを更に含む。
一実施形態に係るデータスクレイピング方法は、前記ユーザデバイスでスクレイピングを直接行いながらエラーが発生すると、前記データスクレイピングシステムが、エラー発生時にユーザデバイスに入力されたスクレイピング入力情報からエラーログを分析するステップ;及び前記データスクレイピングシステムが、分析されたエラーログに基づいて前記ユーザデバイス内のスクレイピングモジュールをアップデートさせるステップを更に含む。
更に、本発明の他の側面に係るコンピュータプログラムは、ハードウェアと組み合わせて前述した実施形態に係るデータスクレイピング方法を行うためのものであり、コンピュータで読み取り可能な媒体に記録することができる。
本発明の一側面に係るデータスクレイピングシステム及び方法によれば、スクレイピングに関する環境情報が格納されたスクリプトエンジンをスクレイピングモジュールに搭載することで、スクレイピングモジュールをそれぞれのオペレーティングシステムごとに個別に開発する必要がなく、様々なオペレーティングシステムにおけるスクレイピングを一つのスクレイピングモジュールで処理することができるので、使用するデバイス及びオペレーティングシステムが次第に多様化していく現在の実情でスクレイピングシステムの開発に投入するコストと人力を大幅に減らすことができる利点がある。
また、本発明の一側面に係るデータスクレイピングシステム及び方法によれば、スクリプトエンジンが銀行、証券会社、クレジットカード会社などの金融機関、公共機関、または実物情報を提供する機関との間に当該機関から要求する認証方式に符合する通信セッションを生成し、対象機関の認証方式によってユーザ情報が処理された認証値を機関に伝送することで、目的とするデータ、例えば、口座残額、口座取引履歴、カード承認履歴、カード請求履歴、カード限度、証券残高、保険加入履歴などのような金融情報、または国税庁所得証拠、事業者登録証明、事業者休廃業情報、納税事実証明、付加価値税課税標準証明、標準財務諸表証明、健保資格確認書、健保資格得失確認書、職場保険料個人別照会履歴、国民年金納付履歴、民願24の身分証真偽情報などのような公共情報などをスクレイプすることができる。
従来のスクリーンスクレイピングを用いた口座統合サービスシステムの構成を示すブロック図である。 一実施形態に係るデータスクレイピングシステムの構成を示すブロック図である。 一実施形態に係るデータスクレイピングシステムにおけるデータスクレイピング情報収集部の詳細構成を示すブロック図である。 図3に示したスクレイピングエンジン部及びその実現のためのハードウェア諸元を示すブロック図である。 一実施形態に係るデータスクレイピング方法の各ステップを示すフローチャートである。 他の実施形態に係るデータスクレイピング方法の各ステップを示すフローチャートである。
以下、図面を参照して本発明の実施形態について詳細に説明する。
図2は一実施形態に係るデータスクレイピングシステムの構成を示すブロック図である。
図2を参照すると、本実施形態に係るデータスクレイピングシステム1は、送受信部100、及び一つ以上のデータスクレイピング情報収集部200−1〜200−nを含む。実施形態に係るデータスクレイピングシステム1は、全てがハードウェアであるか、または部分的にハードウェアであり、部分的にソフトウェアである側面を有することができる。例えば、データスクレイピングシステム1を構成する送受信部100とデータスクレイピング情報収集部200−1〜200−n及び、これに含まれる各部は、特定の形式及び内容のデータを電子通信方式で送受信するための装置及びこれに関連したソフトウェアを通称することができる。
本明細書において、各「部(unit)」、「モジュール(module)」、「サーバ」、「システム」、「プラットフォーム」、「装置」または「端末」などの用語は、ハードウェア及び当該ハードウェアによって駆動されるソフトウェアの組み合わせを称することと意図する。例えば、ここでハードウェアは、CPUまたは他のプロセッサ(processor)を含むデータ処理機器あり得る。また、ハードウェアによって駆動されるソフトウェアは、実行中のプロセッサ、オブジェクト(object)、実行ファイル(executable)、実行スレッド(thread of execution)、プログラム(program)などを称することもできる。
データスクレイピングシステム1はユーザデバイス10と通信しながら、ユーザデバイス10からスクレイピングが必要な照会または実行に対する呼び出し命令、及び認証のために必要なユーザ情報などを受信するように構成される。ユーザデバイス10はウィンドウズ(Windows)オペレーティングシステム(Operating System; OS)ベースのパーソナルコンピュータ(Personal Computer; PC)であることもあるが、これに限定されず、Linux(Linux)やOS Xベースのコンピュータ、iOSとアンドロイド(Android)などモバイルOSをベースにしたスマートフォン(smartphone)などのモバイルコンピュータ装置、ノート型(notebook)コンピュータ、PDA(Personal Digital Assistant)、タブレット(Tablet)、IPTV(Internet Protocol Television)などのためのセットトップボックス(set−top box)または他の任意の装置であり得る。
また、データスクレイピングシステム1は第1〜第nの機関40−1〜40−nに登録されたウェブサービスプログラム41にインターネット網30を介してアクセスし、前記第1〜第nの機関40−1〜40−nからデータをスクレイプするように構成される。インターネット網30を介した通信方法は、オブジェクトとオブジェクトがネットワークできる全ての通信方法を含むことができ、有線通信、無線通信、3G、4G、5G、或いはそれ以外の方法を含むこともでき、特に限定されるものではない。例えば、インターネット網30はLAN(Local Area Network)、MAN(Metropolitan Area Network)、GSM(Global System for Mobile Network)、EDGE、(Enhanced Data GSM Environment)、HSDPA(High Speed Downlink Packet Access)、W−CDMA(Wideband Code Division Multiple Access)、CDMA(Code Division Multiple Access)、TDMA(Time Division Multiple Access)、ブルートゥース(Bluetooth)、ジグビー(Zigbee)、ワイ−パイ(Wi−Fi)、VoIP(Voice over Internet Protocol)、LTE Advanced、IEEE802.16m、WirelessMAN−Advanced、HSPA+、3GPP Long Term Evolution(LTE)、Mobile WiMAX(IEEE 802.16e)、UMB(formerly EV−DO Rev.C)、Flash−OFDM、iBurst and MBWA(IEEE 802.20)systems、HIPERMAN、Beam−Division Multiple Access(BDMA)、Wi−MAX(World Interoperability for Microwave Access)及び、超音波活用通信からなる群から選択される一つ以上の通信方法による通信ネットワークを称することができるが、これに限定されるものではない。
本実施形態に係るデータスクレイピングシステム1は、図2に示すように、スクレイピングが必要な照会または実行を呼び出す情報収集プログラムを備え、スクレイピングのためのユーザ情報を含むスクレイピング要請を受信し、スクレイプしたデータをユーザデバイス10に伝送する送受信部100を含む。また、本実施形態に係るデータスクレイピングシステム1は、送受信部100から伝達されたスクレイピング要請に基づいてインターネット網30にアクセスすることで、インターネット網30に連結され、ウェブサービスプログラム41をそれぞれ備えた第1〜第nの機関40−1〜40−nからのデータをスクレイプする第1〜第nのデータスクレイピング情報収集部200−1〜200−nを含む。即ち、第1〜第nのデータスクレイピング情報収集部200−1〜200−nは、それぞれ第1〜第nの機関40−1〜40−nからのデータをスクレイプすることができる。
第1〜第nの機関40−1〜40−nは本実施形態に係るデータスクレイピングシステム1による情報収集の対象となる団体で運用するシステムを称するものであり、銀行、証券会社、クレジットカード会社などの金融機関や、公共機関、または実物情報を提供する他の任意の機関であり得、特定の団体に限定されるものではない。また、本実施形態に係るデータスクレイピングシステム1による情報収集が可能な機関の数は複数である。
送受信部100の情報収集プログラムはユーザデバイス10によってアクセスしてユーザが使用することで、スクレイピングが必要な照会または実行が呼び出され、また、認証のためのユーザ情報が入力できるプログラムである。例えば、情報収集プログラムは銀行口座の残高及び/または取引履歴が照会できる残高取引履歴照会業務用プログラム、口座間の振替を行うことができる集金業務プログラムなどであり得るが、これに限定されるものではない。更に、情報収集プログラムはユーザが一つのプログラムを通じて複数の機関に分散された口座の照会などを行うことができる口座統合サービスのために構成されたものであり得る。
第1〜第nのデータスクレイピング情報収集部200−1〜200−nのそれぞれは、後述するようにプラットフォーム(platform)独立スクリプト(script)形態のスクレイピングエンジン部を含む。スクレイピングエンジン部はスクレイピングを行う前記機関の識別情報とスクレイピングを行う前記機関に相応する認証情報及び通信情報を含む環境情報を格納し、環境情報に基づいて第1〜第nの機関40−1〜40−nからのデータをスクレイプする。第1〜第nのデータスクレイピング情報収集部200−1〜200−nのそれぞれは、仮想マシン(virtual machine)上で動作することができるが、これに限定されるものではない。
ユーザはユーザデバイス10を用いてデータスクレイピングシステム1に接続することで、情報収集プログラムにアクセスするようになり、データスクレイピングシステム1内部におけるスクレイピング作業の場合、データを対象機関の種類によって前記第1〜第nのデータスクレイピング情報収集部200−1〜200−nに分散処理して作業を行う。しかし、スクレイピング情報収集部200−1〜200−nは一つのハードウェア装置を用いて実現されるスクレイピングモジュールを単に機能的に区分したものであり得る。セキュリティのために、情報収集プログラムとデータスクレイピング情報収集部200−1〜200−nとの間の区間では公開鍵基盤構造(Public Key Infrastructure; PKI)のシステム認証プログラムとスクレイピングモジュールを認証し、ユーザ情報及び結果はSSL(Secure Sockets Layer)で通信を行うことができる。
スクレイピングのためのユーザ情報は、情報収集プログラムとデータスクレイピング情報収集部200−1〜200−nとの間の認証及び通信区間を介してデータスクレイピング情報収集部200−1〜200−nに伝達され、データスクレイピング情報収集部200−1〜200−nでは、各機関40−1〜40−nの通信セキュリティポリシーに合わせて処理される。
具体的には、データスクレイピング情報収集部200−1〜200−nのそれぞれのスクリプトエンジンでは、各機関40−1〜40−nの通信ポリシーに相応する方式で、各機関40−1〜40−nとの通信セッション(session)を形成し、各機関40−1〜40−nのセキュリティポリシーに相応する方式でユーザ情報を処理し、処理結果に該当する認証値を各機関40−1〜40−nに伝送してデータをスクレイプする。例えば、スクレイプするデータは、口座残額、口座取引履歴、カード承認履歴、カード請求履歴、カード限度、証券残高、保険加入履歴などのような金融情報、または国税庁所得証拠、事業者登録証明、事業者休廃業情報、納税事実証明、付加価値税課税標準証明、標準財務諸表証明、健保資格確認書、健保資格得失確認書、職場保険料個人別照会履歴、国民年金納付履歴、民願24の身分証真偽情報などのような公共情報であり得るが、これに限定されるものではない。スクレイピングの結果はデータスクレイピング情報収集部200−1〜200−nとの認証及び通信区間を介して情報収集プログラムでまとめることができる。
図3は一実施形態に係るデータスクレイピングシステムにおけるデータスクレイピング情報収集部の詳細構成を示すブロック図である。図3に示したデータスクレイピング情報収集部200は、図2に示した第1〜第nのデータスクレイピング情報収集部200−1〜200−nのそれぞれに対応する。
図3を参照すると、データスクレイピング情報収集部200はスクレイピングエンジン部240を含む。スクレイピングエンジン部240はジャバスクリプト(JAVA script)などのプラットフォーム独立言語で作成したスクリプト形態を有する。ここで、プラットフォームとは、データスクレイピング情報収集部200が実現されるデバイスのハードウェア及び前記ハードウェアを運用するためのオペレーティングシステムを含む。プラットフォーム独立スクリプトの形態でスクレイピングエンジン部240を構成することで、デバイスまたはOSの種類によってスクレイピングエンジンを別途に開発する必要がなく、スクレイピングエンジン部240によっていかなる実行環境でもスクレイピングを行うことができる。
一実施形態において、データスクレイピング情報収集部200はスクレイプされるデータ項目を指定するメタデータベース(meta database、DB)230を更に含む。この時、スクレイピングエンジン部240は、第1〜第nの機関40−1〜40−nがそれぞれ提供するデータセット(data set)からメタデータベース230に基づいてスクレイプする項目に該当するデータを抽出するように構成される。
即ち、前記メタDB230はユーザが望む収集する情報、例えば、収集する対象及びスクレイピング項目を格納する役割を果たす。例えば、ユーザが口座の振替履歴についての照会を希望する場合、振替履歴を指示するコードまたは符号などがスクレイプされるデータ項目としてメタDB230に格納されることができる。この時、スクレイピングエンジン部240はメタDB230のスクレイプされるデータ項目に基づいてスクレイピング情報を収集する。このため、メタDB230は、それぞれの機関が提供するデータセットからデータ項目を抽出するための識別情報を含む。例えば、識別情報はHTTP(Hypertext Transfer Protocol)またはJSON(Java Script Object Notation)などのプロトコルで受信することができるデータセットから特定のデータ項目が位置する部分を識別することができる情報であり得る。
本実施形態でスクレイピングエンジン部240は、従来のようにスクリーン全体のデータをスクレイプする代わりに、メタDB230に格納されたスクレイプされるデータ項目を用いてデータセットから選別的にデータをスクレイプする。選別的に収集されたスクレイピング情報はメタDB230のスクレイピング項目との対照を通じた確認過程の後、送受信部100(図2)の情報収集プログラムに伝達され、ユーザに提供することができる。
一実施形態において、データスクレイピング情報収集部200は作業管理部220を更に含む。作業管理部22はスクレイピングのためのユーザ情報及びユーザ情報に基づいた作業を内部スケジュールアルゴリズムを使用してスクレイピングエンジン部240に割り当てる。例えば、割り当てられるユーザ情報と作業はスクレイピング収集情報全文の形態でデータスクレイピング情報収集部200に伝送されることができる。例えば、作業管理部220は内部スケジュールアルゴリズムを介して伝送されたスクレイピングのためのユーザ情報をスクレイピングエンジン部240にAPI(Application Program Interface)呼び出しやOLE(Object Linking and Embedding)プロトコルを使用して伝達し、その結果はソケットやSSL(Secure Sockets Layer)通信を介して受信することができる。
一実施形態において、データスクレイピング情報収集部200はプラットフォーム管理部250を更に含む。プラットフォーム管理部250は、作業管理部220を最新のバージョンにアップデートしたり、作業管理部220が非正常的に実行したり、エラーによる問題が発生した時に、作業管理部220上の全てのプロセッサを中止させ、作業管理部220を再実行する役割を果たす。
また、プラットフォーム管理部250は、作業管理部220がスクレイピングエンジン部240を呼び出して作動する際に発生できる例外の場合、例えば、セキュリティモジュールなどスクレイピング作業に必要なプログラムのインストールやアップデートに関連するユーザ入力に応答してスクレイピングエンジン部240をアップデートさせるように、モジュールアップデート部260を制御する役割を果たすこともできる。
また、プラットフォーム管理部250は、スクレイピングを行う対象機関が提供するデータセットからスクレイプされるデータ項目が位置する部分を識別するための識別情報をユーザからの入力を通じて受け入れ、入力された識別情報をメタデータベース230に格納する機能を果たすこともできる。
更に、プラットフォーム管理部250は、データスクレイピング情報収集部200と、その内部にあるスクリプトエンジンの電源のオン(ON)/オフ(OFF)状態、データスクレイピング情報収集部200を実現するために仮想マシンにインストールされたOSのバージョン情報、データスクレイピング情報収集部200が現在ユーザの入力を待っているか否か、及びデータスクレイピング情報収集部200を実現するためのハードウェア諸元として、CPU、メインメモリ(Main Memory)、USBホストコントローラ(Host Controller)、ハードディスクドライブ(Hard Disk Drive)、ネットワークインターフェースカード(Network Interface Card)のシェア、残るスペース、使用状態、ネットワークの占有状態などを照会する役割を果たすことができる。プラットフォーム管理部250は送受信部100(図2)及びデータスクレイピング情報収集部200のプログラムやライブラリ、認証書をアップデートし、同期化するための前処理作業やファイルの送受信を担当することもできる。
一実施形態において、データスクレイピング情報収集部200は検証部210を更に含む。検証部210は送受信部100(図2)の情報収集プログラムからスクレイピング要請がある場合、前記情報収集プログラムとデータスクレイピング情報収集部200が互いに認証されたプログラムであるか否かを確認する。確認の結果、情報収集プログラムとデータスクレイピング情報収集部200が互いに認証されたプログラムである場合、検証部210ではスクレイピング要請を作業管理部220に伝達してスクレイピングが行われるようにする。しかし、互いに認証されたプログラムではない場合は、スクレイピング要請を拒絶することができる。
一実施形態において、データスクレイピング情報収集部200は認証書分配部270を含む。認証書分配部270はデータスクレイピング情報収集部200と相互認証された一つまたは複数のユーザの認証書を格納しており、データスクレイピング情報収集部200に割り当てられたスクレイピング作業によって必要な認証書をスクレイピングエンジン部240にインストールする機能を果たす。
また、一実施形態において、データスクレイピング情報収集部200はモジュールアップデート部260を更に含む。モジュールアップデート部260はスクレイピング要請に含まれた認証情報に基づいてユーザデバイス10(図2)にインストールされた認証書とスクレイピングエンジン部240にインストールされた認証書を比較して、ユーザデバイス10にインストールされた認証書とスクレイピングエンジン部240にインストールされた認証書とが異なる場合、ユーザデバイス10にインストールされた認証書に基づいてスクレイピングエンジン部240及び認証書分配部270の認証書をアップデートする役割を果たす。
一実施形態において、データスクレイピング情報収集部200は監査用資料管理部280を更に含む。監査用資料管理部280はデータスクレイピング情報収集部200を使用するに当たって、サービスの誤動作、実行時間、実行作業の概略内容、最適化のための情報、スクレイピング作業の権限情報などを格納して管理する。
一実施形態において、データスクレイピング情報収集部200はDBファイル部290を更に含む。DBファイル部290は監査用資料管理部280によって制御され、認証部210、作業管理部220、プラットフォーム管理部250、モジュールアップデート部260、及び認証書分配部270のログをAPI呼び出しやOLEプロトコルを使用して格納する役割を果たす。
一実施形態において、データスクレイピング情報収集部200はスクレイピングエラー修正部215を更に含む。スクレイピングエラー修正部215は、ユーザデバイス10で直接スクレイピングを行うクライアントスクレイピング動作において、ユーザデバイス10上のスクレイピングモジュールで発生するエラーを解決するために、ユーザデバイス10上のスクレイピングモジュールをアップデートする動作を行うことができる。即ち、ユーザデバイス10でスクレイピングを直接行いながらエラーが発生すると、スクレイピングエラー修正部215はエラー発生時にユーザデバイス10に入力されたスクレイピング入力情報からエラーログを分析し、分析されたエラーログに基づいて前記ユーザデバイス10内のスクレイピングモジュールをアップデートさせる。
従来のユーザ端末で直接スクレイピングを行う時にエラーが発生した場合、通常には、開発者がユーザ端末にリモートアクセスしてエラーを修正したり、エラーログをサーバに伝送してエラーを修正した。しかし、リモートアクセスの場合、ユーザは別のプログラムをユーザ端末にインストールする必要があり、エラーログサーバへの伝送時にはユーザの個人情報が流出する恐れがあり、ログが頻繁な場合は遺失が発生する恐れもある問題があった。また、スクレイピング対象外部機関ユーザ毎の応答情報の形態が異なるため、様々なケースのテストアカウントを保有しなければならない問題がある。
そこで、本発明の一実施形態によれば、これらの問題点を改善するためにスクレイピング時の入力情報を暗号化してスクレイピングエラー修正部215が伝送を受け、クラウドスクレイピングを通じてテストして、迅速にエラーを修正することができる。一実施形態において、前述のエラー修正動作は検証部210による認証が完了した情報収集プログラムと通信するユーザデバイス10を対象に行うことができる。
具体的には、ユーザデバイス10でスクレイピングを行う際にスクレイピングエラーが発生すると、スクレイピングエラー修正部215はエラー発生時にユーザデバイス10に入力されたスクレイピング入力情報を受信し、エラーログを分析してエラーを修正することができる。この場合、受信したスクレイピング入力情報は暗号化した状態であり得る。
例えば、スクレイピングエラー修正部215はスクレイピングモジュールが既に分析したデータ部分A1と前記既に分析したデータ部分Aに対応し、現在スクレイプして取得したデータ部分A2とが異なる場合は、スクレイピングエラーが発生したと決定することができる。ここで、スクレイピングエラーが発生したか否かを判断するに使用する既に分析したデータ部分A1は、当該外部機関のサーバを識別できるユニークな値、タグ情報またはパージングした情報のうち一つ以上を含むことができる。
また、スクレイピングエラー修正部215はスクレイピングエラーが発生したことと判断すると、エラーログを生成することができる。ここで、エラーログはログ時刻、プラットフォームの種類、アプリID、ライブラリのバージョン情報、デバイスID、エラーコードのうち一つ以上を含むことができる。
その後、スクレイピングエラー修正部215はこれらのエラーログを、既に分析したデータ部分A1を含むデータ部分と比較することで、エラーの原因を導出し、これらのエラーの原因に基づいてスクレイピングモジュール(図示せず)が現在スクレイプして取得したデータ部分A2を修正することができる。また、スクレイピングエラー修正部215は、エラーの原因を修正するためにユーザデバイス10内のスクレイピングモジュール(図示せず)をアップデートさせることができる。ユーザデバイス10内のスクレイピングモジュールをアップデートする過程は、アップデートしたスクレイピングモジュールの情報に相応する管理者からの入力を受信してユーザデバイス10に伝送する方式で行うことができる。
例えば、スクレイピングエラー修正部215はユーザデバイス10内におけるソフトウェアのアップデートの要請をユーザデバイス10に伝送し、ユーザデバイス10がアップデート要請を受け取ると、前記ユーザデバイス10にスクレイピングモジュールをアップデートさせるためのデータをユーザデバイス10に伝送することができる。
ここで、スクレイピング入力情報は銀行コード、クラス(個人バンキングや企業バンキング)、要請サービスの種類(全口座照会、取引履歴照会など)、口座番号、カードのコード、ログイン電子署名値、決済日、照会開始日または照会終了日などの様々な金融関連情報を含むことができる。この時、スクレイピングエラー修正部215はユーザの認証情報が金融機関などから要求する認証方式によって処理されたログイン電子署名値を受信し、これに基づいてスクレイピングモジュールのエラー修正を行うことができる。従って、ユーザの認証情報のソースデータを外部サーバに伝達して、セキュリティ上のリスクが発生することを防ぐ。また、ユーザのログイン電子署名値は、ユーザ端末10からのアップデート要請の受け取りが受信されたことに対する応答としてスクレイピングエラー修正部215から削除される。それによって、スクレイピングモジュールのアップデート後にはログイン電子署名値がサーバに残っているので、セキュリティ上のリスクが残存することを防止することができる。
図4は図3に示したスクレイピングエンジン部及びその実現のためのハードウェア諸元を示すブロック図である。
図4を参照すると、スクレイピングエンジン部240はスクリプトエンジン241、スクレイピング環境管理部242、通信管理部243、及びセッション管理部244を含むことができる。実施形態において、スクレイピングエンジン部240の全体はプラットフォーム独立形態のスクリプトとして実現され、スクリプトエンジン241、スクレイピング環境管理部242、通信管理部243、及びセッション管理部244は、これらのスクリプトを機能的に区分したものであり得る。また、スクレイピングエンジン部240はCPU310、メインメモリ320、USBホストコントローラ330、ハードディスクドライブ340、及びネットワークインターフェースカード350を含むハードウェア、及びそれぞれのハードウェアコンポーネント用のデバイスドライバ(Device Driver)及びCMOS BIOSなどを含むソフトウェアを用いて行うように実現できる。
スクレイピング環境管理部242は、スクレイピングを行う対象機関の識別情報と、スクレイピングを行う際に前記機関に相応する認証情報及び通信情報を含む環境情報を格納する。本実施形態において、前述のような環境情報が格納されたスクレイピング環境管理部242がスクレイピングエンジン部240にスクリプトの形態で実現されているので、ユーザデバイスやこのOSなどのプラットフォームの種類によって個別にスクレイピングエンジンを開発する必要がない利点がある。
セッション管理部244は、環境情報の通信情報に基づいてスクレイピングエンジン部240と機関とを通信連結する通信セッションを生成及び維持する機能を果たす。この時、通信情報とは、機関からセキュリティ通信のために要求する通信暗号化プロトコルの種類やセッション維持時間などの情報を含むことができ、セッション管理部244はスクレイピング要請に相応して機関から要求する通信暗号化プロトコル及びセッション維持時間によって機関の対する通信セッションを管理する機能を果たす。
スクリプトエンジン241は、スクレイピング環境管理部242に格納された機関の認証情報に基づいてユーザ情報が処理された認証値を機関に伝送することで、前記機関からのデータをスクレイプするように構成される。例えば、認証情報は呼び出された照会または実行に対応するデータをスクレイプするために、第1〜第nの機関40−1〜40−n(図2)がそれぞれ要求する認証方式に関する情報であり得る。スクリプトエンジン241はデータスクレイピングのためにユーザ情報が相応する認証方式(例えば、非対称暗号化など)で処理された認証値を第1〜第nの機関40−1〜40−n(図2)に伝送し、第1〜第nの機関40−1〜40−n(図2)からデータを受信するように構成される。
通信管理部243は、スクレイピングに必要なユーザ認証のために、ユーザ情報をそれぞれの機関から要求する通信セキュリティポリシーによって処理し、処理結果に該当する認証値をスクリプトエンジン241に伝達する。このため、スクレイピング環境管理部242は機関別に認証方式に関する情報を格納し、通信管理部243はスクレイピング環境管理部242に格納された情報のうち、現在スクレイピングを行う対象機関に相応する認証方式によってユーザ情報を処理した後、認証値をスクリプトエンジン241に伝達する。ユーザ情報に対する処理とは、認証書の情報及び電子署名を機関から要求するセキュリティポリシーによって暗号化するなどの過程を意味することができる。
また、一実施形態において、認証情報は同一の機関内でもデータ項目ごとに異なって定義される。この時、通信管理部243はユーザ情報を、データをスクレイプする機関の通信セキュリティポリシー及び前記機関内でスクレイプするデータ項目に対して定義された通信セキュリティポリシーに相応する方法で処理し、このように処理した認証値をスクリプトエンジン241に伝達することもできる。
スクリプトエンジン241は前述したように生成される通信セッションを介して認証値を機関に伝送し、機関からスクレイピング方法でデータセットを受信する。一実施形態において、スクレイピングエンジン部240は、スクリプトエンジン241及びハードウェア諸元310、320、330、340、35を用いて構成されたスクレイピングモジュールに該当し、これらのスクレイピングモジュールは複数で構成されて、第1〜第nスクレイピングモジュール240−1〜240−nを介して複数のスクレイピングを行うように構成することもできる。
一実施形態において、スクリプトエンジン241はスクレイピングの過程で対象機関が要求する通信方式及び/または認証方式の変更に関連する情報をスクレイピング方式で受信することができる。例えば、金融機関が要求する通信暗号化方式またはユーザ情報の認証方式はいつでも変更することができる。この場合、変更前の通信方式または認証方式を用いたスクレイピング試みは失敗するようになる。スクレイピング環境管理部242に現在格納されている通信方式及び認証方式を用いたスクレイピング試みが失敗した場合、スクリプトエンジン241は既存のデータセットのための機関サーバのアドレス(例えば、ウェブページ)ではなく、機関が要求する通信方式及び/または認証方式に関する情報を提供する他のサーバのアドレスにアクセスして、当該機関が要求する通信方式及び/または認証方式に関する情報をスクレイピング方式で受信する。
即ち、スクリプトエンジン241では、一度現在有している環境情報に基づいて機関のウェブページでユーザ情報のスクレイピングを試みた後、通信方式または認証方式のエラーよってスクレイピングが失敗する場合、機関の通信方式及び認証方式を定義する別のウェブページを通じて環境情報を検証するための情報をスクレイプすることができる。この時、別のウェブページには、スクレイピングを行う対象機関のサーバが提供する他のアドレスに該当するものでもあり得、またはスクレイピングを行う対象機関ではなく、第3の機関が提供する別のサーバに該当するものでもあり得る。
前述した過程によって環境情報に対する変更が確認される場合、スクレイピング環境管理部242は、スクリプトエンジン241を介してスクレイプした通信方式及び/または認証方式に基づいてスクレイピング環境管理部242に格納された環境情報をアップデートする。以後、セッション管理部244はアップデートされた環境情報の通信情報に基づいてスクレイピングのための通信セッションを生成する。また、通信管理部243はアップデートされた環境情報の認証情報に基づいてユーザ情報が処理された認証値をスクリプトエンジン241に伝達する。
一方、セッション管理部244及び通信管理部243はアップデートされた環境情報による動作を可能にするために、外部のポリシーサーバ(図示せず)から必要な情報をダウンロードすることもできる。例えば、セッション管理部244及び通信管理部243はアップデートされた環境情報によってセッションを形成したり、ユーザ情報を処理するために必要な通信暗号化ポリシー、データ暗号化ポリシー、認証書などをポリシーサーバからダウンロードすることができる。しかし、これは例示的なものであり、他の実施形態においては、様々な通信方式及び認証方式による処理のためのアルゴリズム及びライブラリファイルなどがセッション管理部244及び通信管理部243に予め格納されており、セッション管理部244及び通信管理部243ではスクレイピング環境管理部242の環境情報に基づいてこれらのうち適切な情報を選択して使用することも可能である。
図5は一実施形態に係るデータスクレイピング方法の各ステップを示すフローチャートである。本実施形態に係るデータスクレイピング方法は、本発明の実施形態に係るデータスクレイピングシステムを用いて行うことができる。
図5を参照すると、まず、ユーザによって呼び出された照会または実行の情報及びユーザ情報を含んでスクレイピングに必要な情報を受信することができる(S11)。一実施形態においては、スクレイプされるデータ項目の情報をメタDBに格納することもできる(S12)。次に、内部スケジュールアルゴリズムを用いてプラットフォーム独立スクリプトエンジンにユーザ情報と作業を割り当てることができる(S13)。例えば、割り当てられるユーザ情報と作業はスクレイピング収集情報全文の形態でスクリプトエンジンに伝達することができる。
ユーザ情報と作業が割り当てられたスクリプトエンジンでは、スクリプトエンジンに格納された環境情報に基づいてスクレイプする機関の通信ポリシー(例えば、通信暗号化プロトコル、セッション維持時間)に符合する通信セッションを生成する(S14)。また、スクリプトエンジンでは、スクリプトエンジンに格納された環境情報に基づいてユーザ情報をスクレイプする機関のセキュリティポリシーによって処理して認証値を生成し(S15)、生成された認証値を通信セッションに伝送することで(S16)、ユーザによって呼び出された照会または実行に対応するデータをスクレイプすることができる(S17)。認証値はスクレイプする情報に対する機関のセキュリティポリシーによって認証書及び電子署名を暗号化した値でもあり得、または単にユーザのID及びパスワードなどのユーザ情報でもあり得る。
一実施形態において、スクリプトエンジンは機関が提供するデータセットからメタDBのスクレイピング項目に基づいてデータを抽出することができる(S18)。このために、メタDBには機関が提供するデータセットで各項目が位置する部分を特定する識別情報が予め格納できる。前述の過程によって抽出したスクレイピングデータは情報収集プログラムでまとめた後、ユーザに提供することができる。
図6は他の実施形態に係るデータスクレイピング方法の各ステップを示すフローチャートである。
図3及び図6を参照すると、まず、データスクレイピング情報収集部200ではユーザデバイス10からのスクレイピング要請を送受信部100を介して受信し、データスクレイピングエンジンの情報読み取りを行う(S100)。これはスクレイピングエンジン部に格納された認証書のバージョン、スクレイピングエンジン部の誤動作の可否、実行時間、実行作業の概略内容、最適化のための情報、スクレイピング作業の権限情報などを確認する過程を含むことができる。
一実施形態において、データスクレイピング情報収集部200はスクレイピング要請に基づいてスクレイプする項目を決定し、これをメタDB280に格納することができる(S110)。スクレイプする項目が決定されると、データスクレイピング情報収集部200ではこれに基づいて機関にスクレイピングを要請する(S120)。
スクレイピングのための具体的な過程として、まず、データスクレイピング情報収集部200はスクレイピングエンジン部240の作業管理のためのスクレイピング作業モニター及びスクレイピング作業管理者のバージョンを確認したか否かを判断し、バージョンを確認した場合(ステップS130及びS140で「YES」)、次のステップに移行し、バージョンを確認しなかった場合(ステップS130及びS140で「NO」)、前記スクレイピング作業モニター及びスクレイピング作業のバージョンを同期化(ステップS132、S142)させる作業を行う。
次に、データスクレイピング情報収集部200はスクレイピングエンジン部240内の認証書のバージョンを確認したか否かを判断し、バージョンを確認した場合(ステップS150で「YES」)、次のステップ(S160)に移行し、バージョンを確認しなかった場合(ステップS150で「NO」)、認証書のバージョンを同期化(ステップS152)させた後、次のステップ(S160)に移行する。
前記ステップ(S160)では、要請されたデータスクレイピングのために機関のセキュリティポリシーによって要求されるスクリプトエンジンの認証方法を確認する(S160)。認証方法は機関別に異なってもよく、また、一つの機関でもスクレイプするデータ項目によって認証方法が異なることができる。例えば、残高及び入出金履歴を照会する際には認証書を要求せず、ユーザID及びパスワードの入力のみを通じて機関からデータセットの提供を受けることができる一方、取引履歴や有効期間などを照会する際には電子署名を通じた認証書の認証が必要であり得る。
前記ステップ(S160)で確認された認証方式によって、認証書の認証が必要な場合、データスクレイピング情報収集部200はユーザ情報として認証書及び電子署名の入力を受け(S170)、これを機関が要求するセキュリティポリシーによって処理したり(S180)、またはユーザ情報としてID及びパスワードなどの入力を受けたり(S190)、生体認証方式におけるユーザ情報としてユーザの虹彩認識情報、指紋情報または他の形態の身体関連情報を受信し(S200)、これを機関が要求するセキュリティポリシーによって処理することができる(S210)。
データスクレイピング情報収集部200は前述の認証情報が処理された認証値を伝送することで、機関からスクレイピング対象の情報を収集する(S220)。この時、一実施形態において、データスクレイピング情報収集部200はメタDB230を参照して、スクレイプしたデータがメタDB230のスクレイピング項目と一致するか否かを確認し(S230)、一致しない場合、ステップS110に戻って再びスクレイピングを行う。なお、一致する場合はスクレイピング結果をまとめ、このまとめた情報をユーザに返すようになる(S240)。
以上で説明した実施形態に係るデータスクレイピング方法によれば、データスクレイピング情報収集部が実現されるデバイスのハードウェアや当該デバイスを運用するためのOSなどのプラットフォームによって影響を受けないように、プラットフォーム独立スクリプト形態でスクリプトエンジンを実現することができる。スクリプトエンジンはスクリプトで金融機関などの機関の通信方式に符合する通信セッションを生成し、金融機関などから要求する認証方式によって処理されたユーザ情報の認証値を機関に伝達することで、目的とするデータをスクレイプすることができる。その結果、スクレイピングモジュールをそれぞれのオペレーティングシステムごとに個別に開発する必要がなく、様々なオペレーティングシステムにおけるスクレイピングを一つのスクレイピングモジュールで処理することができるので、使用するデバイス及びオペレーティングシステムが次第に多様化していく現在の実情でスクレイピングシステムの開発に投入するコストと人力を大幅に減らすことができる利点がある。
以上で説明した実施形態に係るデータスクレイピング方法は少なくとも部分的にコンピュータプログラムで実現され、コンピュータで読み取り可能な記録媒体に記録されることができる。実施形態に係る記録媒体には、データスクレイピング方法を実現するためのプログラムが記録され、前記記録媒体はコンピュータによって読み取ることができるデータが記録されることができる任意の種類の記録装置を含む。例えば、コンピュータが読み取り可能な記録媒体としては、ROM、RAM、CD−ROM、磁気テープ、フロッピーディスク、光データ格納装置などがある。また、コンピュータが読み取り可能な記録媒体には、ネットワークを介して連結されたコンピュータシステムに分散され、分散方式でコンピュータが読み取り可能なコードが格納されて実行されることもできる。また、本実施形態を実現するための機能的なプログラム、コード及びコードセグメント(segment)は、本発明が属する技術分野における通常の技術者なら容易に理解することができる。
以上で調べてみた本発明は図面に示した実施形態を参照して説明したが、これは例示的なものに過ぎず、当該分野における通常の知識を有する者であれば、これにより様々な変形及び均等な他の実施形態が可能であることを理解することができる。しかし、このような変形は本発明の技術的保護範囲内にあると見なすべきである。従って、本発明の真正な技術的保護範囲は、添付した特許請求範囲の技術的思想によって定められなければならない。
1 送受信部
10 ユーザデバイス
30 インターネット網
40 機関
100 情報収集プログラム
200 データスクレイピング情報収集部
215 スクレイピングエラー修正部
240 スクレイピングエンジン部
241 スクリプトエンジン
242 スクレイピング環境管理部
243 通信管理部
244 セッション管理部
260 モジュールアップデート部
270 認証書分配部
210 検証部
220 作業管理部
250 プラットフォーム管理部
280 監査用資料管理部
290 DBファイル部

Claims (21)

  1. データスクレイピングシステムであって、
    スクレイピングが必要な照会または実行を呼び出すサービスプログラムを備え、ユーザデバイスからスクレイピングのためのユーザ情報を含むスクレイピング要請を受信し、スクレイプしたデータを前記ユーザデバイスに伝送するように構成された送受信部、及び
    前記送受信部に受信された前記ユーザ情報を用いて一つ以上の機関からのデータをスクレイプするように構成された一つ以上のデータスクレイピング情報収集部を含み、
    前記一つ以上のデータスクレイピング情報収集部のそれぞれは、
    スクレイピングを行う対象機関の識別情報と、前記スクレイピングを行う対象機関に相応する認証情報及び通信情報を含む環境情報とを格納し、プラットフォーム独立スクリプト形態を有し、前記環境情報に基づいて前記スクレイピングを行う対象機関からのデータをスクレイプするように構成されたスクレイピングエンジン部を含み、
    前記通信情報は、通信暗号化プロトコルの種類及びセッション維持時間のうちの少なくとも1つを含む、データスクレイピングシステム。
  2. 前記スクレイピングエンジン部は、
    前記環境情報を格納するスクレイピング環境管理部、
    前記通信情報に基づいて前記スクレイピングを行う対象機関と前記スクレイピングエンジン部との間の通信セッションを生成するセッション管理部、
    前記認証情報に基づいて前記ユーザ情報を処理する通信管理部、及び
    前記ユーザ情報が処理された認証値を前記スクレイピングを行う対象機関に伝送することで、前記スクレイピングを行う対象機関からのデータをスクレイプするように構成された、請求項1に記載のデータスクレイピングシステム。
  3. 前記ユーザ情報はユーザの生体認証情報を含む、請求項2に記載のデータスクレイピングシステム。
  4. 前記一つ以上のデータスクレイピング情報収集部のそれぞれは、スクレイプされるデータ項目を指定するメタデータベースを更に含み、
    前記スクレイピングエンジン部は、前記スクレイピングを行う対象機関が提供するデータセットから前記メタデータベースに基づいてスクレイプするデータを抽出するように更に構成された、請求項2に記載のデータスクレイピングシステム。
  5. 前記一つ以上のデータスクレイピング情報収集部のそれぞれは、スクレイピングのための前記ユーザ情報及び前記ユーザ情報に基づいた作業を、内部スケジュールアルゴリズムを用いて前記スクレイピングエンジン部に割り当てる作業管理部を更に含む、請求項4に記載のデータスクレイピングシステム。
  6. 前記一つ以上のデータスクレイピング情報収集部のそれぞれは、前記作業管理部の正常動作の可否をモニターし、エラー発生時には前記作業管理部を再実行し、前記データセットでスクレイプされる前記データ項目が位置する部分を識別するための識別情報を前記メタデータベースに格納するプラットフォーム管理部を更に含む、請求項5に記載のデータスクレイピングシステム。
  7. 前記一つ以上のデータスクレイピング情報収集部のそれぞれは、前記送受信部の前記サービスプログラムと前記スクレイピングエンジン部とが相互認証されたか否かを検査することで、前記スクレイピング要請を検証するように構成された検証部を更に含む、請求項1に記載のデータスクレイピングシステム。
  8. 前記一つ以上のデータスクレイピング情報収集部のそれぞれは、前記データスクレイピング情報収集部と相互認証された一つまたは複数のユーザの認証書を格納しており、前記データスクレイピング情報収集部に割り当てられたスクレイピング作業に基づいて必要な認証書を前記スクレイピングエンジン部にインストールするように構成された認証書分配部を更に含む、請求項1に記載のデータスクレイピングシステム。
  9. 前記一つ以上のデータスクレイピング情報収集部のそれぞれは、前記ユーザデバイスにインストールされた認証書と前記スクレイピングエンジン部にインストールされた認証書とが異なる場合、前記ユーザデバイスから受信した認証書を用いて前記スクレイピングエンジン部にインストールされた認証書をアップデートするように構成されたモジュールアップデート部を更に含む、請求項8に記載のデータスクレイピングシステム。
  10. 前記一つ以上のデータスクレイピング情報収集部のそれぞれは、前記ユーザデバイスでスクレイピングを直接行いながらエラーが発生すると、エラー発生時にユーザデバイスに入力されたスクレイピング入力情報からエラーログを分析し、分析されたエラーログに基づいて前記ユーザデバイス内のスクレイピングモジュールをアップデートさせるスクレイピングエラー修正部を更に含む、請求項1に記載のデータスクレイピングシステム。
  11. データスクレイピング方法であって、
    スクレイピングが必要な照会または実行を呼び出すサービスプログラムを備えたデータスクレイピングシステムの送受信部が、ユーザデバイスから、ユーザによって呼び出された照会または実行の情報及びユーザ情報を含むスクレイピング要請を受信するステップ、
    前記データスクレイピングシステムが、スクレイピングを行う対象機関の識別情報と、前記スクレイピングを行う対象機関に相応する認証情報及び通信情報を含む環境情報とを格納し、プラットフォーム独立スクリプト形態を有する前記データスクレイピングシステムのスクレイピングエンジン部に前記ユーザ情報及び前記ユーザ情報に基づいた作業を割り当てるステップ、
    前記スクレイピングエンジン部が前記環境情報に基づいて前記スクレイピングを行う対象機関からのデータをスクレイプするステップ、及び
    前記送受信部がスクレイプしたデータを前記ユーザデバイスに伝送するステップを含み、
    前記通信情報は、通信暗号化プロトコルの種類及びセッション維持時間のうちの少なくとも1つを含む、データスクレイピング方法。
  12. 前記スクレイピングを行う対象機関からのデータをスクレイプするステップは、
    前記スクレイピングエンジン部が前記通信情報に基づいて前記スクレイピングを行う対象機関と前記スクレイピングエンジン部との間の通信セッションを生成するステップ、
    前記スクレイピングエンジン部が前記認証情報に基づいて前記ユーザ情報を処理するステップ、及び
    前記スクレイピングエンジン部が、前記ユーザ情報が処理された認証値を前記スクレイピングを行う対象機関に伝送することで、前記スクレイピングを行う対象機関からのデータをスクレイプするステップを含む、請求項11に記載のデータスクレイピング方法。
  13. 前記ユーザ情報はユーザの生体認証情報を含む、請求項12に記載のデータスクレイピング方法。
  14. 前記スクレイピングを行う対象機関からのデータをスクレイプするステップの前に、前記データスクレイピングシステムがスクレイプされるデータ項目をメタデータベースに格納するステップを更に含み、
    前記スクレイピングを行う対象機関からのデータをスクレイプするステップは、前記スクレイピングを行う対象機関が提供するデータセットから前記メタデータベースに基づいてスクレイプするデータを抽出するステップを含む、請求項12に記載のデータスクレイピング方法。
  15. 前記スクレイピングを行う対象機関からのデータをスクレイプするステップの前に、前記データスクレイピングシステムの作業管理部が前記ユーザ情報及び前記作業を、内部スケジュールアルゴリズムを用いて前記スクレイピングエンジン部に割り当てるステップを更に含む請求項14に記載のデータスクレイピング方法。
  16. 前記データスクレイピングシステムが、前記作業管理部の正常動作の可否をモニターし、エラー発生時には前記作業管理部を再実行するステップ、及び
    前記データスクレイピングシステムが、前記データセットでスクレイプされる前記データ項目が位置する部分を識別するための識別情報を前記メタデータベースに格納するステップを更に含む請求項15に記載のデータスクレイピング方法。
  17. 前記スクレイピングを行う対象機関からのデータをスクレイプするステップの前に、前記データスクレイピングシステムが、前記送受信部の前記サービスプログラムと前記スクレイピングエンジン部とが相互認証されたか否かを検査することで、前記スクレイピング要請を検証するステップを更に含む請求項11に記載のデータスクレイピング方法。
  18. 前記データスクレイピングシステムは、前記データスクレイピングシステムと相互認証された一つまたは複数のユーザの認証書を格納しており、
    前記スクレイピングを行う対象機関からのデータをスクレイプするステップの前に、前記データスクレイピングシステムが、前記スクレイピングエンジン部に割り当てられたスクレイピング作業に基づいて必要な認証書を前記スクレイピングエンジン部にインストールするステップを更に含む請求項11に記載のデータスクレイピング方法。
  19. 前記スクレイピングを行う対象機関からのデータをスクレイプするステップの前に、前記データスクレイピングシステムが、前記ユーザデバイスにインストールされた認証書と前記スクレイピングエンジン部にインストールされた認証書とが異なる場合、前記ユーザデバイスから受信した認証書を用いて前記スクレイピングエンジン部にインストールされた認証書をアップデートするステップを更に含む請求項18に記載のデータスクレイピング方法。
  20. 前記ユーザデバイスでスクレイピングを直接行いながらエラーが発生すると、
    前記データスクレイピングシステムが、エラー発生時にユーザデバイスに入力されたスクレイピング入力情報からエラーログを分析するステップ、及び
    前記データスクレイピングシステムが、分析されたエラーログに基づいて前記ユーザデバイス内のスクレイピングモジュールをアップデートさせるステップを更に含む請求項18に記載のデータスクレイピング方法。
  21. ハードウェアと組み合わせて請求項11〜20のいずれか1項に記載のデータスクレイピング方法を行うように媒体に記録されたコンピュータプログラム。
JP2018149919A 2018-04-25 2018-08-09 スクリプトエンジンを用いたデータスクレイピングシステム、方法、及びコンピュータプログラム Active JP6707586B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2018-0047729 2018-04-25
KR1020180047729A KR101982085B1 (ko) 2018-04-25 2018-04-25 스크립트 엔진을 이용한 데이터 스크래핑 시스템, 방법 및 컴퓨터 프로그램

Publications (2)

Publication Number Publication Date
JP2019192189A JP2019192189A (ja) 2019-10-31
JP6707586B2 true JP6707586B2 (ja) 2020-06-10

Family

ID=66679109

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018149919A Active JP6707586B2 (ja) 2018-04-25 2018-08-09 スクリプトエンジンを用いたデータスクレイピングシステム、方法、及びコンピュータプログラム

Country Status (3)

Country Link
US (1) US10635488B2 (ja)
JP (1) JP6707586B2 (ja)
KR (1) KR101982085B1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102197329B1 (ko) * 2020-01-09 2020-12-31 주식회사 카카오뱅크 스크래핑 기반 서비스 제공 방법 및 이를 수행하는 어플리케이션
KR102308511B1 (ko) * 2020-02-04 2021-10-06 (주) 씨이랩 빅데이터 및 인공지능을 이용한 사용자 정보 통합 플랫폼 및 이의 운용방법
CN111917580A (zh) * 2020-07-28 2020-11-10 平安普惠企业管理有限公司 抓包处理方法、装置、设备以及计算机可读存储介质
US11416564B1 (en) * 2021-07-08 2022-08-16 metacluster lt, UAB Web scraper history management across multiple data centers
CN113660530B (zh) * 2021-07-27 2024-03-19 中央广播电视总台 节目流数据抓取方法、装置、计算机设备及可读存储介质
KR102436357B1 (ko) 2021-11-09 2022-08-25 주식회사 비즈니스 링커 시스템 웹 스크래핑용 스크립트 작성 방법 및 이를 이용한 웹 스크래핑 방법 및 시스템

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000082066A (ja) 1998-09-04 2000-03-21 Recruit Co Ltd ユーザ毎にスクラップ機能を備えたネットワーク上のデータベース検索システム
CA2431762C (en) * 2000-12-18 2011-11-01 Kargo, Inc. A system and method for delivering content to mobile devices
JP2002208926A (ja) * 2001-01-11 2002-07-26 Masaru Nakajima データ通信の認証方法
KR100494975B1 (ko) 2001-02-21 2005-06-16 주식회사 핑거 스크린 스크래핑 기술을 이용한 고객 자산 관리 방법 및시스템
US20030204460A1 (en) * 2002-04-30 2003-10-30 Rodney Robinson Data collection and transaction initiation using a financial messaging protocol
US20060095377A1 (en) * 2004-10-29 2006-05-04 Young Jill D Method and apparatus for scraping information from a website
US20070067238A1 (en) * 2005-09-21 2007-03-22 Capital One Financial Corporation System and method for transferring information between financial accounts
US20070250711A1 (en) * 2006-04-25 2007-10-25 Phonified Llc System and method for presenting and inputting information on a mobile device
US7523118B2 (en) * 2006-05-02 2009-04-21 International Business Machines Corporation System and method for optimizing federated and ETL'd databases having multidimensionally constrained data
US20090063438A1 (en) * 2007-08-28 2009-03-05 Iamg, Llc Regulatory compliance data scraping and processing platform
KR101213360B1 (ko) 2007-09-28 2012-12-18 에스케이플래닛 주식회사 권한에 따른 콘텐츠 스크랩 서비스 제공 방법, 그를 위한콘텐츠 스크랩 서비스 시스템, 콘텐츠 제공 서버 및 단말기
JP2009223489A (ja) * 2008-03-14 2009-10-01 Ntt Bizlink Inc 情報提供装置及び情報提供プログラム
US8595847B2 (en) * 2008-05-16 2013-11-26 Yellowpages.Com Llc Systems and methods to control web scraping
KR101125083B1 (ko) 2009-09-03 2012-03-21 황찬호 웹 컨텐츠 스크랩 시스템 및 그 방법
US9406186B2 (en) * 2010-05-12 2016-08-02 Capital One Financial Corporation System and method for providing limited access to data
JP4977241B2 (ja) * 2010-07-16 2012-07-18 株式会社東芝 表示装置及び表示方法
US20120173524A1 (en) * 2010-12-31 2012-07-05 Ian Connor Capturing collection information for institutions
US20120310914A1 (en) * 2011-05-31 2012-12-06 NetSol Technologies, Inc. Unified Crawling, Scraping and Indexing of Web-Pages and Catalog Interface
US20120317472A1 (en) * 2011-06-07 2012-12-13 Profitero Ltd Creation of data extraction rules to facilitate web scraping of unstructured data from web pages
US20130311875A1 (en) * 2012-04-23 2013-11-21 Derek Edwin Pappas Web browser embedded button for structured data extraction and sharing via a social network
KR101402146B1 (ko) * 2012-08-30 2014-06-03 주식회사 핑거 모바일 디바이스에서의 웹 스크린 스크래핑 방법 및 웹 스크린 스크래핑을 제공하는 모바일 디바이스
US9639507B2 (en) * 2012-11-26 2017-05-02 Intuit Inc. Method and system for providing a net effect platform for developing and correcting screen scraping parser scripts
JP5972978B2 (ja) * 2012-12-21 2016-08-17 グリー株式会社 プログラム、サーバ装置、及びゲーム制御方法
US9246678B2 (en) * 2013-03-14 2016-01-26 Intel Corporation Secure cloud storage and encryption management system
US9836775B2 (en) * 2013-05-24 2017-12-05 Ficstar Software, Inc. System and method for synchronized web scraping
KR101569984B1 (ko) 2014-01-16 2015-11-18 이주현 웹 스크래핑 추출 데이터 설정 방법
JP2015219890A (ja) * 2014-05-21 2015-12-07 キヤノン株式会社 管理装置、その制御方法およびプログラム
US9858429B2 (en) * 2014-12-01 2018-01-02 Samsung Electronics Co., Ltd. Methods of data transfer in electronic devices
US10489377B2 (en) * 2015-02-11 2019-11-26 Best Collect, S.A. De C.V. Automated intelligent data scraping and verification
CA3024315A1 (en) * 2015-05-18 2016-11-24 Verifier Pty Ltd Aggregation and provision of verification data
US9298806B1 (en) * 2015-07-08 2016-03-29 Coinlab, Inc. System and method for analyzing transactions in a distributed ledger
SG10201509221YA (en) * 2015-11-06 2017-06-29 Huawei Int Pte Ltd System and method for managing installation of an application package requiring high-risk permission access
US9692815B2 (en) * 2015-11-12 2017-06-27 Mx Technologies, Inc. Distributed, decentralized data aggregation
KR101815235B1 (ko) * 2015-12-30 2018-01-08 주식회사쿠콘 데이터 스크래핑 시스템, 방법 및 컴퓨터 프로그램
US10423675B2 (en) * 2016-01-29 2019-09-24 Intuit Inc. System and method for automated domain-extensible web scraping
US10776838B2 (en) * 2016-03-01 2020-09-15 Mx Technologies, Inc. Item level data aggregation
US11451388B2 (en) * 2016-08-30 2022-09-20 Nec Corporation Data extraction system, data extraction method, registration apparatus, and program
US20180150562A1 (en) * 2016-11-25 2018-05-31 Cognizant Technology Solutions India Pvt. Ltd. System and Method for Automatically Extracting and Analyzing Data
US11869069B2 (en) * 2017-01-31 2024-01-09 Mx Technologies, Inc. Externally held account discovery and aggregation
US11823258B2 (en) * 2017-10-11 2023-11-21 Mx Technologies, Inc. Aggregation based credit decision

Also Published As

Publication number Publication date
US20190332424A1 (en) 2019-10-31
KR101982085B1 (ko) 2019-05-27
US10635488B2 (en) 2020-04-28
JP2019192189A (ja) 2019-10-31

Similar Documents

Publication Publication Date Title
JP6707586B2 (ja) スクリプトエンジンを用いたデータスクレイピングシステム、方法、及びコンピュータプログラム
KR102340474B1 (ko) 스크립트 엔진을 이용한 데이터 스크래핑 시스템, 방법 및 컴퓨터 프로그램
KR101815235B1 (ko) 데이터 스크래핑 시스템, 방법 및 컴퓨터 프로그램
US9075986B1 (en) Systems and methods for software application security management
US9721106B2 (en) Method and system for scanning a computer system for sensitive content
US8818906B1 (en) Systems and methods for performing authentication of a customer interacting with a banking platform
CN107615292A (zh) 用于管理需要高风险权限访问的应用程序包的安装的系统和方法
WO2019041804A1 (zh) 理赔订单的个性化审核方法、装置、存储介质及终端
US11586687B2 (en) Apparatus, method and computer program for cloud scraping using pre-scraped big data
CN112567408A (zh) 用于访问控制的分布式账本平台
CN108400875B (zh) 基于键值的授权认证方法、系统、电子设备、存储介质
CN102065088A (zh) 一种自动加载网银安全组件以及网银安全认证的方法
KR101876672B1 (ko) 블록 체인을 이용한 전자 서명 방법 및 이를 실행하는 시스템
US11715079B2 (en) Maintaining secure access to a self-service terminal (SST)
US20210157949A1 (en) Event data tagged with consent records
KR102071984B1 (ko) 모바일 단말기를 통한 간편 인증 방법 및 이를 위한 인증 서비스 장치
CN112636954B (zh) 一种服务器升级方法及装置
KR101980274B1 (ko) 블록체인망을 이용한 가상계좌 시스템 및 그의 가상계좌 발급 및 입금 방법
CN110401674B (zh) 数据访问方法、装置、系统、电子设备及计算机可读介质
KR20190130957A (ko) 미리 스크래핑된 빅데이터를 이용한 클라우드 스크래핑 시스템 및 방법과, 이를 위한 컴퓨터 프로그램
TW201639329A (zh) 以有效憑證線上申請行動憑證之系統及其方法
EP3972216A1 (en) Information system for the integration of digital certificates and method for operating said information system
KR100624705B1 (ko) 스크래핑 머신을 이용한 스크린 스크래핑 분산처리 방법 및그 시스템
KR101351243B1 (ko) 애플리케이션 인증 방법 및 그 시스템
KR20180130910A (ko) 스크래핑 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180809

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190917

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191213

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200512

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200520

R150 Certificate of patent or registration of utility model

Ref document number: 6707586

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250