KR102545264B1 - 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 웹 콘텐츠 크롤링 장치 및 그 동작 방법 - Google Patents

웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 웹 콘텐츠 크롤링 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR102545264B1
KR102545264B1 KR1020210050856A KR20210050856A KR102545264B1 KR 102545264 B1 KR102545264 B1 KR 102545264B1 KR 1020210050856 A KR1020210050856 A KR 1020210050856A KR 20210050856 A KR20210050856 A KR 20210050856A KR 102545264 B1 KR102545264 B1 KR 102545264B1
Authority
KR
South Korea
Prior art keywords
web
web page
body area
encryption key
area
Prior art date
Application number
KR1020210050856A
Other languages
English (en)
Other versions
KR20220144495A (ko
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 KR1020210050856A priority Critical patent/KR102545264B1/ko
Publication of KR20220144495A publication Critical patent/KR20220144495A/ko
Application granted granted Critical
Publication of KR102545264B1 publication Critical patent/KR102545264B1/ko

Links

Images

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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 웹 콘텐츠 크롤링 장치 및 그 동작 방법이 개시된다. 본 발명은 웹 사이트를 구성하는 복수의 웹 페이지들 중 어느 하나인 제1 웹 페이지에 대한 웹 콘텐츠 데이터의 수집 이벤트가 발생하면, 상기 제1 웹 페이지를 구성하는 복수의 부분 영역들 중 최대 크기를 갖는 부분 영역이 다른 웹 페이지들로부터 확인되는 최대 크기의 부분 영역과 매칭되는지 여부를 기초로, 상기 제1 웹 페이지의 본문 영역을 결정한 후, 상기 제1 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 웹 콘텐츠 크롤링 장치 및 그 동작 방법에 대한 것이다.

Description

웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 웹 콘텐츠 크롤링 장치 및 그 동작 방법{WEB CONTENTS CRAWLING APPARATUS WHICH COLLECTS WEB CONTENTS DATA FROM THE BODY AREA ON THE WEB PAGE, AND THE OPERATING METHOD THEREOF}
본 발명은 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 웹 콘텐츠 크롤링 장치 및 그 동작 방법에 대한 것이다.
웹 크롤링이란 웹 페이지로부터 데이터를 추출하기 위한 기술을 의미하는 것으로, 웹 페이지의 복사본을 생성하거나 웹 페이지 상의 데이터를 최신 상태로 유지하기 위해 활용된다.
기존의 웹 크롤링 기술에서는, 웹 페이지에서 본문 영역을 구분하지 않고, 웹 페이지로부터 데이터를 수집하기 때문에, 웹 페이지로부터 수집된 웹 콘텐츠 데이터에는 본문 내용에 대한 웹 콘텐츠 데이터 이외의 불필요한 데이터들이 포함되어 있는 경우가 많았다.
이와 관련해서, 웹 페이지로부터 수집된 웹 콘텐츠 데이터에서 웹 페이지의 본문 내용에 대한 웹 콘텐츠 데이터만을 분류하기 위해, 사람이 직접 웹 페이지의 분문 영역을 확인해서, 본문 내용에 대한 웹 콘텐츠 데이터만을 추출하는 방식을 사용할 수 있지만, 이러한 방식은 수집할 데이터의 양이 많은 경우, 많은 시간과 비용이 소요된다는 문제점이 있다.
만약, 웹 페이지에 대한 웹 크롤링을 수행할 때, 웹 페이지를 구성하는 복수의 부분 영역들 중 본문 영역을 구분하여 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집할 수 있는 기술이 도입된다면, 보다 효율적으로 웹 페이지의 본문 내용에 대한 웹 콘텐츠 데이터를 수집할 수 있을 것이다.
따라서, 웹 페이지를 구성하는 복수의 부분 영역들 중 본문 영역을 구분하여, 구분된 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 기술에 대한 연구가 필요하다.
본 발명은 웹 사이트를 구성하는 복수의 웹 페이지들 중 어느 하나인 제1 웹 페이지에 대한 웹 콘텐츠 데이터의 수집 이벤트가 발생하면, 상기 제1 웹 페이지를 구성하는 복수의 부분 영역들 중 최대 크기를 갖는 부분 영역이 다른 웹 페이지들로부터 확인되는 최대 크기의 부분 영역과 매칭되는지 여부를 기초로, 상기 제1 웹 페이지의 본문 영역을 결정한 후 그 본문 영역으로부터 데이터 수집을 진행할 수 있는 웹 콘텐츠 크롤링 장치 및 그 동작 방법을 제시함으로써, 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터의 수집이 가능하도록 지원하고자 한다.
본 발명의 일실시예에 따른 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 웹 콘텐츠 크롤링 장치는 제1 웹 사이트를 구성하는 복수의 웹 페이지들 중 어느 하나인 제1 웹 페이지에 대한 웹 콘텐츠 데이터의 수집 이벤트가 발생하는 경우, 웹 브라우저를 통해 상기 제1 웹 페이지를 렌더링하는 렌더링 처리부, 상기 웹 브라우저를 통해 상기 제1 웹 페이지가 렌더링되면, 렌더링된 상기 제1 웹 페이지를 구성하는 마크업 언어(markup language) 코드를 파싱(parsing)하여, 상기 제1 웹 페이지를 구성하는 복수의 부분 영역들의 크기를 확인하는 영역 확인부, 상기 제1 웹 페이지를 구성하는 복수의 부분 영역들 중 최대의 크기를 갖는 부분 영역을 후보 본문 영역으로 지정한 후, 상기 후보 본문 영역의 상기 제1 웹 페이지 상에서의 배치 위치인 제1 위치를 확인하는 위치 확인부, 상기 복수의 웹 페이지들 중 n(n은 2 이상의 자연수임)개의 웹 페이지들을 랜덤하게 선택하고, 상기 웹 브라우저를 통해 상기 n개의 웹 페이지들 각각을 렌더링한 후, 렌더링된 상기 n개의 웹 페이지들 각각의 마크업 언어 코드를 파싱하여, 상기 n개의 웹 페이지들 각각을 구성하는 복수의 부분 영역들의 크기를 확인하는 추가 영역 확인부, 상기 n개의 웹 페이지들 각각에 대해, 각 웹 페이지를 구성하는 복수의 부분 영역들 중 최대의 크기를 갖는 부분 영역을 기준 영역으로 지정함으로써, 상기 n개의 웹 페이지들 각각에 대응되는 기준 영역을 지정한 후, 상기 n개의 웹 페이지들 각각에 대응되는 기준 영역의 각 웹 페이지 상에서의 배치 위치를, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치로 확인하는 추가 위치 확인부, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치가 상기 제1 위치와 매칭되는지 여부를 확인하여, 상기 n개의 웹 페이지들 중 사전 설정된 기준 개수 이상의 제2 웹 페이지들 각각에 대응되는 기준 위치가 상기 제1 위치와 매칭되는 것으로 확인되면, 상기 후보 본문 영역을 상기 제1 웹 페이지의 본문 영역인 것으로 결정하는 본문 영역 결정부 및 상기 후보 본문 영역이 상기 제1 웹 페이지의 본문 영역인 것으로 결정되면, 상기 제1 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 데이터 수집부를 포함한다.
또한, 본 발명의 일실시예에 따른 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 웹 콘텐츠 크롤링 장치의 동작 방법은 제1 웹 사이트를 구성하는 복수의 웹 페이지들 중 어느 하나인 제1 웹 페이지에 대한 웹 콘텐츠 데이터의 수집 이벤트가 발생하는 경우, 웹 브라우저를 통해 상기 제1 웹 페이지를 렌더링하는 단계, 상기 웹 브라우저를 통해 상기 제1 웹 페이지가 렌더링되면, 렌더링된 상기 제1 웹 페이지를 구성하는 마크업 언어 코드를 파싱하여, 상기 제1 웹 페이지를 구성하는 복수의 부분 영역들의 크기를 확인하는 단계, 상기 제1 웹 페이지를 구성하는 복수의 부분 영역들 중 최대의 크기를 갖는 부분 영역을 후보 본문 영역으로 지정한 후, 상기 후보 본문 영역의 상기 제1 웹 페이지 상에서의 배치 위치인 제1 위치를 확인하는 단계, 상기 복수의 웹 페이지들 중 n(n은 2 이상의 자연수임)개의 웹 페이지들을 랜덤하게 선택하고, 상기 웹 브라우저를 통해 상기 n개의 웹 페이지들 각각을 렌더링한 후, 렌더링된 상기 n개의 웹 페이지들 각각의 마크업 언어 코드를 파싱하여, 상기 n개의 웹 페이지들 각각을 구성하는 복수의 부분 영역들의 크기를 확인하는 단계, 상기 n개의 웹 페이지들 각각에 대해, 각 웹 페이지를 구성하는 복수의 부분 영역들 중 최대의 크기를 갖는 부분 영역을 기준 영역으로 지정함으로써, 상기 n개의 웹 페이지들 각각에 대응되는 기준 영역을 지정한 후, 상기 n개의 웹 페이지들 각각에 대응되는 기준 영역의 각 웹 페이지 상에서의 배치 위치를, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치로 확인하는 단계, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치가 상기 제1 위치와 매칭되는지 여부를 확인하여, 상기 n개의 웹 페이지들 중 사전 설정된 기준 개수 이상의 제2 웹 페이지들 각각에 대응되는 기준 위치가 상기 제1 위치와 매칭되는 것으로 확인되면, 상기 후보 본문 영역을 상기 제1 웹 페이지의 본문 영역인 것으로 결정하는 단계 및 상기 후보 본문 영역이 상기 제1 웹 페이지의 본문 영역인 것으로 결정되면, 상기 제1 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 단계를 포함한다.
본 발명은 웹 사이트를 구성하는 복수의 웹 페이지들 중 어느 하나인 제1 웹 페이지에 대한 웹 콘텐츠 데이터의 수집 이벤트가 발생하면, 상기 제1 웹 페이지를 구성하는 복수의 부분 영역들 중 최대 크기를 갖는 부분 영역이 다른 웹 페이지들로부터 확인되는 최대 크기의 부분 영역과 매칭되는지 여부를 기초로, 상기 제1 웹 페이지의 본문 영역을 결정한 후 그 본문 영역으로부터 데이터 수집을 진행할 수 있는 웹 콘텐츠 크롤링 장치 및 그 동작 방법을 제시함으로써, 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터의 수집이 가능하도록 지원할 수 있다.
도 1은 본 발명의 일실시예에 따른 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 웹 콘텐츠 크롤링 장치의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 웹 콘텐츠 크롤링 장치의 동작을 설명하기 위한 도면이다.
도 3은 본 발명의 일실시예에 따른 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 웹 콘텐츠 크롤링 장치의 동작 방법을 도시한 순서도이다.
이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다.
한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.
도 1은 본 발명의 일실시예에 따른 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 웹 콘텐츠 크롤링 장치의 구조를 도시한 도면이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 웹 콘텐츠 크롤링 장치(110)는 렌더링 처리부(111), 영역 확인부(112), 위치 확인부(113), 추가 영역 확인부(114), 추가 위치 확인부(115), 본문 영역 결정부(116) 및 데이터 수집부(117)를 포함한다.
렌더링 처리부(111)는 제1 웹 사이트를 구성하는 복수의 웹 페이지들 중 어느 하나인 제1 웹 페이지에 대한 웹 콘텐츠 데이터의 수집 이벤트가 발생하는 경우, 웹 브라우저를 통해 상기 제1 웹 페이지를 렌더링한다.
영역 확인부(112)는 상기 웹 브라우저를 통해 상기 제1 웹 페이지가 렌더링되면, 렌더링된 상기 제1 웹 페이지를 구성하는 마크업 언어(markup language) 코드를 파싱(parsing)하여, 상기 제1 웹 페이지를 구성하는 복수의 부분 영역들의 크기를 확인한다.
이하에서는, 렌더링 처리부(111) 및 영역 확인부(112)의 동작을 예를 들어, 상세히 설명하기로 한다.
먼저, 상기 제1 웹 사이트를 구성하는 복수의 웹 페이지들이 '웹 페이지 1, 웹 페이지 2, 웹 페이지 3, 웹 페이지 4, 웹 페이지 5, 웹 페이지 6'이라고 하고, 상기 복수의 웹 페이지들 중 '웹 페이지 1'이, 도 2의 도면부호 200으로 표시된 그림과 같다고 하며, '웹 페이지 1(200)'에 대한 웹 콘텐츠 데이터의 수집 이벤트가 발생하였다고 가정하자.
그러면, 렌더링 처리부(111)는 웹 브라우저를 통해 '웹 페이지 1(200)'을 렌더링할 수 있다.
그러고 나서, 영역 확인부(112)는 렌더링된 '웹 페이지 1(200)'을 구성하는 마크업 언어 코드를 파싱하여, '웹 페이지 1(200)'을 구성하는 복수의 부분 영역들의 크기를 확인할 수 있다.
관련해서, 도 2에 도시된 그림에서는, '웹 페이지 1(200)'을 구성하는 복수의 부분 영역들이 '부분 영역 1(201), 부분 영역 2(202), 부분 영역 3(203), 부분 영역 4(204)'이므로, 영역 확인부(112)는 '부분 영역 1(201), 부분 영역 2(202), 부분 영역 3(203), 부분 영역 4(204)'의 크기를 확인할 수 있다.
이렇게, 영역 확인부(112)에 의해, 상기 제1 웹 페이지를 구성하는 복수의 부분 영역들의 크기가 확인되면, 위치 확인부(113)는 상기 제1 웹 페이지를 구성하는 복수의 부분 영역들 중 최대의 크기를 갖는 부분 영역을 후보 본문 영역으로 지정한 후, 상기 후보 본문 영역의 상기 제1 웹 페이지 상에서의 배치 위치인 제1 위치를 확인한다.
이때, 본 발명의 일실시예에 따르면, 위치 확인부(113)는 상기 후보 본문 영역을 구성하는 꼭짓점들 중 어느 하나인 기준 꼭짓점의 상기 제1 웹 페이지 상에서의 위치를, 상기 후보 본문 영역의 상기 제1 웹 페이지 상에서의 배치 위치인 상기 제1 위치로 확인할 수 있다.
예컨대, 전술한 예에 따라, 영역 확인부(112)에 의해, '부분 영역 1(201), 부분 영역 2(202), 부분 영역 3(203), 부분 영역 4(204)'의 크기가 확인되었다고 하고, '부분 영역 1(201), 부분 영역 2(202), 부분 영역 3(203), 부분 영역 4(204)' 중 최대의 크기를 갖는 부분 영역이 '부분 영역 2(202)'이라고 가정하자.
그러면, 위치 확인부(113)는 '부분 영역 2(202)'를 후보 본문 영역으로 지정할 수 있다.
이때, '부분 영역 2(202)'를 구성하는 꼭짓점들(211, 212, 213, 214) 중 좌측 상단 지점의 꼭짓점(211)을 기준 꼭짓점이라고 하는 경우, 위치 확인부(113)는 기준 꼭짓점(211)의 '웹 페이지 1(200)' 상에서의 위치(211)를, '부분 영역 2(202)'의 '웹 페이지 1(200)' 상에서의 배치 위치인 상기 제1 위치로 확인할 수 있다.
이렇게, 위치 확인부(113)에 의해 상기 제1 위치가 확인되면, 추가 영역 확인부(114)는 상기 복수의 웹 페이지들 중 n(n은 2 이상의 자연수임)개의 웹 페이지들을 랜덤하게 선택하고, 상기 웹 브라우저를 통해 상기 n개의 웹 페이지들 각각을 렌더링한 후, 렌더링된 상기 n개의 웹 페이지들 각각의 마크업 언어 코드를 파싱하여, 상기 n개의 웹 페이지들 각각을 구성하는 복수의 부분 영역들의 크기를 확인한다.
예컨대, n을 '4'라고 하고, 전술한 예와 같이, 위치 확인부(113)에 의해 제1 위치(211)가 확인되었다고 하는 경우, 추가 영역 확인부(114)는 '웹 페이지 1, 웹 페이지 2, 웹 페이지 3, 웹 페이지 4, 웹 페이지 5, 웹 페이지 6' 중 '4'개의 웹 페이지들을 랜덤하게 선택할 수 있다.
이때, 추가 영역 확인부(114)에 의해 랜덤하게 선택된 '4'개의 웹 페이지들이 '웹 페이지 2, 웹 페이지 3, 웹 페이지 5, 웹 페이지 6'이라고 하는 경우, 추가 영역 확인부(114)는 상기 웹 브라우저를 통해 '웹 페이지 2, 웹 페이지 3, 웹 페이지 5, 웹 페이지 6' 각각을 렌더링한 후, 렌더링된 '웹 페이지 2, 웹 페이지 3, 웹 페이지 5, 웹 페이지 6' 각각의 마크업 언어 코드를 파싱하여, '웹 페이지 2, 웹 페이지 3, 웹 페이지 5, 웹 페이지 6' 각각을 구성하는 복수의 부분 영역들의 크기를 확인할 수 있다.
이렇게, 추가 영역 확인부(114)에 의해, 상기 n개의 웹 페이지들 각각을 구성하는 복수의 부분 영역들의 크기가 확인되면, 추가 위치 확인부(115)는 상기 n개의 웹 페이지들 각각에 대해, 각 웹 페이지를 구성하는 복수의 부분 영역들 중 최대의 크기를 갖는 부분 영역을 기준 영역으로 지정함으로써, 상기 n개의 웹 페이지들 각각에 대응되는 기준 영역을 지정한 후, 상기 n개의 웹 페이지들 각각에 대응되는 기준 영역의 각 웹 페이지 상에서의 배치 위치를, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치로 확인한다.
이때, 본 발명의 일실시예에 따르면, 추가 위치 확인부(115)는 상기 n개의 웹 페이지들 각각에 대응되는 기준 영역을 구성하는 꼭짓점들 중 상기 기준 꼭짓점과 대응되는 지점의 꼭짓점의 각 웹 페이지 상에서의 위치를, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치로 확인할 수 있다.
예컨대, 전술한 예에 따라, 추가 영역 확인부(114)에 의해 '웹 페이지 2, 웹 페이지 3, 웹 페이지 5, 웹 페이지 6' 각각을 구성하는 복수의 부분 영역들의 크기가 확인되었다고 가정하자.
그러면, 추가 위치 확인부(115)는 '웹 페이지 2, 웹 페이지 3, 웹 페이지 5, 웹 페이지 6' 각각에 대해, 각 웹 페이지를 구성하는 복수의 부분 영역들 중 최대의 크기를 갖는 부분 영역을 기준 영역으로 지정함으로써, '웹 페이지 2, 웹 페이지 3, 웹 페이지 5, 웹 페이지 6' 각각에 대응되는 기준 영역을 지정할 수 있다.
관련해서, '웹 페이지 2'를 구성하는 복수의 부분 영역들 중 최대의 크기를 갖는 부분 영역을 '부분 영역 5'라고 하는 경우, 추가 위치 확인부(115)는 '부분 영역 5'를 '웹 페이지 2'에 대응되는 기준 영역으로 지정할 수 있다.
이러한 방식으로, 추가 위치 확인부(115)는 '웹 페이지 2, 웹 페이지 3, 웹 페이지 5, 웹 페이지 6' 각각에 대응되는 기준 영역을 '부분 영역 5, 부분 영역 6, 부분 영역 7, 부분 영역 8'과 같이 지정할 수 있다.
이때, 전술한 예에 따르면, 상기 기준 꼭짓점(211)은 '부분 영역 2(202)'를 구성하는 꼭짓점들(211, 212, 213, 214) 중 좌측 상단 지점의 꼭짓점이므로, 추가 위치 확인부(115)는 '부분 영역 5, 부분 영역 6, 부분 영역 7, 부분 영역 8'을 구성하는 꼭짓점들 중 좌측 상단 지점의 꼭짓점의 각 웹 페이지 상에서의 위치를, '웹 페이지 2, 웹 페이지 3, 웹 페이지 5, 웹 페이지 6' 각각에 대응되는 기준 위치로 확인할 수 있다.
관련해서, '웹 페이지 2'에 대응되는 기준 영역은 '부분 영역 5'이므로, 추가 위치 확인부(115)는 '부분 영역 5'를 구성하는 꼭짓점들 중 좌측 상단 지점의 꼭짓점의 '웹 페이지 2' 상에서의 위치를, '웹 페이지 2'에 대응되는 기준 위치로 확인할 수 있다.
이러한 방식으로, 추가 위치 확인부(115)는 '웹 페이지 2, 웹 페이지 3, 웹 페이지 5, 웹 페이지 6' 각각에 대응되는 기준 위치를 확인할 수 있다.
이렇게, 추가 위치 확인부(115)에 의해, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치가 확인되면, 본문 영역 결정부(116)는 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치가 상기 제1 위치와 매칭되는지 여부를 확인하여, 상기 n개의 웹 페이지들 중 사전 설정된 기준 개수 이상의 제2 웹 페이지들 각각에 대응되는 기준 위치가 상기 제1 위치와 매칭되는 것으로 확인되면, 상기 후보 본문 영역을 상기 제1 웹 페이지의 본문 영역인 것으로 결정한다.
이때, 본 발명의 일실시예에 따르면, 본문 영역 결정부(116)는 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치와 상기 제1 위치를 서로 비교하여, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치와 상기 제1 위치 간의 이격 거리가 사전 설정된 기준 거리 이내인 것으로 확인되는 경우, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치가 상기 제1 위치와 매칭되는 것으로 확인할 수 있다.
예컨대, 전술한 예와 같이, 위치 확인부(113)에 의해 제1 위치(211)가 확인되었다고 하고, 추가 위치 확인부(115)에 의해, '웹 페이지 2, 웹 페이지 3, 웹 페이지 5, 웹 페이지 6' 각각에 대응되는 기준 위치가 확인되었다고 가정하자.
그러면, 본문 영역 결정부(116)는 '웹 페이지 2, 웹 페이지 3, 웹 페이지 5, 웹 페이지 6' 각각에 대응되는 기준 위치와 제1 위치(211)를 서로 비교하여 '웹 페이지 2, 웹 페이지 3, 웹 페이지 5, 웹 페이지 6' 각각에 대응되는 기준 위치와 제1 위치(211)가 매칭되는지 여부를 확인할 수 있다.
관련해서, '웹 페이지 2'에 대응되는 기준 위치와 제1 위치(211)를 서로 비교하여, '웹 페이지 2'에 대응되는 기준 위치와 제1 위치(211) 간의 이격 거리가 사전 설정된 기준 거리 이내인 것으로 확인되었다고 하는 경우, 본문 영역 결정부(116)는 '웹 페이지 2'에 대응되는 기준 위치가 제1 위치(211)와 매칭되는 것으로 확인할 수 있다.
이러한 방식으로, 본문 영역 결정부(116)는 '웹 페이지 2, 웹 페이지 3, 웹 페이지 5, 웹 페이지 6' 각각에 대응되는 기준 위치가 제1 위치(211)와 매칭되는지 여부를 확인할 수 있다.
이때, 사전 설정된 기준 개수를 '3'개라고 하고, '웹 페이지 2, 웹 페이지 3, 웹 페이지 5, 웹 페이지 6' 중 '웹 페이지 2, 웹 페이지 3, 웹 페이지 5' 각각에 대응되는 기준 위치가 제1 위치(211)와 매칭되는 것으로 확인되었다고 하는 경우, 본문 영역 결정부(116)는 '부분 영역 2(202)'를 '웹 페이지 1(200)'의 본문 영역인 것으로 결정할 수 있다.
이렇게, 본문 영역 결정부(116)에 의해 상기 후보 본문 영역이 상기 제1 웹 페이지의 본문 영역인 것으로 결정되면, 데이터 수집부(117)는 상기 제1 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집한다.
예컨대, 전술한 예와 같이, 본문 영역 결정부(116)에 의해, '부분 영역 2(202)'가 '웹 페이지 1(200)'의 본문 영역인 것으로 결정되었다고 하는 경우, 데이터 수집부(117)는 '부분 영역 2(202)'로부터 웹 콘텐츠 데이터를 수집할 수 있다.
즉, 웹 콘텐츠 크롤링 장치(110)는 상기 제1 웹 사이트를 구성하는 복수의 웹 페이지들 중 어느 하나인 상기 제1 웹 페이지에 대한 웹 콘텐츠 데이터의 수집 이벤트가 발생하면, 상기 제1 웹 페이지를 구성하는 복수의 부분 영역들 중 최대 크기를 갖는 부분 영역이 다른 웹 페이지들로부터 확인되는 최대 크기의 부분 영역과 매칭되는지 여부를 기초로, 상기 제1 웹 페이지의 본문 영역을 결정한 후, 상기 제1 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집할 수 있다.
본 발명의 일실시예에 따르면, 웹 콘텐츠 크롤링 장치(110)는 테이블 생성부(118) 및 데이터 신속 수집부(119)를 더 포함할 수 있다.
테이블 생성부(118)는 본문 영역 결정부(116)에 의해 상기 후보 본문 영역이 상기 제1 웹 페이지의 본문 영역인 것으로 결정되면, 상기 제2 웹 페이지들 각각에 대응되는 기준 영역을 상기 제2 웹 페이지들 각각의 본문 영역으로 지정한 후 상기 제2 웹 페이지들 각각의 본문 영역에 대한 정보를 기록한 본문 영역 테이블을 생성한다.
데이터 신속 수집부(119)는 테이블 생성부(118)에 의해 상기 본문 영역 테이블이 생성된 이후, 상기 제2 웹 페이지들 중 어느 하나인 제3 웹 페이지에 대한 웹 콘텐츠 데이터의 수집 이벤트가 발생하는 경우, 상기 제3 웹 페이지의 본문 영역을 결정하기 위한 과정의 수행 없이, 상기 본문 영역 테이블을 참조하여 상기 본문 영역 테이블 상에 기록되어 있는 상기 제3 웹 페이지의 본문 영역에 대한 정보를 기초로, 상기 제3 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집한다.
이하에서는, 테이블 생성부(118) 및 데이터 신속 수집부(119)의 동작을 예를 들어, 상세히 설명하기로 한다.
먼저, 전술한 예와 같이, 본문 영역 결정부(116)에 의해, '웹 페이지 2, 웹 페이지 3, 웹 페이지 5' 각각에 대응되는 기준 위치가 제1 위치(211)와 매칭되는 것으로 확인됨에 따라, '부분 영역 2(202)'가 '웹 페이지 1(200)'의 본문 영역인 것으로 결정되었다고 하는 경우, 테이블 생성부(118)는 '웹 페이지 2, 웹 페이지 3, 웹 페이지 5' 각각에 대응되는 기준 영역인 '부분 영역 5, 부분 영역 6, 부분 영역 7'을 '웹 페이지 2, 웹 페이지 3, 웹 페이지 5' 각각의 본문 영역으로 지정한 후, '부분 영역 5, 부분 영역 6, 부분 영역 7'에 대한 정보를 기록한 하기의 표 1과 같은 본문 영역 테이블을 생성할 수 있다.
웹 페이지 본문 영역
웹 페이지 2 부분 영역 5
웹 페이지 3 부분 영역 6
웹 페이지 5 부분 영역 7
그 이후, '웹 페이지 2'에 대한 웹 콘텐츠 데이터의 수집 이벤트가 발생하였다고 하는 경우, 데이터 신속 수집부(119)는, 렌더링 처리부(111), 영역 확인부(112), 위치 확인부(113), 추가 영역 확인부(114), 추가 위치 확인부(115) 및 본문 영역 결정부(116)를 통한 '웹 페이지 2'의 본문 영역을 결정하기 위한 과정의 수행 없이, 상기 표 1과 같은 본문 영역 테이블 상에 기록되어 있는 '웹 페이지 2'의 본문 영역인 '부분 영역 5'에 대한 정보를 기초로, '부분 영역 5'로부터 웹 콘텐츠 데이터를 수집할 수 있다.
한편, '웹 페이지 1, 웹 페이지 2, 웹 페이지 3, 웹 페이지 4, 웹 페이지 5, 웹 페이지 6' 중 '웹 페이지 6'에 대한 웹 콘텐츠 데이터의 수집 이벤트가 발생하였다고 하는 경우에는, 상기 표 1과 같은 본문 영역 테이블 상에는 '웹 페이지 6'의 본문 영역에 대한 정보가 기록되어 있지 않으므로, 웹 콘텐츠 크롤링 장치(110)는 렌더링 처리부(111), 영역 확인부(112), 위치 확인부(113), 추가 영역 확인부(114), 추가 위치 확인부(115) 및 본문 영역 결정부(116)를 통해 '웹 페이지 6'의 본문 영역을 결정한 후, 데이터 수집부(117)를 통해 '웹 페이지 6'의 본문 영역으로부터 웹 콘텐츠 데이터를 수집할 수 있다.
본 발명의 일실시예에 따르면, 웹 콘텐츠 크롤링 장치(110)는 사용자(130)에 의해, 상기 제1 웹 페이지의 본문 영역으로부터 수집된 웹 콘텐츠 데이터에 대한 암호화 명령이 인가되면, 상기 제1 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터의 암호화를 처리하기 위한 구성으로, 테이블 유지부(120), 랜덤 번호 생성부(121), 함수 추출부(122), 해시 값 생성부(123), 암호화 처리부(124) 및 정보 표시부(125)를 더 포함할 수 있다.
테이블 유지부(120)는 사전 설정된 t(t는 2 이상의 자연수임)개의 암호화키 생성 함수들과 각 암호화키 생성 함수에 대응되는 0 이상 t-1 이하의 서로 다른 정수가 대응되어 기록되어 있는 암호화키 생성 함수 테이블을 저장하여 유지한다.
랜덤 번호 생성부(121)는 데이터 수집부(117)에 의해 상기 제1 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터가 수집된 이후, 사용자(130)에 의해, 상기 제1 웹 페이지의 본문 영역으로부터 수집된 웹 콘텐츠 데이터에 대한 암호화 명령이 인가되면, k(k는 자연수) 자릿수의 자연수로 구성된 랜덤 번호를 생성한다.
함수 추출부(122)는 랜덤 번호 생성부(121)에 의해 상기 랜덤 번호가 생성되면, 상기 랜덤 번호를 피제수로, 상기 t를 제수로 하는 모듈로(Modulo) 연산을 수행함으로써, 연산 값을 산출하고, 상기 암호화키 생성 함수 테이블로부터 상기 연산 값에 대응되는 제1 암호화키 생성 함수를 추출한다.
여기서, 모듈로 연산은 피제수를 제수로 나누는 나눗셈을 수행하여 그에 대한 나머지(remainder)를 산출하는 연산을 의미한다.
해시 값 생성부(123)는 상기 랜덤 번호를 사전 설정된 해시 함수에 입력으로 인가하여 제1 해시 값을 생성한다.
암호화 처리부(124)는 상기 제1 해시 값을 상기 제1 암호화키 생성 함수에 입력으로 인가하여 제1 암호화키를 생성한 후, 상기 제1 웹 페이지의 본문 영역으로부터 수집된 웹 콘텐츠 데이터를 상기 제1 암호화키로 암호화한다.
정보 표시부(125)는 상기 제1 웹 페이지의 본문 영역으로부터 수집된 웹 콘텐츠 데이터가 상기 제1 암호화키로 암호화되면, 화면 상에 상기 랜덤 번호를 표시하면서, 상기 랜덤 번호가, 암호화된 상기 제1 웹 페이지의 본문 영역으로부터 수집된 웹 콘텐츠 데이터의 복호화를 위한 보안 코드임을 지시하는 안내 메시지를 함께 표시한다.
이하에서는, 테이블 유지부(120), 랜덤 번호 생성부(121), 함수 추출부(122), 해시 값 생성부(123), 암호화 처리부(124) 및 정보 표시부(125)의 동작을 예를 들어, 상세히 설명하기로 한다.
먼저, t를 '5'라고 하는 경우, 테이블 유지부(120)는 사전 설정된 '5'개의 암호화키 생성 함수들과 각 암호화키 생성 함수에 대응되는 0 이상 4 이하의 서로 다른 정수가 기록되어 있는 하기의 표 2와 같은 암호화키 생성 함수 테이블을 저장하여 유지할 수 있다.
암호화키 생성 함수 정수 값
암호화키 생성 함수 1 0
암호화키 생성 함수 2 1
암호화키 생성 함수 3 2
암호화키 생성 함수 4 3
암호화키 생성 함수 5 4
또한, 전술한 예에 따라, 데이터 수집부(117)에 의해, '부분 영역 2(202)'로부터 웹 콘텐츠 데이터가 수집되었다고 하고, 그 이후, 사용자(130)에 의해, '부분 영역 2(202)'로부터 수집된 웹 콘텐츠 데이터에 대한 암호화 명령이 인가되었다고 가정하자.
이때, k를 '6'이라고 하는 경우, 랜덤 번호 생성부(121)는 '6 자릿수'의 자연수로 구성된 랜덤 번호를 생성할 수 있다.
이때, 상기 랜덤 번호를 '921230'이라고 하는 경우, 함수 추출부(122)는 '921230'을 피제수로, '5'를 제수로 하는 모듈로 연산을 수행함으로써, 연산 값을 '0'과 같이 산출할 수 있고, 상기 표 2와 같은 암호화키 생성 함수 테이블로부터, '0'에 대응되는 암호화키 생성 함수인 '암호화키 생성 함수 1'을 추출할 수 있다.
그러고 나서, 해시 값 생성부(123)는 '921230'을 사전 설정된 해시 함수에 입력으로 인가하여 '해시 값 1'을 생성할 수 있다.
그러면, 암호화 처리부(124)는 '해시 값 1'을 '암호화키 생성 함수 1'에 입력으로 인가하여 '암호화키 1'을 생성할 수 있고, '부분 영역 2(202)'로부터 수집된 웹 콘텐츠 데이터를, '암호화키 1'로 암호화할 수 있다.
그러고 나서, 정보 표시부(125)는 화면 상에 '921230'을 표시하면서, '921230'이 암호화된 '부분 영역 2(202)'로부터 수집된 웹 콘텐츠 데이터의 복호화를 위한 보안 코드임을 지시하는 안내 메시지를 함께 표시할 수 있다.
이를 통해, 사용자(130)는 상기 랜덤 번호인 '921230'을 숙지하여 암호화된 '부분 영역 2(202)'으로부터 수집된 웹 콘텐츠 데이터를 복호화하기 위해 활용할 수 있다.
이때, 본 발명의 일실시예에 따르면, 웹 콘텐츠 크롤링 장치(110)는 사용자(130)에 의해, 암호화된 상기 제1 웹 페이지의 본문 영역으로부터 수집된 웹 콘텐츠 데이터에 대한 복호화 명령이 인가되고, 상기 랜덤 번호가 입력되면, 암호화된 상기 제1 웹 페이지의 본문 영역으로부터 수집된 웹 콘텐츠 데이터에 대한 복호화를 처리하기 위한 구성으로, 보안 코드 요청부(126), 복호화 추출부(127), 복호화 생성부(128) 및 복호화 처리부(129)를 더 포함할 수 있다.
보안 코드 요청부(126)는 정보 표시부(125)에 의해 상기 랜덤 번호와 상기 안내 메시지가 화면 상에 표시된 이후, 사용자(130)에 의해, 암호화된 상기 제1 웹 페이지의 본문 영역으로부터 수집된 웹 콘텐츠 데이터에 대한 복호화 명령이 인가되면, 데이터의 복호화를 위한 보안 코드를 입력할 것을 요청하는 코드 입력 요청 메시지를 화면 상에 표시한다.
복호화 추출부(127)는 사용자(130)에 의해, 상기 코드 입력 요청 메시지에 대한 응답으로 상기 랜덤 번호가 입력되면, 상기 랜덤 번호를 피제수로, 상기 t를 제수로 하는 모듈로 연산을 수행함으로써, 상기 연산 값을 산출한 후, 상기 암호화키 생성 함수 테이블로부터 상기 연산 값에 대응되는 상기 제1 암호화키 생성 함수를 추출한다.
복호화 생성부(128)는 상기 랜덤 번호를 상기 해시 함수에 입력으로 인가하여 상기 제1 해시 값을 생성한다.
복호화 처리부(129)는 복호화 생성부(128)에 의해 상기 제1 해시 값이 생성되면, 상기 제1 해시 값을 상기 제1 암호화키 생성 함수에 입력으로 인가하여 상기 제1 암호화키를 생성한 후 암호화된 상기 제1 웹 페이지의 본문 영역으로부터 수집된 웹 콘텐츠 데이터를 상기 제1 암호화키로 복호화한다.
이하에서는, 보안 코드 요청부(126), 복호화 추출부(127), 복호화 생성부(128) 및 복호화 처리부(129)의 동작을 예를 들어, 상세히 설명하기로 한다.
먼저, 전술한 예와 같이, t를 '5'라고 하고, k를 '6'이라고 하며, 정보 표시부(125)에 의해 화면 상에 상기 랜덤 번호인 '921230'이 표시되면서, '921230'이 암호화된 '부분 영역 2(202)'로부터 수집된 웹 콘텐츠 데이터의 복호화를 위한 보안 코드임을 지시하는 상기 안내 메시지가 함께 표시되었다고 가정하자.
그 이후, 사용자(130)에 의해, 암호화된 '부분 영역 2(202)'로부터 수집된 웹 콘텐츠 데이터에 대한 복호화 명령이 인가되었다고 하는 경우, 보안 코드 요청부(126)는 데이터의 복호화를 위한 보안 코드를 입력할 것을 요청하는 코드 입력 요청 메시지를 화면 상에 표시할 수 있다.
이때, 사용자(130)는 상기 코드 입력 요청 메시지에 대한 응답으로, 상기 랜덤 번호인 '921230'을 입력할 수 있다.
그러면, 복호화 추출부(127)는 '921230'을 피제수로, '5'를 제수로 하는 모듈로 연산을 수행함으로써, 상기 연산 값을 '0'과 같이 산출할 수 있고, 상기 표 2와 같은 암호화키 생성 함수 테이블로부터, '0'에 대응되는 '암호화키 생성 함수 1'을 추출할 수 있다.
그러고 나서, 복호화 생성부(128)는 '921230'을 상기 해시 함수에 입력으로 인가하여 '해시 값 1'을 생성할 수 있다.
그러면, 복호화 처리부(129)는 '해시 값 1'을 '암호화키 생성 함수 1'에 입력으로 인가하여 '암호화키 1'을 생성할 수 있고, 그 이후, 암호화된 '부분 영역 2(202)'로부터 수집된 웹 콘텐츠 데이터를, '암호화키 1'로 복호화할 수 있다.
도 3은 본 발명의 일실시예에 따른 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 웹 콘텐츠 크롤링 장치의 동작 방법을 도시한 순서도이다.
단계(S310)에서는 제1 웹 사이트를 구성하는 복수의 웹 페이지들 중 어느 하나인 제1 웹 페이지에 대한 웹 콘텐츠 데이터의 수집 이벤트가 발생하는 경우, 웹 브라우저를 통해 상기 제1 웹 페이지를 렌더링한다.
단계(S320)에서는 상기 웹 브라우저를 통해 상기 제1 웹 페이지가 렌더링되면, 렌더링된 상기 제1 웹 페이지를 구성하는 마크업 언어 코드를 파싱하여, 상기 제1 웹 페이지를 구성하는 복수의 부분 영역들의 크기를 확인한다.
단계(S330)에서는 상기 제1 웹 페이지를 구성하는 복수의 부분 영역들 중 최대의 크기를 갖는 부분 영역을 후보 본문 영역으로 지정한 후, 상기 후보 본문 영역의 상기 제1 웹 페이지 상에서의 배치 위치인 제1 위치를 확인한다.
단계(S340)에서는 상기 복수의 웹 페이지들 중 n(n은 2 이상의 자연수임)개의 웹 페이지들을 랜덤하게 선택하고, 상기 웹 브라우저를 통해 상기 n개의 웹 페이지들 각각을 렌더링한 후, 렌더링된 상기 n개의 웹 페이지들 각각의 마크업 언어 코드를 파싱하여, 상기 n개의 웹 페이지들 각각을 구성하는 복수의 부분 영역들의 크기를 확인한다.
단계(S350)에서는 상기 n개의 웹 페이지들 각각에 대해, 각 웹 페이지를 구성하는 복수의 부분 영역들 중 최대의 크기를 갖는 부분 영역을 기준 영역으로 지정함으로써, 상기 n개의 웹 페이지들 각각에 대응되는 기준 영역을 지정한 후, 상기 n개의 웹 페이지들 각각에 대응되는 기준 영역의 각 웹 페이지 상에서의 배치 위치를, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치로 확인한다.
단계(S360)에서는 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치가 상기 제1 위치와 매칭되는지 여부를 확인하여, 상기 n개의 웹 페이지들 중 사전 설정된 기준 개수 이상의 제2 웹 페이지들 각각에 대응되는 기준 위치가 상기 제1 위치와 매칭되는 것으로 확인되면, 상기 후보 본문 영역을 상기 제1 웹 페이지의 본문 영역인 것으로 결정한다.
단계(S370)에서는 상기 후보 본문 영역이 상기 제1 웹 페이지의 본문 영역인 것으로 결정되면, 상기 제1 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집한다.
이때, 본 발명의 일실시예에 따르면, 단계(S330)에서는 상기 후보 본문 영역을 구성하는 꼭짓점들 중 어느 하나인 기준 꼭짓점의 상기 제1 웹 페이지 상에서의 위치를, 상기 후보 본문 영역의 상기 제1 웹 페이지 상에서의 배치 위치인 상기 제1 위치로 확인할 수 있고, 단계(S350)에서는 상기 n개의 웹 페이지들 각각에 대응되는 기준 영역을 구성하는 꼭짓점들 중 상기 기준 꼭짓점과 대응되는 지점의 꼭짓점의 각 웹 페이지 상에서의 위치를, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치로 확인할 수 있으며, 단계(S360)에서는 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치와 상기 제1 위치를 서로 비교하여, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치와 상기 제1 위치 간의 이격 거리가 사전 설정된 기준 거리 이내인 것으로 확인되는 경우, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치가 상기 제1 위치와 매칭되는 것으로 확인할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 웹 콘텐츠 크롤링 장치의 동작 방법은 상기 후보 본문 영역이 상기 제1 웹 페이지의 본문 영역인 것으로 결정되면, 상기 제2 웹 페이지들 각각에 대응되는 기준 영역을 상기 제2 웹 페이지들 각각의 본문 영역으로 지정한 후 상기 제2 웹 페이지들 각각의 본문 영역에 대한 정보를 기록한 본문 영역 테이블을 생성하는 단계 및 상기 본문 영역 테이블이 생성된 이후, 상기 제2 웹 페이지들 중 어느 하나인 제3 웹 페이지에 대한 웹 콘텐츠 데이터의 수집 이벤트가 발생하는 경우, 상기 제3 웹 페이지의 본문 영역을 결정하기 위한 과정의 수행 없이, 상기 본문 영역 테이블을 참조하여 상기 본문 영역 테이블 상에 기록되어 있는 상기 제3 웹 페이지의 본문 영역에 대한 정보를 기초로, 상기 제3 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 단계를 더 포함할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 웹 콘텐츠 크롤링 장치의 동작 방법은 사전 설정된 t(t는 2 이상의 자연수임)개의 암호화키 생성 함수들과 각 암호화키 생성 함수에 대응되는 0 이상 t-1 이하의 서로 다른 정수가 대응되어 기록되어 있는 암호화키 생성 함수 테이블을 저장하여 유지하는 단계, 상기 제1 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터가 수집된 이후, 사용자에 의해, 상기 제1 웹 페이지의 본문 영역으로부터 수집된 웹 콘텐츠 데이터에 대한 암호화 명령이 인가되면, k(k는 자연수) 자릿수의 자연수로 구성된 랜덤 번호를 생성하는 단계, 상기 랜덤 번호가 생성되면, 상기 랜덤 번호를 피제수로, 상기 t를 제수로 하는 모듈로 연산을 수행함으로써, 연산 값을 산출하고, 상기 암호화키 생성 함수 테이블로부터 상기 연산 값에 대응되는 제1 암호화키 생성 함수를 추출하는 단계, 상기 랜덤 번호를 사전 설정된 해시 함수에 입력으로 인가하여 제1 해시 값을 생성하는 단계, 상기 제1 해시 값을 상기 제1 암호화키 생성 함수에 입력으로 인가하여 제1 암호화키를 생성한 후, 상기 제1 웹 페이지의 본문 영역으로부터 수집된 웹 콘텐츠 데이터를 상기 제1 암호화키로 암호화하는 단계 및 상기 제1 웹 페이지의 본문 영역으로부터 수집된 웹 콘텐츠 데이터가 상기 제1 암호화키로 암호화되면, 화면 상에 상기 랜덤 번호를 표시하면서, 상기 랜덤 번호가, 암호화된 상기 제1 웹 페이지의 본문 영역으로부터 수집된 웹 콘텐츠 데이터의 복호화를 위한 보안 코드임을 지시하는 안내 메시지를 함께 표시하는 단계를 더 포함할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 웹 콘텐츠 크롤링 장치의 동작 방법은 상기 랜덤 번호와 상기 안내 메시지가 화면 상에 표시된 이후, 상기 사용자에 의해, 암호화된 상기 제1 웹 페이지의 본문 영역으로부터 수집된 웹 콘텐츠 데이터에 대한 복호화 명령이 인가되면, 데이터의 복호화를 위한 보안 코드를 입력할 것을 요청하는 코드 입력 요청 메시지를 화면 상에 표시하는 단계, 상기 사용자에 의해, 상기 코드 입력 요청 메시지에 대한 응답으로 상기 랜덤 번호가 입력되면, 상기 랜덤 번호를 피제수로, 상기 t를 제수로 하는 모듈로 연산을 수행함으로써, 상기 연산 값을 산출한 후, 상기 암호화키 생성 함수 테이블로부터 상기 연산 값에 대응되는 상기 제1 암호화키 생성 함수를 추출하는 단계, 상기 랜덤 번호를 상기 해시 함수에 입력으로 인가하여 상기 제1 해시 값을 생성하는 단계 및 상기 제1 해시 값이 생성되면, 상기 제1 해시 값을 상기 제1 암호화키 생성 함수에 입력으로 인가하여 상기 제1 암호화키를 생성한 후 암호화된 상기 제1 웹 페이지의 본문 영역으로부터 수집된 웹 콘텐츠 데이터를 상기 제1 암호화키로 복호화하는 단계를 더 포함할 수 있다.
이상, 도 3을 참조하여 본 발명의 일실시예에 따른 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 웹 콘텐츠 크롤링 장치의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 웹 콘텐츠 크롤링 장치의 동작 방법은 도 1 내지 도 2를 이용하여 설명한 웹 콘텐츠 크롤링 장치(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.
본 발명의 일실시예에 따른 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 웹 콘텐츠 크롤링 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.
또한, 본 발명의 일실시예에 따른 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 웹 콘텐츠 크롤링 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
110: 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 웹 콘텐츠 크롤링 장치
111: 렌더링 처리부 112: 영역 확인부
113: 위치 확인부 114: 추가 영역 확인부
115: 추가 위치 확인부 116: 본문 영역 결정부
117: 데이터 수집부 118: 테이블 생성부
119: 데이터 신속 수집부 120: 테이블 유지부
121: 랜덤 번호 생성부 122: 함수 추출부
123: 해시 값 생성부 124: 암호화 처리부
125: 정보 표시부 126: 보안 코드 요청부
127: 복호화 추출부 128: 복호화 생성부
129: 복호화 처리부
130: 사용자

Claims (12)

  1. 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 웹 콘텐츠 크롤링 장치에 있어서,
    제1 웹 사이트를 구성하는 복수의 웹 페이지들 중 어느 하나인 제1 웹 페이지에 대한 웹 콘텐츠 데이터의 수집 이벤트가 발생하는 경우, 웹 브라우저를 통해 상기 제1 웹 페이지를 렌더링하는 렌더링 처리부;
    상기 웹 브라우저를 통해 상기 제1 웹 페이지가 렌더링되면, 렌더링된 상기 제1 웹 페이지를 구성하는 마크업 언어(markup language) 코드를 파싱(parsing)하여, 상기 제1 웹 페이지를 구성하는 복수의 부분 영역들의 크기를 확인하는 영역 확인부;
    상기 제1 웹 페이지를 구성하는 복수의 부분 영역들 중 최대의 크기를 갖는 부분 영역을 후보 본문 영역으로 지정한 후, 상기 후보 본문 영역의 상기 제1 웹 페이지 상에서의 배치 위치인 제1 위치를 확인하는 위치 확인부;
    상기 복수의 웹 페이지들 중 n(n은 2 이상의 자연수임)개의 웹 페이지들을 랜덤하게 선택하고, 상기 웹 브라우저를 통해 상기 n개의 웹 페이지들 각각을 렌더링한 후, 렌더링된 상기 n개의 웹 페이지들 각각의 마크업 언어 코드를 파싱하여, 상기 n개의 웹 페이지들 각각을 구성하는 복수의 부분 영역들의 크기를 확인하는 추가 영역 확인부;
    상기 n개의 웹 페이지들 각각에 대해, 각 웹 페이지를 구성하는 복수의 부분 영역들 중 최대의 크기를 갖는 부분 영역을 기준 영역으로 지정함으로써, 상기 n개의 웹 페이지들 각각에 대응되는 기준 영역을 지정한 후, 상기 n개의 웹 페이지들 각각에 대응되는 기준 영역의 각 웹 페이지 상에서의 배치 위치를, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치로 확인하는 추가 위치 확인부;
    상기 n개의 웹 페이지들 각각에 대응되는 기준 위치가 상기 제1 위치와 매칭되는지 여부를 확인하여, 상기 n개의 웹 페이지들 중 사전 설정된 기준 개수 이상의 제2 웹 페이지들 각각에 대응되는 기준 위치가 상기 제1 위치와 매칭되는 것으로 확인되면, 상기 후보 본문 영역을 상기 제1 웹 페이지의 본문 영역인 것으로 결정하는 본문 영역 결정부; 및
    상기 후보 본문 영역이 상기 제1 웹 페이지의 본문 영역인 것으로 결정되면, 상기 제1 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 데이터 수집부
    를 포함하는 웹 콘텐츠 크롤링 장치.
  2. 제1항에 있어서,
    상기 위치 확인부는
    상기 후보 본문 영역을 구성하는 꼭짓점들 중 어느 하나인 기준 꼭짓점의 상기 제1 웹 페이지 상에서의 위치를, 상기 후보 본문 영역의 상기 제1 웹 페이지 상에서의 배치 위치인 상기 제1 위치로 확인하고,
    상기 추가 위치 확인부는
    상기 n개의 웹 페이지들 각각에 대응되는 기준 영역을 구성하는 꼭짓점들 중 상기 기준 꼭짓점과 대응되는 지점의 꼭짓점의 각 웹 페이지 상에서의 위치를, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치로 확인하며,
    상기 본문 영역 결정부는
    상기 n개의 웹 페이지들 각각에 대응되는 기준 위치와 상기 제1 위치를 서로 비교하여, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치와 상기 제1 위치 간의 이격 거리가 사전 설정된 기준 거리 이내인 것으로 확인되는 경우, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치가 상기 제1 위치와 매칭되는 것으로 확인하는 것을 특징으로 하는 웹 콘텐츠 크롤링 장치.
  3. 제1항에 있어서,
    상기 후보 본문 영역이 상기 제1 웹 페이지의 본문 영역인 것으로 결정되면, 상기 제2 웹 페이지들 각각에 대응되는 기준 영역을 상기 제2 웹 페이지들 각각의 본문 영역으로 지정한 후 상기 제2 웹 페이지들 각각의 본문 영역에 대한 정보를 기록한 본문 영역 테이블을 생성하는 테이블 생성부; 및
    상기 본문 영역 테이블이 생성된 이후, 상기 제2 웹 페이지들 중 어느 하나인 제3 웹 페이지에 대한 웹 콘텐츠 데이터의 수집 이벤트가 발생하는 경우, 상기 제3 웹 페이지의 본문 영역을 결정하기 위한 과정의 수행 없이, 상기 본문 영역 테이블을 참조하여 상기 본문 영역 테이블 상에 기록되어 있는 상기 제3 웹 페이지의 본문 영역에 대한 정보를 기초로, 상기 제3 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 데이터 신속 수집부
    를 더 포함하는 웹 콘텐츠 크롤링 장치.
  4. 제1항에 있어서,
    사전 설정된 t(t는 2 이상의 자연수임)개의 암호화키 생성 함수들과 각 암호화키 생성 함수에 대응되는 0 이상 t-1 이하의 서로 다른 정수가 대응되어 기록되어 있는 암호화키 생성 함수 테이블을 저장하여 유지하는 테이블 유지부;
    상기 제1 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터가 수집된 이후, 사용자에 의해, 상기 제1 웹 페이지의 본문 영역으로부터 수집된 웹 콘텐츠 데이터에 대한 암호화 명령이 인가되면, k(k는 자연수) 자릿수의 자연수로 구성된 랜덤 번호를 생성하는 랜덤 번호 생성부;
    상기 랜덤 번호가 생성되면, 상기 랜덤 번호를 피제수로, 상기 t를 제수로 하는 모듈로(Modulo) 연산을 수행함으로써, 연산 값을 산출하고, 상기 암호화키 생성 함수 테이블로부터 상기 연산 값에 대응되는 제1 암호화키 생성 함수를 추출하는 함수 추출부;
    상기 랜덤 번호를 사전 설정된 해시 함수에 입력으로 인가하여 제1 해시 값을 생성하는 해시 값 생성부;
    상기 제1 해시 값을 상기 제1 암호화키 생성 함수에 입력으로 인가하여 제1 암호화키를 생성한 후, 상기 제1 웹 페이지의 본문 영역으로부터 수집된 웹 콘텐츠 데이터를 상기 제1 암호화키로 암호화하는 암호화 처리부; 및
    상기 제1 웹 페이지의 본문 영역으로부터 수집된 웹 콘텐츠 데이터가 상기 제1 암호화키로 암호화되면, 화면 상에 상기 랜덤 번호를 표시하면서, 상기 랜덤 번호가, 암호화된 상기 제1 웹 페이지의 본문 영역으로부터 수집된 웹 콘텐츠 데이터의 복호화를 위한 보안 코드임을 지시하는 안내 메시지를 함께 표시하는 정보 표시부
    를 더 포함하는 웹 콘텐츠 크롤링 장치.
  5. 제4항에 있어서,
    상기 랜덤 번호와 상기 안내 메시지가 화면 상에 표시된 이후, 상기 사용자에 의해, 암호화된 상기 제1 웹 페이지의 본문 영역으로부터 수집된 웹 콘텐츠 데이터에 대한 복호화 명령이 인가되면, 데이터의 복호화를 위한 보안 코드를 입력할 것을 요청하는 코드 입력 요청 메시지를 화면 상에 표시하는 보안 코드 요청부;
    상기 사용자에 의해, 상기 코드 입력 요청 메시지에 대한 응답으로 상기 랜덤 번호가 입력되면, 상기 랜덤 번호를 피제수로, 상기 t를 제수로 하는 모듈로 연산을 수행함으로써, 상기 연산 값을 산출한 후, 상기 암호화키 생성 함수 테이블로부터 상기 연산 값에 대응되는 상기 제1 암호화키 생성 함수를 추출하는 복호화 추출부;
    상기 랜덤 번호를 상기 해시 함수에 입력으로 인가하여 상기 제1 해시 값을 생성하는 복호화 생성부; 및
    상기 제1 해시 값이 생성되면, 상기 제1 해시 값을 상기 제1 암호화키 생성 함수에 입력으로 인가하여 상기 제1 암호화키를 생성한 후 암호화된 상기 제1 웹 페이지의 본문 영역으로부터 수집된 웹 콘텐츠 데이터를 상기 제1 암호화키로 복호화하는 복호화 처리부
    를 더 포함하는 웹 콘텐츠 크롤링 장치.
  6. 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 웹 콘텐츠 크롤링 장치의 동작 방법에 있어서,
    제1 웹 사이트를 구성하는 복수의 웹 페이지들 중 어느 하나인 제1 웹 페이지에 대한 웹 콘텐츠 데이터의 수집 이벤트가 발생하는 경우, 웹 브라우저를 통해 상기 제1 웹 페이지를 렌더링하는 단계;
    상기 웹 브라우저를 통해 상기 제1 웹 페이지가 렌더링되면, 렌더링된 상기 제1 웹 페이지를 구성하는 마크업 언어(markup language) 코드를 파싱(parsing)하여, 상기 제1 웹 페이지를 구성하는 복수의 부분 영역들의 크기를 확인하는 단계;
    상기 제1 웹 페이지를 구성하는 복수의 부분 영역들 중 최대의 크기를 갖는 부분 영역을 후보 본문 영역으로 지정한 후, 상기 후보 본문 영역의 상기 제1 웹 페이지 상에서의 배치 위치인 제1 위치를 확인하는 단계;
    상기 복수의 웹 페이지들 중 n(n은 2 이상의 자연수임)개의 웹 페이지들을 랜덤하게 선택하고, 상기 웹 브라우저를 통해 상기 n개의 웹 페이지들 각각을 렌더링한 후, 렌더링된 상기 n개의 웹 페이지들 각각의 마크업 언어 코드를 파싱하여, 상기 n개의 웹 페이지들 각각을 구성하는 복수의 부분 영역들의 크기를 확인하는 단계;
    상기 n개의 웹 페이지들 각각에 대해, 각 웹 페이지를 구성하는 복수의 부분 영역들 중 최대의 크기를 갖는 부분 영역을 기준 영역으로 지정함으로써, 상기 n개의 웹 페이지들 각각에 대응되는 기준 영역을 지정한 후, 상기 n개의 웹 페이지들 각각에 대응되는 기준 영역의 각 웹 페이지 상에서의 배치 위치를, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치로 확인하는 단계;
    상기 n개의 웹 페이지들 각각에 대응되는 기준 위치가 상기 제1 위치와 매칭되는지 여부를 확인하여, 상기 n개의 웹 페이지들 중 사전 설정된 기준 개수 이상의 제2 웹 페이지들 각각에 대응되는 기준 위치가 상기 제1 위치와 매칭되는 것으로 확인되면, 상기 후보 본문 영역을 상기 제1 웹 페이지의 본문 영역인 것으로 결정하는 단계; 및
    상기 후보 본문 영역이 상기 제1 웹 페이지의 본문 영역인 것으로 결정되면, 상기 제1 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 단계
    를 포함하는 웹 콘텐츠 크롤링 장치의 동작 방법.
  7. 제6항에 있어서,
    상기 제1 위치를 확인하는 단계는
    상기 후보 본문 영역을 구성하는 꼭짓점들 중 어느 하나인 기준 꼭짓점의 상기 제1 웹 페이지 상에서의 위치를, 상기 후보 본문 영역의 상기 제1 웹 페이지 상에서의 배치 위치인 상기 제1 위치로 확인하고,
    상기 n개의 웹 페이지들 각각에 대응되는 기준 위치로 확인하는 단계는
    상기 n개의 웹 페이지들 각각에 대응되는 기준 영역을 구성하는 꼭짓점들 중 상기 기준 꼭짓점과 대응되는 지점의 꼭짓점의 각 웹 페이지 상에서의 위치를, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치로 확인하며,
    상기 제1 웹 페이지의 본문 영역인 것으로 결정하는 단계는
    상기 n개의 웹 페이지들 각각에 대응되는 기준 위치와 상기 제1 위치를 서로 비교하여, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치와 상기 제1 위치 간의 이격 거리가 사전 설정된 기준 거리 이내인 것으로 확인되는 경우, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치가 상기 제1 위치와 매칭되는 것으로 확인하는 것을 특징으로 하는 웹 콘텐츠 크롤링 장치의 동작 방법.
  8. 제6항에 있어서,
    상기 후보 본문 영역이 상기 제1 웹 페이지의 본문 영역인 것으로 결정되면, 상기 제2 웹 페이지들 각각에 대응되는 기준 영역을 상기 제2 웹 페이지들 각각의 본문 영역으로 지정한 후 상기 제2 웹 페이지들 각각의 본문 영역에 대한 정보를 기록한 본문 영역 테이블을 생성하는 단계; 및
    상기 본문 영역 테이블이 생성된 이후, 상기 제2 웹 페이지들 중 어느 하나인 제3 웹 페이지에 대한 웹 콘텐츠 데이터의 수집 이벤트가 발생하는 경우, 상기 제3 웹 페이지의 본문 영역을 결정하기 위한 과정의 수행 없이, 상기 본문 영역 테이블을 참조하여 상기 본문 영역 테이블 상에 기록되어 있는 상기 제3 웹 페이지의 본문 영역에 대한 정보를 기초로, 상기 제3 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 단계
    를 더 포함하는 웹 콘텐츠 크롤링 장치의 동작 방법.
  9. 제6항에 있어서,
    사전 설정된 t(t는 2 이상의 자연수임)개의 암호화키 생성 함수들과 각 암호화키 생성 함수에 대응되는 0 이상 t-1 이하의 서로 다른 정수가 대응되어 기록되어 있는 암호화키 생성 함수 테이블을 저장하여 유지하는 단계;
    상기 제1 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터가 수집된 이후, 사용자에 의해, 상기 제1 웹 페이지의 본문 영역으로부터 수집된 웹 콘텐츠 데이터에 대한 암호화 명령이 인가되면, k(k는 자연수) 자릿수의 자연수로 구성된 랜덤 번호를 생성하는 단계;
    상기 랜덤 번호가 생성되면, 상기 랜덤 번호를 피제수로, 상기 t를 제수로 하는 모듈로(Modulo) 연산을 수행함으로써, 연산 값을 산출하고, 상기 암호화키 생성 함수 테이블로부터 상기 연산 값에 대응되는 제1 암호화키 생성 함수를 추출하는 단계;
    상기 랜덤 번호를 사전 설정된 해시 함수에 입력으로 인가하여 제1 해시 값을 생성하는 단계;
    상기 제1 해시 값을 상기 제1 암호화키 생성 함수에 입력으로 인가하여 제1 암호화키를 생성한 후, 상기 제1 웹 페이지의 본문 영역으로부터 수집된 웹 콘텐츠 데이터를 상기 제1 암호화키로 암호화하는 단계; 및
    상기 제1 웹 페이지의 본문 영역으로부터 수집된 웹 콘텐츠 데이터가 상기 제1 암호화키로 암호화되면, 화면 상에 상기 랜덤 번호를 표시하면서, 상기 랜덤 번호가, 암호화된 상기 제1 웹 페이지의 본문 영역으로부터 수집된 웹 콘텐츠 데이터의 복호화를 위한 보안 코드임을 지시하는 안내 메시지를 함께 표시하는 단계
    를 더 포함하는 웹 콘텐츠 크롤링 장치의 동작 방법.
  10. 제9항에 있어서,
    상기 랜덤 번호와 상기 안내 메시지가 화면 상에 표시된 이후, 상기 사용자에 의해, 암호화된 상기 제1 웹 페이지의 본문 영역으로부터 수집된 웹 콘텐츠 데이터에 대한 복호화 명령이 인가되면, 데이터의 복호화를 위한 보안 코드를 입력할 것을 요청하는 코드 입력 요청 메시지를 화면 상에 표시하는 단계;
    상기 사용자에 의해, 상기 코드 입력 요청 메시지에 대한 응답으로 상기 랜덤 번호가 입력되면, 상기 랜덤 번호를 피제수로, 상기 t를 제수로 하는 모듈로 연산을 수행함으로써, 상기 연산 값을 산출한 후, 상기 암호화키 생성 함수 테이블로부터 상기 연산 값에 대응되는 상기 제1 암호화키 생성 함수를 추출하는 단계;
    상기 랜덤 번호를 상기 해시 함수에 입력으로 인가하여 상기 제1 해시 값을 생성하는 단계; 및
    상기 제1 해시 값이 생성되면, 상기 제1 해시 값을 상기 제1 암호화키 생성 함수에 입력으로 인가하여 상기 제1 암호화키를 생성한 후 암호화된 상기 제1 웹 페이지의 본문 영역으로부터 수집된 웹 콘텐츠 데이터를 상기 제1 암호화키로 복호화하는 단계
    를 더 포함하는 웹 콘텐츠 크롤링 장치의 동작 방법.
  11. 제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
  12. 제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.
KR1020210050856A 2021-04-20 2021-04-20 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 웹 콘텐츠 크롤링 장치 및 그 동작 방법 KR102545264B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210050856A KR102545264B1 (ko) 2021-04-20 2021-04-20 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 웹 콘텐츠 크롤링 장치 및 그 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210050856A KR102545264B1 (ko) 2021-04-20 2021-04-20 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 웹 콘텐츠 크롤링 장치 및 그 동작 방법

Publications (2)

Publication Number Publication Date
KR20220144495A KR20220144495A (ko) 2022-10-27
KR102545264B1 true KR102545264B1 (ko) 2023-06-20

Family

ID=83810278

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210050856A KR102545264B1 (ko) 2021-04-20 2021-04-20 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 웹 콘텐츠 크롤링 장치 및 그 동작 방법

Country Status (1)

Country Link
KR (1) KR102545264B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190147005A1 (en) 2005-06-16 2019-05-16 The Nielsen Company (Us), Llc Extracting structured data from weblogs

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170094829A (ko) * 2016-02-12 2017-08-22 주식회사 영플러스소프트 본문 추출용 해시 키 데이터베이스 생성 방법, 이를 이용한 본문 추출 방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190147005A1 (en) 2005-06-16 2019-05-16 The Nielsen Company (Us), Llc Extracting structured data from weblogs

Also Published As

Publication number Publication date
KR20220144495A (ko) 2022-10-27

Similar Documents

Publication Publication Date Title
US8386793B2 (en) Method and apparatus for implementing electronic seal
CN110245469B (zh) 网页的水印生成方法、水印解析方法、装置及存储介质
CN105976005A (zh) 二维码加密方法、二维码生成设备和二维码扫描设备
KR102244290B1 (ko) 데이터 전송 장치와 데이터 수신 장치 간의 보안 통신을 지원하는 암호화 통신 장치 및 그 동작 방법
KR102545264B1 (ko) 웹 페이지의 본문 영역으로부터 웹 콘텐츠 데이터를 수집하는 웹 콘텐츠 크롤링 장치 및 그 동작 방법
KR102136656B1 (ko) 스프레드시트에 입력된 메모에 대한 조건부 보안 설정 처리가 가능한 전자 단말 장치 및 그 동작 방법
CN112597456A (zh) 数据库的水印添加与验证方法及装置
KR102417811B1 (ko) 개인 정보 보호 기능을 갖는 문서 번역 서비스를 제공하는 문서 번역 서비스 서버 및 그 동작 방법
KR102602174B1 (ko) 전자 문서에 개체로 삽입된 인장 이미지의 이상 여부에 대한 검증을 수행할 수 있는 인장 이미지 검증 서버 및 그 동작 방법
KR102658134B1 (ko) 식별 태그를 기초로 전자 문서에 대한 데이터베이스화 처리를 수행하는 전자 문서 관리 서버 및 그 동작 방법
KR20210050146A (ko) 입력된 문자를 기초로 전자 문서 상의 특정 위치에 특수문자의 삽입을 가능하게 하는 전자 문서 편집 장치 및 그 동작 방법
KR102466721B1 (ko) 전자 문서를 지식 데이터 문서로 변환하는 전자 장치 및 그 동작 방법
KR102613911B1 (ko) 문서 파일에 하이퍼링크로 삽입된 유해 사이트의 url 주소에 대한 접속을 방지할 수 있는 전자 단말 장치 및 그 동작 방법
KR102417814B1 (ko) 회원 식별 정보에 기반하여 전자 문서에 삽입된 일부 콘텐츠에 대한 보안 설정을 지원하는 전자 문서 관리 서버 및 그 동작 방법
CN115099200B (zh) 防篡改的文本处理方法、装置和计算机设备
WO2017130711A1 (ja) 電子サイン管理システム
KR102683141B1 (ko) Ui 설계안에 대한 이미지 분석을 통해 ui 컴포넌트 자동 생성 기능을 제공할 수 있는 ui 개발 툴이 탑재된 전자 단말 장치 및 그 동작 방법
KR102107436B1 (ko) 셀 데이터에 대한 모자이크 처리가 가능한 스프레드시트 구동 장치 및 그 동작 방법
KR20230115177A (ko) 마케팅을 위한 감정 분석 서비스를 제공하는 서비스 제공 서버 및 그 동작 방법
KR20230124216A (ko) 전자 문서에 대한 맞춤법 교정 서비스를 제공하는 맞춤법 교정 서비스 제공 서버 및 그 동작 방법
KR20240038318A (ko) 서명이 진본임을 검증하기 위한 검증용 서명 이미지를 생성하여 제공할 수 있는 검증용 서명 이미지 제공 서버 및 그 동작 방법
KR20240053927A (ko) 입력 필드의 셀 서식 정보를 기초로, 전자 문서에 대한 위변조 방지 처리를 수행할 수 있는 문서 폼 제공 서버 및 그 동작 방법
KR20230114845A (ko) 기계학습에 사용될 학습 데이터를 생성하기 위한 객체 라벨링을 지원하는 전자 장치 및 그 동작 방법
KR20230087127A (ko) 복수의 언어들로 동시에 설문 조사를 수행할 수 있도록 지원하는 설문 조사 서비스 서버 및 그 동작 방법
CN116383873A (zh) 网页内容显示方法和装置

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant