KR102416805B1 - 데이터 스크래핑 방법 및 이를 지원하는 장치 - Google Patents

데이터 스크래핑 방법 및 이를 지원하는 장치 Download PDF

Info

Publication number
KR102416805B1
KR102416805B1 KR1020210151449A KR20210151449A KR102416805B1 KR 102416805 B1 KR102416805 B1 KR 102416805B1 KR 1020210151449 A KR1020210151449 A KR 1020210151449A KR 20210151449 A KR20210151449 A KR 20210151449A KR 102416805 B1 KR102416805 B1 KR 102416805B1
Authority
KR
South Korea
Prior art keywords
scraping
information
server
web
data
Prior art date
Application number
KR1020210151449A
Other languages
English (en)
Inventor
권성한
Original Assignee
주식회사 온투인
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 주식회사 온투인 filed Critical 주식회사 온투인
Priority to KR1020210151449A priority Critical patent/KR102416805B1/ko
Application granted granted Critical
Publication of KR102416805B1 publication Critical patent/KR102416805B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Computer Hardware Design (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computer Security & Cryptography (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 명세서는 데이터 스크래핑을 수행하기 위한 방법을 제공한다. 보다 구체적으로, 스크래핑 서버에 의해 수행되는 방법은 단말기로부터 데이터 스크래핑 요청을 수신하는 단계; 상기 수신된 데이터 스크래핑 요청을 분석하여 상기 데이터 스크래핑 요청에 대한 정보를 웹서버로부터 수집하기 위해 하나의 웹서버에 접속해야하는지 또는 복수의 웹서버들에 접속해야하는지를 결정하는 단계; 상기 복수의 웹서버들에 접속하는 경우, 데이터 스크래핑을 위한 스크립트를 공통사항에 해당하는 제1 스크립트와 개별사항에 해당하는 제2 스크립트로 구분하는 단계; 상기 복수의 웹서버들과 접속하는 단계; 상기 복수의 웹서버들로 제1 메시지 또는 제2 메시지를 전송하는 단계; 상기 복수의 웹서버들로부터 상기 데이터 스크래핑 요청에 대한 정보를 수집하는 단계; 및 상기 수집된 정보를 상기 단말기로 전송하는 단계를 포함하는 것을 특징으로 하는 한다.

Description

데이터 스크래핑 방법 및 이를 지원하는 장치{APPARATUS AND METHOD FOR SCRAPPING A DATA}
본 명세서는 데이터 스크래핑에 관한 것으로, 보다 구체적으로 데이터 스크래핑 방법 및 이를 지원하는 장치에 관한 것이다.
최근 인터넷 환경에서는, 다양한 종류의 서비스가 웹(Web)을 통하여 제공되고 있다.
사용자는 웹 브라우징을 통해 상기 다양한 종류의 서비스로부터 제공되는 다양한 정보를 수집할 수 있다. 서비스를 제공하는 주체가 많아지는 경우, 사용자는 상기 각각의 주체로부터 정보를 수집하기 위해 특정한 패턴의 웹 브라우징을 반복해야 하는 부담이 있을 수 있다.
스크린 스크래핑 또는 웹 스크래핑이란 인터넷 상에 다양하게 흩어져 있는 컨텐츠(contents) 및 서비스들을 하나로 묶어 고객 중심의 통합된 화면으로 재구성하여 제공하는 웹 기술을 말한다. 바꾸어 말하면, 스크린 스크래핑 기술은 HTTP와 TCP/IP 프로토콜 및 인터넷/웹 기술, 암/복호화 기술 및 디지털 인증 기술, 국내 금융 환경 및 개인 자산 관리 소프트웨어에 대한 업무/기술적인 솔루션, 클라이언트 프로그래밍 기술 및 통신 전문 처리 기술이 상호 복합적으로 연결된 인터넷 기술이다.
따라서, 스크린 스크래핑 기술이 적용된 서비스를 제공받는 사용자는 반복적인 웹 브라우징 없이도 원하는 자료를 얻을 수 있으며 경우에 따라서는 분산된 웹 서비스를 통합하여 제공받을 수 있다. 다시 말해서, 사용자는 상기와 같은 스크린 스크래핑 기술이 적용된 서비스를 통해 다양한 종류의 서비스로부터 제공되는 다양한 정보를 취합하여 제공받을 수 있다.
위와 같이 스크린 스크래핑에 의해 추출된 데이터들은 다른 프로그램이나 데이터베이스에 저장하였다가 필요할 때, 수시로 열람하거나 사용이 가능하고, 이렇게 추출된 데이터들을 이용하여 비교분석 자료로도 활용된다.
이와 같은 스크린 스크래핑 프로그램들은 웹 사이트에서 필요한 정보를 수집해오는 기술과, 일정한 포맷으로 변환하는 기술과 스크래핑 구동 기술이 그 핵심이며, 이러한 스크린 스크래핑 프로그램들은 서버에 설치되어 구동되거나 클라이언트에 설치되어 구동되고, 또는 서버와 클라이언트에 혼합 설치되어 구동되는 방식을 취한다.
이러한 스크린 스크래핑 기술은 주로 개인의 금융자산에 대한 정보를 일괄로 조회하거나 거래 내역 등을 통합하여 관리하는 데에 사용되거나, 또는 여행사, 항공사, 호텔 및 물류 서비스, 날씨, 뉴스, 금융 등의 정보들을 수집하는 용도로도 활용된다.
한국등록특허 제10-2179792 ("웹 브라우저 기반 스크래핑 시스템 및 방법", 등록일: 2020.11.11.)
본 명세서는 복수의 웹서버들로부터 데이터 스크래핑을 수행하기 위한 방법을 제공함에 목적이 있다.
본 명세서는 데이터 스크래핑을 수행하기 위한 방법을 제공한다.
보다 구체적으로, 스크래핑 서버에 의해 수행되는 방법은 단말기로부터 데이터 스크래핑 요청을 수신하는 단계; 상기 수신된 데이터 스크래핑 요청을 분석하여 상기 데이터 스크래핑 요청에 대한 정보를 웹서버로부터 수집하기 위해 하나의 웹서버에 접속해야하는지 또는 복수의 웹서버들에 접속해야하는지를 결정하는 단계; 상기 복수의 웹서버들에 접속하는 경우, 데이터 스크래핑을 위한 스크립트를 공통사항에 해당하는 제1 스크립트와 개별사항에 해당하는 제2 스크립트로 구분하는 단계; 상기 복수의 웹서버들과 접속하는 단계; 상기 복수의 웹서버들로 제1 메시지 또는 제2 메시지를 전송하는 단계; 상기 복수의 웹서버들로부터 상기 데이터 스크래핑 요청에 대한 정보를 수집하는 단계; 및 상기 수집된 정보를 상기 단말기로 전송하는 단계를 포함하는 것을 특징으로 하는 한다.
또한, 본 명세서에서 상기 제1 메시지 또는 제2 메시지를 전송하는 단계는, 상기 제1 스크립트와 상기 제2 스크립트를 모두 전송할 제1 웹서버와 상기 제2 스크립트만을 전송할 제2 웹서버를 결정하는 단계; 상기 제1 웹서버로 제1 메시지를 전송하는 단계; 및 상기 제2 웹서버로 제2 메시지를 전송하는 단계를 포함하는 것을 특징으로 한다.
또한, 본 명세서에서 상기 제1 메시지는 상기 제1 스크립트의 포함 여부를 나타내는 제어정보를 포함하는 헤더, 상기 제1 스크립트 및 상기 제2 스크립트 순서로 구성되며, 상기 제2 메시지는 상기 제1 스크립트의 포함 여부를 나타내는 제어정보를 포함하는 헤더 및 상기 제2 스크립트 순서로 구성되는 것을 특징으로 한다.
또한, 본 명세서에서 상기 제1 웹서버는 상기 스크래핑 서버와 가장 먼저 접속이 이루어진 웹서버인 것을 특징으로 한다.
또한, 본 명세서에서 상기 복수의 웹서버들은 상기 제1 웹서버 및 상기 제2 웹서버를 포함하고, 상기 제2 웹서버는 상기 복수의 웹서버들 중에서 상기 제1 웹서버를 제외한 나머지 웹서버인 것을 특징으로 한다.
또한, 본 명세서에서 상기 복수의 웹서버들로부터 수집된 정보를 신경망 모델을 이용하여 학습하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 본 명세서에서 상기 데이터 스크래핑 요청은 사용자의 개인 정보를 포함하며, 상기 사용자의 개인 정보는 사용자의 아이디 및 패스워드 또는 공인 인증서의 암호인 것을 특징으로 한다.
본 명세서는 데이터 스크래핑 시, 복수의 웹서버들에 접속해야 하는 경우 복수의 웹서버들에서 공통사항에 해당하는 부분을 어느 하나의 웹서버를 통해서 수집함으로써 데이터 스크래핑 시 소요되는 시간과 데이터 처리량을 줄일 수 있는 효과가 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 명세서에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 명세서에 대한 실시예를 제공하고, 상세한 설명과 함께 본 명세서의 기술적 특징을 설명한다.
도 1은 본 명세서에서 제안하는 데이터 스크래핑 시스템 개념도의 일례를 나타낸 도이다.
도 2는 본 명세서에서 제안하는 스크래핑 서버의 내부 블록도의 일례를 나타낸 도이다.
도 3은 본 명세서에서 제안하는 스크래핑 서비스 제공 방법의 일례를 나타낸 흐름도이다.
도 4는 본 명세서에서 제안하는 데이터 스크래핑 서비스 제공 방법의 일례를 나타낸 흐름도이다.
도 5는 본 명세서에서 제안하는 방법이 적용될 수 있는 AI 장치의 블록도이다.
도 6은 본 명세서에서 제안하는 데이터 스크래핑 서비스 제공 방법의 일례를 나타낸 순서도이다.
본 발명에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 발명에 대한 실시예를 제공하고, 상세한 설명과 함께 본 발명의 기술적 특징을 설명한다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
전술한 본 명세서, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 명세서의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 명세서의 범위에 포함된다.
데이터 스크래핑(Data Scrapping) 시스템
도 1은 본 명세서에서 제안하는 데이터 스크래핑 시스템 개념도의 일례를 나타낸 도이다.
데이터 스크래핑 시스템(10)은 단말기(100), 스크래핑 서버(200) 및 복수의 웹 서버들(300)을 포함하여 구성될 수 있다.
도 1에 도시된 구성요소들이 필수적인 것은 아니어서, 그보다 많은 구성요소들을 갖거나 그보다 적은 구성요소들을 갖는 데이터 스크래핑 시스템이 구현될 수도 있다.
단말기(100)는 본 명세서에서 제안하는 데이터 스크래핑 서비스가 사용자에게 제공되기 위해 복수의 웹 서버들(300) 중 적어도 하나로부터 수집된 정보가 표시되는 단말 장치이다.
예를 들어, 단말기는 스마트폰, 휴대폰, 핸드폰, 개인 휴대용 단말기(PDA), 핸드 헬드(handheld) PC, 아이패드, 노트북, PC 등과 같은 이동형 또는 고정형 단말장치를 모두 포함하며, 통신이 가능한 모든 통신 단말들을 포함할 수 있다.
상기 단말기는 안드로이드(Android), iOS, 윈도우 (Windows), 웹 OS 등과 같은 운영 체제(OS, Operating System)이 탑재되어 있고, 상기 운영 체제(OS)에서 동작하는 애플리케이션(Applicaiton, 이하 '앱(App.)' 이라 함)이 설치될 수 있다.
본 명세서의 일실시예에 따르면, 상기 단말기는 상기 탑재된 운영 체제(OS)에서 동작하여 스크래핑 서버를 통해 복수의 웹 서버들 중 적어도 하나로부터 수집된 정보를 사용자에게 제공하는 스크래핑 기능을 가지는 애플리케이션(Application)이 설치되어 있을 수 있다.
또한, 상기 단말기는 스크래핑 요청과 함께 스크래핑 서비스에 필요한 개인 정보(예를 들어, 정보가 수집될 웹 서버에 접속하기 위한 아이디(IDentificaiton) 및 패스워드(Password), 또는 공인 인증서 암호 등)을 사용자로부터 입력받고, 스크래핑 서버를 통해 복수의 웹 서버들 중 적어도 하나로부터 수집된 정보를 표시하기 위한 사용자 인터페이스를 포함할 수 있으며, 상기 사용자 인터페이스는 단말기에 설치된 앱을 통해 제공될 수 있다.
여기서, 상기 개인 정보는 사용자의 아이디, 패스워드 등과 같은 사용자 인증에 필요한 인증 정보 및 사용자 인증 후 각 웹 서버(또는 각 기관 서버)에 등록된 사용자 세부 정보를 포함할 수 있다.
상기 인증 정보는 해쉬 알고리즘에 의해 일방향 암호화가 수행되어 저장될 수 있으며, 상기 사용자 세부 정보는 상기 패스워드를 키로 하는 대칭키 알고리즘을 이용하여 암호화될 수 있다.
상기 스크래핑 서비스는 국세청 서버 등에 접속하여 개인, 사업자또는 법인의 소득 관련 정보를 수집하는 소득 정보 스크래핑 서비스, 국민 연금 공단 서버 등에 접속하여 국민연금 가입 내역 정보를 수집하는 연금 정보 스크래핑 서비스, 국토교통부 서버 등에 접속하여 부동산 등기 관련 정보를 수집하는 등기 정보 스크래핑 서비스 등이 있을 수 있으나, 본 명세서는 이에 한정되지 아니하며, 상기한 정보들 이외에 다양한 종류의 정보를 웹 서버로부터 수집하여 단말기를 통해 사용자에게 제공할 수 있다.
복수의 웹 서버들은 단말기의 사용자가 스크래핑하고자 하는 정보를 제공하는 서버로서, 예를 들어 HTTP(HyperText Transfer Protocol)를 이용하여 웹 브라우저(Web browser)를 통해 접속되는 서버이다.
예를 들어, 복수의 웹 서버들은 각각, 국민 연금 공단 서버, 국토교통부 서버, 건강보험 공단 서버, 국세청 서버 등 다양한 정보를 제공하는 서버들일 수 있다.
다음으로, 스크래핑 서버는 단말기와 복수의 웹 서버들 사이에 연결되어, 단말기의 요청에 따라 복수의 웹 서버들 중 적어도 하나에 접속하여 스크래핑하고자 하는 정보를 수집한 후, 상기 수집된 정보를 단말기로 전송하거나 또는 단말기로의 정보 제공을 위해 데이터베이스(DB, DataBase)에 저장하는 역할을 할 수 있다.
예를 들어, 단말기는 사용자 입력에 따라 사용자 개인 정보가 포함된 스크래핑 요청을 생성하여 스크래핑 서버로 전송하고, 스크래핑 서버는 상기 단말기로부터 수신된 사용자 개인 정보를 이용해 스크래핑하고자 하는 정보가 구비된 복수의 웹 서버들 중 적어도 하나에 접속하여 수집된 정보를 단말기로 전송하거나 또는 단말기와 연관된 데이터 베이스에 저장시킬 수 있다.
스크래핑 서버 내부 블록도 및 스크래핑 서비스 제공
도 2는 본 명세서에서 제안하는 스크래핑 서버의 내부 블록도의 일례를 나타낸 도이다.
스크래핑 서버(200)는 통신부(210), 웹브라우징부(220), 정보수집부(230), 제어부(240), 메모리(250) 및 데이터베이스(260)를 포함할 수 있다.
또한, 도 3은 본 명세서에서 제안하는 스크래핑 서비스 제공 방법의 일례를 나타낸 흐름도이다.
도 2 및 도 3을 참조하면, 스크래핑 서버의 통신부(210)는 단말기로부터 사용자 개인 정보가 포함된 스크래핑 요청을 수신한다(S310).
상기 통신부는 근거리 통신 모듈, 이동통신 모듈, 무선 인터넷 모듈 등을 포함할 수 있다.
근거리 통신 모듈은 근거리 통신을 위한 모듈을 말하는 것으로, 근거리 통신(short range communication) 기술로 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA: infrared Data Association), UWB(Ultra Wideband), ZigBee, MTC(Machine Type Communication), NB(NarrowBand)-IoT 등이 이용될 수 있다.
단말기의 사용자는 스크래핑 기능을 가지는 앱(110)을 실행시킨 후, 웹 서버에서 제공하는 특정 정보에 대한 스크래핑을 요청할 수 있으며, 상기 요청된 스크래핑을 수행하기 위해 요구되는 개인 정보를 단말기를 통해 입력할 수 있다.
예를 들어, 단말기에 설치된 앱은 국세청 서버 등과 같이 소득 정보를 제공하는 웹 서버로부터 소득 관련 정보를 스크래핑하여 제공하기 위한 것일 수 있으며, 이 경우 웹 서버에 접속하여 소득 관련 정보를 수집하기 위해 필요한 사용자의 아이디 및 패스워드 또는 공인 인증서의 암호가 사용자 개인 정보로서 해당 앱을 통해 입력될 수 있다.
또한, 상기 단말기로부터 스크래핑 서버로 전송되는 사용자 개인 정보는 웹 서버에 접속하기 위한 공인 인증서이거나, 좀 더 구체적으로 단말기에 설치된 공인 인증서에 대한 사용자의 암호 입력에 의해 생성되는 공인 인증서 인증값일 수도 있다.
단말기는 상기 앱을 통해 스크래핑 서버에 접속하여 사용자의 개인 정보를 포함하는 스크래핑 요청을 전송할 수 있다.
이후, 스크래핑 서버의 웹브라우징부는 상기 단말기로부터 수신된 사용자 개인 정보를 이용하여 스크래핑하고자 하는 정보가 구비된 즉, S310 단계에서 요청된 스크래핑 정보를 구비한 웹 서버에 접속한다(S320).
여기서, 상기 스크래핑 서버의 웹브라우징부는 웹 서버에 접속하기 위한 웹 브라우저(221)와 스크래핑을 위한 스크립트로 구성된 스크래핑 모듈(222)을 포함할 수 있다.
상기 스크래핑 모듈(222)은 스크래핑하고자 하는 정보를 수집하기 위한 프로그램 명령어들의 집합으로 구성될 수 있으며, 예를 들어 소득 관련 정보를 관리하는 웹 서버(300)의 사용자 계좌 서비스 프로그램으로부터 개인, 사업자 또는 법인의 소득 정보 등을 수집하는 명령어로 구성될 수 있다.
상기 S320 단계에서, 웹브라우징부는 웹 서버에 접속하기 위한 웹 브라우저를 실행시키고, 웹 브라우저를 통해 상기 정보 수집을 위한 스크래핑 모듈을 실행시킬 수 있다.
그리고, 정보수집부(230)는 상기 접속된 웹 서버로부터 스크래핑하고자 하는 정보를 수집한다(S330).
여기서, 상기 정보수집부는 웹 브라우저에 의해 실행된 스크래핑 모듈의 명령어들을 이용하여 웹 서버의 웹서비스 프로그램의 HTML/스크립트로부터 원하는 정보를 추출하여 가져올 수 있다.
상기 정보수집부는 수집된 스크래핑 데이터를 대상 기관(또는 대상 서버)의 종류에 따라 분산처리를 수행하기 위해 다수의 서브 정보수집부들로 구현될 수 있다. 여기서, 다수의 서브 정보수집부들은 설명의 편의를 위해 제1 데이터 스크래핑 정보수집부, 제2 데이터 스크래핑 정보수집부, ??, 제n 데이터 스크래핑 정보수집부로 표현될 수 있다.
여기서, 기관은 건강보험 공단, 국민 연금 공단, 국세청 등의 공공기관, 또는 실물정보를 제공하는 다른 임의의 기관일 수 있으며, 특정 단체로 한정되지 않는다.
보다 구체적으로, 정보수집부가 다수의 서브 정보수집부들을 포함하는 경우, 각각의 데이터 스크래핑 정보수집부는 각 정보수집부에 대응하는 각 기관들(또는 각 기관 서버들)의 통신 정책에 상응하는 방식으로 각 기관과 통신 세션을 형성하고, 각 기관의 보안 정책에 상응하는 방식으로 사용자 정보를 처리하여 처리 결과에 해당하는 인증값을 각 기관들에 전송하여 데이터를 스크래핑할 수 있다.
또한, 상기 정보수집부는 스크래핑될 데이터 항목을 지정할 수 있다. 즉, 상기 정보수집부는 각 기관 또는 각 기관 서버가 제공하는 데이터 셋으로부터 상기 지정된 항목에 기초하여 스크래핑할 항목에 해당되는 데이터를 추출할 수 있다.
또한, 상기 정보수집부는 웹 서버의 스크린 전체의 데이터를 스크래핑할 수도 있으며, 또는 상기 지정된 항목을 이용하여 데이터 셋으로부터 선별적으로 데이터를 스크래핑할 수도 있다.
또한, 상기 정보수집부는 웹 서버의 HTML/스크립트로부터 원하는 정보를 추출하기 위해 머신러닝 알고리즘을 이용할 수 있으며, 상기 머신러닝 알고리즘을 수행하기 위해 스크래핑 서버는 후술할 도 5의 AI 장치를 포함할 수 있다.
여기서, 상기 통신부를 통해 단말기로부터 수신된 사용자 개인 정보는 메모리(250)에 저장될 수 있다. 다만, 사용자 개인 정보의 외부 유출을 방지하기 위하여, 상기 아이디 및 패스워드 등과 같은 사용자 개인 정보는 상기 메모리에 임시 저장되고, 웹 서버로의 접속이 완료된 후에는 상기 메모리에 임시 저장된 사용자 개인 정보가 삭제되어 폐기될 수 있다.
제어부(240)는 상기 웹 서버로부터 수집된 정보를 데이터베이스에 저장한다(S340).
그리고, 상기 제어부는 상기 수집된 스크래핑 정보를 상기 단말기로 전송할 수 있다(S350).
상기 제어부는 데이터 스크래핑 서버의 전반적인 동작을 제어하는 모듈을 말하며, 프로세서, 제어 모듈, 컨트롤러(controller), 마이크로 컨트롤러(micro controller), 마이크로프로세서(microprocessor)등으로 호칭될 수 있으며, 상기 제어부는 하드웨어(hardware), 펌웨어(firmware), 소프트웨어, 또는 이들의 결합에 의해 구현될 수 있다.
상기 제어부는 ASIC(application-specific integrated circuit), 다른 칩셋, 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다.
예를 들어, 상기 스크래핑 서버의 제어부는 S330 단계에서 스크래핑을 통해 수집된 정보를 상기 통신부를 통해 단말기로 전송하여 화면에 표시되도록 한다.
또는, 상기 제어부가 상기 웹 서버로부터 수집된 정보를 데이터베이스(260)에 저장할 수 있으며, 좀 더 구체적으로 상기 수집된 정보는 단말기와 연관된 상기 데이터베이스, 즉 상기 데이터베이스 중 단말기에 지정된 영역에 저장되거나, 단말기 또는 사용자에 대한 식별 정보와 연결되어 상기 데이터베이스에 저장될 수도 있다.
상기 웹 서버로부터 수집되는 정보 즉, 기관 서버가 보유하고 있는 정보는 시간의 흐름에 따라 변하지 않는 정적인 정보와 실시간으로 변화하는 동적인 정보로 구분될 수 있다. 여기서, 정적인 정보는 과거 기록에 대한 정보일 수 있으며, 동적인 정보는 새롭게 실시간 업데이트되는 정보일 수 있다.
이 경우, 상기 스크래핑 서버의 제어부는 단말기로부터 요청된 스크래핑 정보의 특징을 판단하여 상기 요청된 스크래핑 정보가 정적인 정보에 대한 것인지 또는 동적인 정보에 대한 것인지를 결정할 수 있다.
만약 상기 요청된 스크래핑 정보가 정적인 정보인 경우, 상기 제어부는 데이터베이스에 미리 저장된 스크래핑 정보를 이용하여 상기 요청에 대해 바로 응답할 수 있다. 여기서, 상기 미리 저장된 스크래핑 정보는 사용자가 스크래핑 요청할 것으로 예상되는 사항들에 대해 주기적 및/또는 비주기적으로 미리 스크래핑을 실시하여 얻은 결과를 의미할 수 있다.
여기서, 상기 요청된 스크래핑 정보가 정적인 정보이기는 하나 데이터베이스에 미리 저장된 스크래핑 정보가 아닌 경우, 후술할 동적인 정보와 같이 처리될 수 있다.
만약 상기 요청된 스크래핑 정보가 동적인 경우, 상기 제어부는 상기 수신된 스크래핑 요청을 웹 서버 또는 기관 서버에 전송하고, 상기 스크래핑 요청에 대한 응답을 상기 웹 서버 또는 기관 서버로부터 수신하고, 이를 단말기에 전송한다.
한편, 도 2의 경우 웹 서버로부터 수집된 정보가 저장되는 데이터베이스(260)가 스크래핑 서버 내에 구비되는 것으로 도시되었으나, 본 명세서에서 제안하는 방법은 이에 한정되지 아니하며, 스크래핑 서버로부터 상기 수집된 정보를 수신하여 데이터베이스에 저장하기 위한 별도의 서버(미도시)가 존재할 수도 있다.
앞서 살핀 내용을 기초로, 국세청 서버에 접속하여 소득 관련 거래 정보를 스크래핑하는 과정에 대해 간략히 살펴본다.
먼저, 스크래핑 서버는 국세청 서버에 로그인할 수 있도록 고객에게 공인인증서 등 서버에 접근할 수 있는 정보를 요청한다. 상기 요청된 정보가 국세청 서버의 홈페이지 DB로부터 출력된 로그인 웹페이지의 입력 데이터 필드에 입력되는 경우, 국세청 서버는 상기 수신받은 고객 정보를 이용하여 홈페이지 DB로부터 로그인이 이루어진 후 나타나는 웹페이지를 출력시킨다. 그리고, 상기 국세청 서버는 로그인 정보를 수신하여 고객 정보 DB로부터 입력에 상응하는 데이터를 웹페이지로 출력시킨다.
상기 스크래핑 서버는 출력된 웹페이지 데이터에서 소득증명원, 근로소득 원천징수 영수증, 재무제표 등의 소득 관련 정보를 스크래핑하여 DB에 저장시키거나 또는 단말기로 전송한다.
데이터 스크래핑 서비스 방법
이하, 도 4를 참조하여 단말기를 통해 데이터 스크래핑 서비스를 제공하는 방법에 대해 보다 상세히 설명하기로 한다.
즉, 도 4는 본 명세서에서 제안하는 데이터 스크래핑 서비스 제공 방법의 일례를 나타낸 흐름도이다.
보다 구체적으로, 도 4는 데이터 스크래핑 시스템에서 공인 인증서를 이용하여 데이터 스크래핑을 처리하는 방법을 나타내며, 도 4에 도시된 방법들 중 도 1 내지 도 3에서 설명한 것과 동일한 내용에 대해서는 이하 생략하기로 하고, 차이가 나는 부분을 위주로 설명하기로 한다.
먼저, 단말기는 사용자의 요청에 의해 데이터 스크래핑 서비스를 제공하기 위한 앱을 실행시키고(S401), 상기 실행된 앱에서 제공하는 사용자 인터페이스를 통해 사용자로부터 특정 정보에 대한 스크래핑을 요청받아 스크래핑 서버로 전달한다(S402).
예를 들어, 상기 스크래핑하고자 하는 정보는 단말기 사용자의 소득 정보일 수 있으며, 상기 사용자 소득 정보를 제공하는 웹 서버에 접속하여 해당 정보를 수집하기 위해서는 사용자의 공인 인증서를 통한 사용자 인증이 요청될 수 있다.
단말기로부터 스크래핑 요청을 수신한 스크래핑 서버는 먼저 웹브라우저를 실행시키고(S403), 상기 실행된 웹브라우저를 통해 스크래핑하고자 하는 정보가 구비된 웹 서버에 접속한다(S404).
이후, 스크래핑 서버는 웹 서버로부터 공인 인증서를 통한 사용자 인증의 결과인 인증값에 대한 전송을 요청받고(S405), 상기 공인 인증서 인증값 전송 요청을 단말기로 전달한다(S406).
상기 공인 인증서 인증값 전송 요청을 수신한 단말기는 저장된 공인 인증서 파일을 실행하여 사용자가 공인 인증서 암호를 입력하도록 하여 공인 인증서 인증을 수행한다(S407).
이후, 단말기는 상기 공인 인증서 인증 단계(S407)에서 수행된 공인 인증서 인증 결과를 나타내는 공인 인증서 인증값을 스크래핑 서버로 전송하고(S408), 스크래핑 서버는 상기 단말기(100)로부터 수신된 공인 인증서 인증값을 웹 서버로 전달한다(S409).
웹 서버는 스크래핑 서버로부터 수신된 공인 인증서 인증값을 확인한 후 스크래핑 서버의 접속을 허용하고(S410), 상기 스크래핑 서버는 상기 웹 서버로부터 정보를 수집하기 위한 스크래핑 모듈을 실행시킨다(S411).
여기서, 상기 스크래핑 서버는 상기 단말기로부터 수신된 공인 인증서 인증값을 메모리(250)에 임시 저장하고, 웹 서버로 접속이 허용된 후에는 상기 메모리에 임시 저장된 인증값을 삭제하여 폐기할 수 있다.
상기 스크래핑 서버는 스크래핑 모듈을 이용해 웹 서버로부터 정보를 수집하고(S412), 상기 수집된 정보를 데이터베이스(260)에 저장한다(S413).
이후, 상기 데이터베이스에 저장된 수집 정보는 단말기로 전송되고(S414), 상기 수집 정보는 상기 단말기에서 디스플레이된다(S415).
앞서 살핀 수집된 데이터 스크래핑 정보는 후술할 AI 장치에 구현된 인공지능 알고리즘을 통해 학습될 수 있다. 후술할 AI 장치는 스크래핑 서버 내에 구현될 수도 있으며, 상기 스크래핑 서버와 별도로 구현될 수도 있다. 상기 AI 장치가 상기 스크래핑 서버와 별도로 구현되는 경우, 상기 AI 장치는 상기 스크래핑 서버와 무선으로 신호를 송수신할 수 있다.
AI 장치 블록도
도 5는 본 명세서에서 제안하는 방법이 적용될 수 있는 AI 장치의 블록도이다.
상기 AI 장치(20)는 AI 프로세싱을 수행할 수 있는 AI 모듈을 포함하는 전자 기기 또는 상기 AI 모듈을 포함하는 서버 등을 포함할 수 있다. 또한, 상기 AI 장치는 전자기기의 적어도 일부의 구성으로 포함되어 AI 프로세싱 중 적어도 일부를 함께 수행하도록 구비될 수도 있다.
상기 AI 장치는 AI 프로세서(21), 메모리(25) 및/또는 통신부(27)를 포함할 수 있다.
AI 프로세서는 메모리에 저장된 프로그램을 이용하여 신경망을 학습할 수 있다. 특히, AI 프로세서는 모니터링 관련 데이터를 인식하기 위한 신경망을 학습할 수 있다. 신경망 모델의 예는 심층 신경망(DNN, deep neural networks), 합성곱 신경망(CNN, convolutional deep neural networks), 순환 신경망(RNN, Recurrent Boltzmann Machine), 제한 볼츠만 머신(RBM, Restricted Boltzmann Machine), 심층 신뢰 신경망(DBN, deep belief networks), 심층 Q-네트워크(Deep Q-Network)와 같은 다양한 딥 러닝 기법들을 포함하며, 컴퓨터비젼, 음성인식, 자연어처리, 음성/신호처리 등의 분야에 적용될 수 있다.
한편, 전술한 바와 같은 기능을 수행하는 프로세서는 범용 프로세서(예를 들어, CPU)일 수 있으나, 인공지능 학습을 위한 AI 전용 프로세서(예를 들어, GPU)일 수 있다.
메모리는 AI 장치의 동작에 필요한 각종 프로그램 및 데이터를 저장할 수 있다. 메모리는 비 휘발성 메모리, 휘발성 메모리, 플래시 메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SDD) 등으로 구현할 수 있다. 메모리는 AI 프로세서에 의해 액세스되며, AI 프로세서에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 또한, 메모리는 본 발명의 일 실시예에 따른 데이터 분류/인식을 위한 학습 알고리즘을 통해 생성된 신경망 모델(예를 들어, 딥 러닝 모델(26))을 저장할 수 있다.
한편, AI 프로세서(21)는 데이터 분류/인식을 위한 신경망을 학습하는 데이터 학습부(22)를 포함할 수 있다. 데이터 학습부(22)는 데이터 분류/인식을 판단하기 위하여 어떤 학습 데이터를 이용할지, 학습 데이터를 이용하여 데이터를 어떻게 분류하고 인식할지에 관한 기준을 학습할 수 있다. 데이터 학습부(22)는 학습에 이용될 학습 데이터를 획득하고, 획득된 학습데이터를 딥러닝 모델에 적용함으로써, 딥러닝 모델을 학습할 수 있다.
데이터 학습부(22)는 학습 데이터 획득부(23) 및 모델 학습부(24)를 포함할 수 있다.
학습 데이터 획득부(23)는 데이터를 분류하고 인식하기 위한 신경망 모델에 필요한 학습 데이터를 획득할 수 있다.
모델 학습부(24)는 상기 획득된 학습 데이터를 이용하여, 신경망 모델이 소정의 데이터를 어떻게 분류할지에 관한 판단 기준을 가지도록 학습할 수 있다.
통신부(27)는 AI 프로세서(21)에 의한 AI 프로세싱 결과를 외부 전자 기기로 전송할 수 있다.
한편, 도 5에 도시된 AI 장치(20)는 AI 프로세서(21)와 메모리(25), 통신부(27) 등으로 기능적으로 구분하여 설명하였지만, 전술한 구성요소들이 하나의 모듈로 통합되어 AI 모듈로 호칭될 수도 있음을 밝혀둔다.
도 6은 본 명세서에서 제안하는 데이터 스크래핑 서비스 제공 방법의 일례를 나타낸 순서도이다.
먼저, 스크래핑 서버는 단말기로부터 데이터 스크래핑 요청을 수신한다(S601).
이후, 상기 스크래핑 서버는 상기 데이터 스크래핑 요청을 분석하여 상기 요청된 데이터 스크래핑에 대한 정보를 수집하기 위해 하나의 웹서버에 접속해야 하는지 또는 복수의 웹서버들에 접속해야 하는지를 결정한다(S602).
만약 상기 복수의 웹서버들에 접속해야 하는 경우, 상기 스크래핑 서버는 스크래핑을 위한 스크립트를 공통사항에 해당하는 제1 스크립트와 개별사항에 해당하는 제2 스크립트로 구분한다(S603).
이후, 상기 스크래핑 서버는 상기 복수의 웹서버들과 접속한다(S604).
이후, 상기 스크래핑 서버는 상기 복수의 웹서버들로 제1 메시지 또는 제2 메시지를 전송한다(S605).
S605 단계는 아래와 같이 보다 세부적인 절차를 포함하여 수행될 수 있다.
즉, 상기 스크래핑 서버는 상기 복수의 웹서버들과 접속하여 상기 제1 스크립트와 상기 제2 스크립트를 모두 전송할 특정 웹서버와 상기 제2 스크립트만을 전송할 나머지 웹서버를 결정한다.
즉, 상기 스크래핑서버는 상기 공통사항에 해당하는 제1 스크립트와 관련된 정보는 상기 특정 웹서버만을 통해 수집하고, 상기 개별사항에 해당하는 제2 스크립트와 관련된 정보는 각각의 웹서버를 통해 수집함으로써, 공통사항에 해당하는 제1 스크립트와 관련된 정보를 복수의 웹서버들을 통해 불필요하게 수집하는 것을 방지할 수 있다.
여기서, 상기 제1 스크립트와 상기 제2 스크립트를 함께 전송해야하는 특정 웹서버는 상기 스크래핑 서버와 접속이 가장 먼저 이루어진 웹서버로 결정된다. 그 이유는 스크래핑 서버와 접속이 가장 먼저 이루어졌다는 것은 그만큼 데이터 처리 속도가 빠를 수 있기 때문이다.
또한, 상기 제1 메시지는 제1 스크립트의 포함 여부를 나타내는 제어정보를 포함하는 헤더, 제1 스크립트 및 제2 스크립트 순서로 구성될 수 있으며, 상기 제2 메시지는 제1 스크립트의 포함 여부를 나타내는 제어정보를 포함하는 헤더 및 제2 스크립트 순서로 구성될 수 있다.
여기서, 상기 제1 스크립트를 상기 제2 스크립트보다 앞에 위치시키는 이유는 헤더에 제1 스크립트의 포함 여부를 나타내는 제어 정보가 있기 때문에 헤더 다음에 바로 제1 스크립트를 위치시켜 제1 스크립트에 대한 내용을 획득하기 쉽게 하고, 제1 스크립트는 공통사항에 대한 내용을 포함하고 있어 제2 스크립트보다 중요하기 때문이다.
만약 스크래핑 서버가 상기 특정 웹서버로부터 제1 스크립트와 관련된 정보를 수신하지 못한 경우, 상기 스크래핑 서버는 또 다른 웹서버(그 다음으로 스크래핑 서버와 접속이 이루어진 웹서버)로 헤더, 제1 스크립트 및 제2 스크립트 순서로 구성된 제1 메시지를 전송한다.
만약 스크래핑 서버가 제1 스크립트와 관련된 정보를 특정 웹서버를 통해 수신하지 못한 경우, 상기 스크래핑 서버는 복수의 웹서버들 모두로 헤더, 제1 스크립트 및 제2 스크립트 순서로 구성된 제1 메시지를 전송하여 요청된 데이터 스크래핑에 대한 정보를 수집할 수 있다.
이후, 상기 스크래핑 서버는 상기 복수의 웹서버들로부터 상기 데이터 스크래핑 요청에 대한 정보를 수집한다(S606).
이후, 상기 스크래핑 서버는 상기 수집된 정보를 상기 단말기로 전송한다(S607).
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
10: 데이터 스크래핑 시스템 100: 단말기
200: 스크래핑 서버 300: 웹서버

Claims (7)

  1. 데이터 스크래핑을 수행하기 위한 방법에 있어서, 스크래핑 서버에 의해 수행되는 방법은,
    단말기로부터 데이터 스크래핑 요청을 수신하는 단계;
    상기 수신된 데이터 스크래핑 요청을 분석하여 상기 데이터 스크래핑 요청에 대한 정보를 웹서버로부터 수집하기 위해 하나의 웹서버에 접속해야하는지 또는 복수의 웹서버들에 접속해야하는지를 결정하는 단계;
    상기 복수의 웹서버들에 접속하는 경우, 데이터 스크래핑을 위한 스크립트를 공통사항에 해당하는 제1 스크립트와 개별사항에 해당하는 제2 스크립트로 구분하는 단계;
    상기 복수의 웹서버들과 접속하는 단계;
    상기 복수의 웹서버들로 제1 메시지 또는 제2 메시지를 전송하는 단계;
    상기 복수의 웹서버들로부터 상기 데이터 스크래핑 요청에 대한 정보를 수집하는 단계; 및
    상기 수집된 정보를 상기 단말기로 전송하는 단계를 포함하되,
    상기 제1 메시지 또는 제2 메시지를 전송하는 단계는,
    상기 제1 스크립트와 상기 제2 스크립트를 모두 전송할 제1 웹서버와 상기 제2 스크립트만을 전송할 제2 웹서버를 결정하는 단계;
    상기 제1 웹서버로 제1 메시지를 전송하는 단계; 및
    상기 제2 웹서버로 제2 메시지를 전송하는 단계를 포함하며,
    상기 제1 메시지는 상기 제1 스크립트의 포함 여부를 나타내는 제어정보를 포함하는 헤더, 상기 제1 스크립트 및 상기 제2 스크립트 순서로 구성되며,
    상기 제2 메시지는 상기 제1 스크립트의 포함 여부를 나타내는 제어정보를 포함하는 헤더 및 상기 제2 스크립트 순서로 구성되며,
    상기 스크래핑 서버에 의해 수행되는 방법은,
    상기 제1 웹서버로부터 상기 제1 스크립트와 관련된 정보를 수신하지 못한 경우, 상기 제1 웹서버 다음으로 상기 스크래핑 서버와 접속이 이루어진 제3 웹서버로 상기 제1 메시지를 전송하는 단계; 및
    상기 제3 웹서버로부터 상기 제1 스크립트와 관련된 정보를 수신하지 못한 경우, 상기 복수의 웹서버들 모두로 상기 제1 메시지를 전송하는 단계를 더 포함하는 것을 특징으로 하는 데이터 스크래핑 방법.
  2. 삭제
  3. 삭제
  4. 제1 항에 있어서,
    상기 제1 웹서버는 상기 스크래핑 서버와 가장 먼저 접속이 이루어진 웹서버인 것을 특징으로 하는 데이터 스크래핑 방법.
  5. 제1 항에 있어서,
    상기 복수의 웹서버들은 상기 제1 웹서버, 상기 제2 웹서버 및 상기 제3 웹서버를 포함하고,
    상기 제2 웹서버는 상기 복수의 웹서버들 중에서 상기 제1 웹서버를 제외한 나머지 웹서버 중 하나인 것을 특징으로 하는 데이터 스크래핑 방법.
  6. 제1 항에 있어서,
    상기 복수의 웹서버들로부터 수집된 정보를 신경망 모델을 이용하여 학습하는 단계를 더 포함하는 것을 특징으로 하는 데이터 스크래핑 방법.
  7. 제6 항에 있어서,
    상기 데이터 스크래핑 요청은 사용자의 개인 정보를 포함하며,
    상기 사용자의 개인 정보는 사용자의 아이디 및 패스워드 또는 공인 인증서의 암호인 것을 특징으로 하는 데이터 스크래핑 방법.
KR1020210151449A 2021-11-05 2021-11-05 데이터 스크래핑 방법 및 이를 지원하는 장치 KR102416805B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210151449A KR102416805B1 (ko) 2021-11-05 2021-11-05 데이터 스크래핑 방법 및 이를 지원하는 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210151449A KR102416805B1 (ko) 2021-11-05 2021-11-05 데이터 스크래핑 방법 및 이를 지원하는 장치

Publications (1)

Publication Number Publication Date
KR102416805B1 true KR102416805B1 (ko) 2022-07-05

Family

ID=82401690

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210151449A KR102416805B1 (ko) 2021-11-05 2021-11-05 데이터 스크래핑 방법 및 이를 지원하는 장치

Country Status (1)

Country Link
KR (1) KR102416805B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100494975B1 (ko) * 2001-02-21 2005-06-16 주식회사 핑거 스크린 스크래핑 기술을 이용한 고객 자산 관리 방법 및시스템
US20160275003A1 (en) * 2015-03-19 2016-09-22 Accenture Global Services Limited Test script evaluation system and method
KR20170041523A (ko) * 2015-10-07 2017-04-17 한국정보통신주식회사 스크래핑 서비스 제공 방법, 그를 위한 서버 장치 및 시스템
KR20200057847A (ko) * 2018-11-15 2020-05-27 창욱 곽 스크래핑을 활용한 커뮤니티 쇼핑 서비스 제공 방법 및 이를 위한 장치
KR102179792B1 (ko) 2018-08-22 2020-11-17 주식회사 핑거 웹 브라우저 기반 스크래핑 시스템 및 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100494975B1 (ko) * 2001-02-21 2005-06-16 주식회사 핑거 스크린 스크래핑 기술을 이용한 고객 자산 관리 방법 및시스템
US20160275003A1 (en) * 2015-03-19 2016-09-22 Accenture Global Services Limited Test script evaluation system and method
KR20170041523A (ko) * 2015-10-07 2017-04-17 한국정보통신주식회사 스크래핑 서비스 제공 방법, 그를 위한 서버 장치 및 시스템
KR102179792B1 (ko) 2018-08-22 2020-11-17 주식회사 핑거 웹 브라우저 기반 스크래핑 시스템 및 방법
KR20200057847A (ko) * 2018-11-15 2020-05-27 창욱 곽 스크래핑을 활용한 커뮤니티 쇼핑 서비스 제공 방법 및 이를 위한 장치

Similar Documents

Publication Publication Date Title
AU2019204285B2 (en) Artificial intelligence (ai) based chatbot creation and communication system
US10977056B2 (en) System for utilizing one or more data sources to generate a customized interface
AU2016346497B2 (en) Method and system for performing a probabilistic topic analysis of search queries for a customer support system
US10025933B2 (en) System for utilizing one or more data sources to generate a customized set of operations
JP4809858B2 (ja) ブラウザ−ログインマッピングを介したターゲットインベントリ拡張方法及びそのシステム
US11468196B2 (en) Data processing systems for validating authorization for personal data collection, storage, and processing
US20220067115A1 (en) Information processing method, apparatus, electrical device and readable storage medium
US11531987B2 (en) User profiling based on transaction data associated with a user
US11483408B2 (en) Feature-based network embedding
US20170346823A1 (en) Network of trusted users
CN111898675B (zh) 信贷风控模型生成方法、装置、评分卡生成方法、机器可读介质及设备
US20210357435A1 (en) Automated data supplementation and verification
US20190188410A1 (en) Cognitive systems for allocating medical data access permissions using historical correlations
KR102491357B1 (ko) 뉴럴 네트워크를 이용하여 의료기관의 경영 현황에 대한 정보를 단말에게 제공하는 방법 및 장치
GB2601165A (en) Transaction verification
CA3161416A1 (en) Intelligent conversion of internet domain names to vector embeddings
US20220229856A1 (en) Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software
US9047317B2 (en) Customer activity driven storage
CN113128773B (zh) 地址预测模型的训练方法、地址预测方法及装置
KR102416805B1 (ko) 데이터 스크래핑 방법 및 이를 지원하는 장치
US20230196136A1 (en) Machine learning model predictions via augmenting time series observations
US20200036722A1 (en) Controlling Interactions and Generating Alerts Based on Iterative Fuzzy Searches of a Database and Comparisons of Multiple Variables
US10902383B2 (en) Vision AR: SmartHR overlay
US11842351B2 (en) Systems and methods for fraud monitoring
CN112100156A (zh) 基于用户行为构建知识库的方法、装置、介质、系统

Legal Events

Date Code Title Description
GRNT Written decision to grant