KR102602178B1 - Web contents crawling management server which supports efficient distributed crawling for a pluraliy of web sites and the operating method thereof - Google Patents

Web contents crawling management server which supports efficient distributed crawling for a pluraliy of web sites and the operating method thereof Download PDF

Info

Publication number
KR102602178B1
KR102602178B1 KR1020210050857A KR20210050857A KR102602178B1 KR 102602178 B1 KR102602178 B1 KR 102602178B1 KR 1020210050857 A KR1020210050857 A KR 1020210050857A KR 20210050857 A KR20210050857 A KR 20210050857A KR 102602178 B1 KR102602178 B1 KR 102602178B1
Authority
KR
South Korea
Prior art keywords
web
web page
body area
data collection
url
Prior art date
Application number
KR1020210050857A
Other languages
Korean (ko)
Other versions
KR20220144496A (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 KR1020210050857A priority Critical patent/KR102602178B1/en
Publication of KR20220144496A publication Critical patent/KR20220144496A/en
Application granted granted Critical
Publication of KR102602178B1 publication Critical patent/KR102602178B1/en

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/2282Tablespace storage structures; Management thereof
    • 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/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • 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
    • 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
    • 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/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • 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)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

복수의 웹 사이트들에 대한 효율적인 분산 크롤링을 지원하는 웹 콘텐츠 크롤링 관리 서버 및 그 동작 방법이 개시된다. 본 발명은 복수의 웹 사이트들로부터, 각 웹 사이트를 구성하는 하나 이상의 웹 페이지들의 URL을 모두 수집하여, 수집된 웹 페이지들의 URL을 복수의 데이터 수집 서버들에 라운드 로빈 방식으로 할당한 후, 상기 복수의 데이터 수집 서버들에 대해, 각 데이터 수집 서버에 할당된 URL의 웹 페이지에 접속하여 웹 콘텐츠 데이터를 수집할 것을 지시하는 작업 명령을 전송하는 웹 크롤링 관리 서버 및 그 동작 방법에 대한 것이다.A web content crawling management server that supports efficient distributed crawling of multiple web sites and a method of operating the same are disclosed. The present invention collects all URLs of one or more web pages constituting each website from a plurality of web sites, assigns the URLs of the collected web pages to a plurality of data collection servers in a round-robin manner, and The present invention relates to a web crawling management server that transmits a work command instructing to collect web content data by accessing a web page of a URL assigned to each data collection server for a plurality of data collection servers, and a method of operating the same.

Description

복수의 웹 사이트들에 대한 효율적인 분산 크롤링을 지원하는 웹 콘텐츠 크롤링 관리 서버 및 그 동작 방법{WEB CONTENTS CRAWLING MANAGEMENT SERVER WHICH SUPPORTS EFFICIENT DISTRIBUTED CRAWLING FOR A PLURALIY OF WEB SITES AND THE OPERATING METHOD THEREOF}Web content crawling management server that supports efficient distributed crawling of multiple websites and its operating method {WEB CONTENTS CRAWLING MANAGEMENT SERVER WHICH SUPPORTS EFFICIENT DISTRIBUTED CRAWLING FOR A PLURALIY OF WEB SITES AND THE OPERATING METHOD THEREOF}

본 발명은 복수의 웹 사이트들에 대한 효율적인 분산 크롤링을 지원하는 웹 콘텐츠 크롤링 관리 서버 및 그 동작 방법에 대한 것이다.The present invention relates to a web content crawling management server that supports efficient distributed crawling of multiple web sites and a method of operating the same.

웹 크롤링이란 웹 페이지로부터 데이터를 추출하기 위한 기술을 의미하는 것으로, 웹 페이지의 복사본을 생성하거나 웹 페이지 상의 데이터를 최신 상태로 유지하기 위해 활용된다. Web crawling refers to a technology for extracting data from web pages, and is used to create copies of web pages or keep data on web pages up to date.

관련해서, 웹 크롤링 기술을 활용하여 웹 페이지로부터 웹 콘텐츠 데이터를 수집하기 위한 기존의 데이터 수집 서버는 웹 사이트별로 웹 콘텐츠 데이터 수집 작업을 수행하도록 구성되어 있었다.In relation to this, the existing data collection server for collecting web content data from web pages using web crawling technology was configured to perform web content data collection for each website.

이로 인해, 기존의 데이터 수집 서버들을 통해 복수의 웹 사이트들에 대한 웹 콘텐츠 데이터 수집 작업을 동시에 수행하고자 하는 경우, 웹 사이트에 따라 웹 콘텐츠 데이터 수집 작업에 소요되는 시간이 다르기 때문에, 먼저 웹 콘텐츠 데이터 수집 작업을 완료한 데이터 수집 서버에 유휴 시간이 발생하여 효율적으로 웹 콘텐츠 데이터 수집 작업을 수행하기 어려운 경우가 많았다.For this reason, if you want to simultaneously perform web content data collection for multiple websites through existing data collection servers, the time required to collect web content data varies depending on the website, so first collect web content data. In many cases, it was difficult to efficiently collect web content data due to idle time occurring on the data collection server that had completed the collection task.

만약, 복수의 웹 사이트들에 대한 웹 콘텐츠 데이터 수집 작업을 동시에 수행할 때, 데이터 수집 서버들 각각에 웹 콘텐츠 데이터 수집 작업들을 적절하게 할당하는 기술이 도입된다면, 데이터 수집 서버들에서 발생할 수 있는 유휴 시간이 최소화될 수 있을 것이다. If a technology that appropriately allocates web content data collection tasks to each of the data collection servers is introduced when performing web content data collection tasks for multiple websites simultaneously, idle time that may occur in the data collection servers can be eliminated. Time can be minimized.

따라서, 데이터 수집 서버들이 보다 효율적으로 웹 콘텐츠 데이터 수집 작업을 수행할 수 있도록 지원하기 위해, 복수의 웹 사이트들에 대한 효율적인 분산 크롤링을 지원하는 기술에 대한 연구가 필요하다.Therefore, in order to support data collection servers to more efficiently perform web content data collection tasks, research is needed on technologies that support efficient distributed crawling of multiple websites.

본 발명은 복수의 웹 사이트들로부터, 각 웹 사이트를 구성하는 하나 이상의 웹 페이지들의 URL을 모두 수집하여, 웹 페이지들의 URL을 복수의 데이터 수집 서버들에 라운드 로빈 방식으로 할당한 후, 상기 복수의 데이터 수집 서버들에 대해, 각 데이터 수집 서버에 할당된 URL의 웹 페이지에 접속하여 웹 콘텐츠 데이터를 수집할 것을 지시하는 작업 명령을 전송하는 웹 크롤링 관리 서버 및 그 동작 방법을 제시함으로써, 상기 복수의 데이터 수집 서버들이 보다 효율적으로 웹 콘텐츠 데이터 수집 작업을 수행할 수 있도록 지원하고자 한다. The present invention collects all URLs of one or more web pages constituting each website from a plurality of web sites, assigns the URLs of the web pages to a plurality of data collection servers in a round-robin manner, and then For data collection servers, by presenting a web crawling management server and an operation method for transmitting a work command instructing to collect web content data by accessing a web page of a URL assigned to each data collection server, We aim to support data collection servers to perform web content data collection tasks more efficiently.

본 발명의 일실시예에 따른 복수의 웹 사이트들에 대한 효율적인 분산 크롤링을 지원하는 웹 콘텐츠 크롤링 관리 서버는 상기 복수의 웹 사이트들로부터, 각 웹 사이트를 구성하는 하나 이상의 웹 페이지들의 URL(Uniform Resource Locator)을 모두 수집함으로써, 복수의 웹 페이지들의 URL로 구성된 수집 데이터 셋(set)을 생성하는 URL 수집부, 상기 수집 데이터 셋에 포함되어 있는 상기 복수의 웹 페이지들 각각의 URL을 URL 큐(queue)에 저장하는 URL 저장 처리부, 상기 URL 큐에 저장되어 있는 상기 복수의 웹 페이지들 각각의 URL을, 상기 URL 큐에서의 저장 순서에 따라 순차적으로 추출하여 k(k는 2 이상의 자연수임)개의 데이터 수집 서버들에 라운드 로빈(round robin) 방식으로 할당하는 URL 할당부 및 상기 k개의 데이터 수집 서버들 각각에 대해, 각 데이터 수집 서버에 할당된 URL의 웹 페이지에 접속하여 웹 콘텐츠 데이터를 수집할 것을 지시하는 작업 명령을 전송하는 명령 전송부를 포함한다. A web content crawling management server that supports efficient distributed crawling of a plurality of web sites according to an embodiment of the present invention collects the URL (Uniform Resource) of one or more web pages constituting each web site from the plurality of web sites. A URL collection unit that generates a collection data set consisting of URLs of a plurality of web pages by collecting all locators, and a URL queue of each URL of the plurality of web pages included in the collection data set. ), a URL storage processing unit that stores the URLs of each of the plurality of web pages stored in the URL queue, sequentially extracting the URLs according to the storage order in the URL queue, and producing k (k is a natural number of 2 or more) pieces of data. A URL allocation unit that allocates to collection servers in a round robin manner, and for each of the k data collection servers, collects web content data by accessing a web page with a URL assigned to each data collection server. It includes a command transmission unit that transmits an instructing work command.

또한, 본 발명의 일실시예에 따른 복수의 웹 사이트들에 대한 효율적인 분산 크롤링을 지원하는 웹 콘텐츠 크롤링 관리 서버의 동작 방법은 상기 복수의 웹 사이트들로부터, 각 웹 사이트를 구성하는 하나 이상의 웹 페이지들의 URL을 모두 수집함으로써, 복수의 웹 페이지들의 URL로 구성된 수집 데이터 셋을 생성하는 단계, 상기 수집 데이터 셋에 포함되어 있는 상기 복수의 웹 페이지들 각각의 URL을 URL 큐에 저장하는 단계, 상기 URL 큐에 저장되어 있는 상기 복수의 웹 페이지들 각각의 URL을, 상기 URL 큐에서의 저장 순서에 따라 순차적으로 추출하여 k(k는 2 이상의 자연수임)개의 데이터 수집 서버들에 라운드 로빈 방식으로 할당하는 단계 및 상기 k개의 데이터 수집 서버들 각각에 대해, 각 데이터 수집 서버에 할당된 URL의 웹 페이지에 접속하여 웹 콘텐츠 데이터를 수집할 것을 지시하는 작업 명령을 전송하는 단계를 포함한다.In addition, a method of operating a web content crawling management server that supports efficient distributed crawling of a plurality of web sites according to an embodiment of the present invention includes selecting one or more web pages constituting each web site from the plurality of web sites. generating a collection data set consisting of the URLs of a plurality of web pages by collecting all the URLs of the plurality of web pages, storing the URLs of each of the plurality of web pages included in the collection data set in a URL queue, the URL The URL of each of the plurality of web pages stored in the queue is sequentially extracted according to the storage order in the URL queue and assigned to k (k is a natural number of 2 or more) data collection servers in a round-robin manner. and transmitting, to each of the k data collection servers, a work command instructing to collect web content data by accessing a web page of a URL assigned to each data collection server.

본 발명은 복수의 웹 사이트들로부터, 각 웹 사이트를 구성하는 하나 이상의 웹 페이지들의 URL을 모두 수집하여, 웹 페이지들의 URL을 복수의 데이터 수집 서버들에 라운드 로빈 방식으로 할당한 후, 상기 복수의 데이터 수집 서버들에 대해, 각 데이터 수집 서버에 할당된 URL의 웹 페이지에 접속하여 웹 콘텐츠 데이터를 수집할 것을 지시하는 작업 명령을 전송하는 웹 크롤링 관리 서버 및 그 동작 방법을 제시함으로써, 상기 복수의 데이터 수집 서버들이 보다 효율적으로 웹 콘텐츠 데이터 수집 작업을 수행할 수 있도록 지원할 수 있다.The present invention collects all URLs of one or more web pages constituting each website from a plurality of web sites, assigns the URLs of the web pages to a plurality of data collection servers in a round-robin manner, and then For data collection servers, by presenting a web crawling management server and an operation method for transmitting a work command instructing to collect web content data by accessing a web page of a URL assigned to each data collection server, It can support data collection servers to perform web content data collection tasks more efficiently.

도 1은 본 발명의 일실시예에 따른 복수의 웹 사이트들에 대한 효율적인 분산 크롤링을 지원하는 웹 콘텐츠 크롤링 관리 서버의 구조를 도시한 도면이다.
도 2 내지 도 3은 본 발명의 일실시예에 따른 복수의 웹 사이트들에 대한 효율적인 분산 크롤링을 지원하는 웹 콘텐츠 크롤링 관리 서버의 동작을 설명하기 위한 도면이다.
도 4는 본 발명의 일실시예에 따른 복수의 웹 사이트들에 대한 효율적인 분산 크롤링을 지원하는 웹 콘텐츠 크롤링 관리 서버의 동작 방법을 도시한 순서도이다.
Figure 1 is a diagram illustrating the structure of a web content crawling management server that supports efficient distributed crawling of a plurality of web sites according to an embodiment of the present invention.
2 and 3 are diagrams for explaining the operation of a web content crawling management server that supports efficient distributed crawling of a plurality of web sites according to an embodiment of the present invention.
Figure 4 is a flow chart illustrating a method of operating a web content crawling management server that supports efficient distributed crawling of a plurality of web sites according to an embodiment of the present invention.

이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the attached drawings. This description is not intended to limit the present invention to specific embodiments, but should be understood to include all changes, equivalents, and substitutes included in the spirit and technical scope of the present invention. In describing each drawing, similar reference numerals are used for similar components, and unless otherwise defined, all terms used in this specification, including technical or scientific terms, are within the scope of common knowledge in the technical field to which the present invention pertains. It has the same meaning as generally understood by those who have it.

본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다. In this document, when a part "includes" a certain component, this means that it may further include other components rather than excluding other components, unless specifically stated to the contrary. Additionally, in various embodiments of the present invention, each component, functional block, or means may be composed of one or more subcomponents, and the electrical, electronic, and mechanical functions performed by each component may be electronic. It may be implemented with various known elements or mechanical elements such as circuits, integrated circuits, and ASICs (Application Specific Integrated Circuits), and may be implemented separately or by integrating two or more into one.

한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.Meanwhile, the blocks in the attached block diagram or the steps in the flow chart are computer program instructions that are mounted on the processor or memory of equipment capable of data processing, such as general-purpose computers, special-purpose computers, portable laptop computers, and network computers, and perform designated functions. It can be interpreted to mean. Because these computer program instructions can be stored in a memory provided in a computer device or in a computer-readable memory, the functions described in the blocks of a block diagram or the steps of a flow diagram can be produced as a manufactured product containing instruction means to perform them. It could be. In addition, each block or each step may represent a module, segment, or portion of code that includes one or more executable instructions for executing specified logical function(s). Additionally, it should be noted that in some alternative embodiments, it is possible for functions mentioned in blocks or steps to be executed in a different order. For example, two blocks or steps shown in succession may be performed substantially simultaneously or in reverse order, and in some cases, some blocks or steps may be omitted.

도 1은 본 발명의 일실시예에 따른 복수의 웹 사이트들에 대한 효율적인 분산 크롤링을 지원하는 웹 콘텐츠 크롤링 관리 서버의 구조를 도시한 도면이다.Figure 1 is a diagram illustrating the structure of a web content crawling management server that supports efficient distributed crawling of a plurality of web sites according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일실시예에 따른 복수의 웹 사이트들에 대한 효율적인 분산 크롤링을 지원하는 웹 콘텐츠 크롤링 관리 서버는 URL 수집부(111), URL 저장 처리부(112), URL 할당부(113) 및 명령 전송부(114)를 포함한다.Referring to FIG. 1, a web content crawling management server that supports efficient distributed crawling of a plurality of web sites according to an embodiment of the present invention includes a URL collection unit 111, a URL storage processing unit 112, and a URL allocation unit. It includes (113) and a command transmission unit (114).

URL 수집부(111)는 상기 복수의 웹 사이트들로부터, 각 웹 사이트를 구성하는 하나 이상의 웹 페이지들의 URL(Uniform Resource Locator)을 모두 수집함으로써, 복수의 웹 페이지들의 URL로 구성된 수집 데이터 셋(set)을 생성한다. The URL collection unit 111 collects all URLs (Uniform Resource Locators) of one or more web pages constituting each website from the plurality of web sites, thereby creating a collection data set consisting of the URLs of a plurality of web pages. ) is created.

예컨대, 상기 복수의 웹 사이트들을 ‘웹 사이트 1, 웹 사이트 2, 웹 사이트 3’이라고 하고, 이때, ‘웹 사이트 1’은 ‘웹 페이지 1, 웹 페이지 2, 웹 페이지 3’으로 구성되어 있다고 하고, ‘웹 사이트 2’는 ‘웹 페이지 A, 웹 페이지 B, 웹 페이지 C, 웹 페이지 D, 웹 페이지 E’로 구성되어 있다고 하며, ‘웹 사이트 3’은 ‘웹 페이지 가, 웹 페이지 나’로 구성되어 있다고 가정하자. For example, the plurality of websites are referred to as ‘Website 1, Website 2, and Website 3’, and at this time, ‘Website 1’ is composed of ‘Webpage 1, Webpage 2, and Webpage 3’. , 'Website 2' is said to be composed of 'Webpage A, Webpage B, Webpage C, Webpage D, Webpage E', and 'Website 3' is composed of 'Webpage A, Webpage B'. Let's assume it is configured.

그러면, URL 수집부(111)는 ‘웹 사이트 1, 웹 사이트 2, 웹 사이트 3’으로부터, ‘웹 페이지 1, 웹 페이지 2, 웹 페이지 3, 웹 페이지 A, 웹 페이지 B, 웹 페이지 C, 웹 페이지 D, 웹 페이지 E, 웹 페이지 가, 웹 페이지 나’의 URL을 모두 수집함으로써, 하기의 표 1과 같은 복수의 웹 페이지들의 URL로 구성된 수집 데이터 셋을 생성할 수 있다. Then, the URL collection unit 111 collects information from ‘Website 1, Website 2, and Website 3’ to ‘Webpage 1, Webpage 2, Webpage 3, Webpage A, Webpage B, Webpage C, Web By collecting the URLs of page D, web page E, web page A, and web page B, a collection data set consisting of the URLs of a plurality of web pages as shown in Table 1 below can be created.

웹 사이트Website 웹 페이지web page 웹 페이지의 URLURL of the web page 웹 사이트 1website 1 웹 페이지 1web page 1 URL 1URL 1 웹 페이지 2web page 2 URL 2URL 2 웹 페이지 3web page 3 URL 3URL 3 웹 사이트 2website 2 웹 페이지 AWeb page A URL AURL A 웹 페이지 Bweb page B URL BURL B 웹 페이지 Cweb page C URL CURL C 웹 페이지 Dweb page D URL DURL D 웹 페이지 EWeb page E URL EURL E 웹 사이트 3website 3 웹 페이지 가web page URL 가URL is 웹 페이지 나web page URL 나URL me

URL 저장 처리부(112)는 상기 수집 데이터 셋에 포함되어 있는 상기 복수의 웹 페이지들 각각의 URL을 URL 큐(queue)에 저장한다. The URL storage processing unit 112 stores the URL of each of the plurality of web pages included in the collection data set in a URL queue.

이때, 본 발명의 일실시예에 따르면, URL 저장 처리부(112)는 상기 복수의 웹 페이지들 각각의 URL을 상기 URL 큐에 저장하기 위한 구체적인 구성으로, URL 그룹 생성부(115), 그룹 저장 순번 할당부(116) 및 저장 처리부(117)를 포함할 수 있다.At this time, according to one embodiment of the present invention, the URL storage processing unit 112 is a specific configuration for storing the URL of each of the plurality of web pages in the URL queue, and includes a URL group creation unit 115 and a group storage order number. It may include an allocation unit 116 and a storage processing unit 117.

URL 그룹 생성부(115)는 상기 복수의 웹 페이지들 각각의 URL을, 각 URL이 수집된 웹 사이트별로 그룹화함으로써, 상기 복수의 웹 사이트들 각각에 대응되는 URL 그룹을 생성한다. The URL group generator 115 groups the URLs of each of the plurality of web pages according to the website from which each URL was collected, thereby creating a URL group corresponding to each of the plurality of web sites.

그룹 저장 순번 할당부(116)는 상기 복수의 웹 사이트들 각각에 대응되는 URL 그룹에 대해, 각 URL 그룹 내에 포함되어 있는 URL들의 개수가 적은 순으로, 빠른 순번의 그룹 저장 순번을 할당한다. The group storage sequence number allocation unit 116 allocates a group storage sequence number with the earliest sequence to the URL group corresponding to each of the plurality of web sites in descending order of the number of URLs included in each URL group.

저장 처리부(117)는 상기 복수의 웹 페이지들 각각의 URL을, URL 그룹별로 구분하여, 각 URL 그룹에 할당되어 있는 그룹 저장 순번에 따라 순차적으로 상기 URL 큐에 저장하되, 동일한 URL 그룹 내에 포함되어 있는 URL들에 대해서는, 랜덤한 저장 순번으로 상기 URL 큐에 저장함으로써, 상기 복수의 웹 페이지들 각각의 URL을 상기 URL 큐에 저장한다. The storage processing unit 117 divides the URLs of each of the plurality of web pages into URL groups and sequentially stores them in the URL queue according to the group storage order assigned to each URL group, but is included in the same URL group. For existing URLs, the URLs of each of the plurality of web pages are stored in the URL queue by storing them in the URL queue in a random storage order.

이하에서는, URL 그룹 생성부(115), 그룹 저장 순번 할당부(116) 및 저장 처리부(117)의 동작을 예를 들어, 상세히 설명하기로 한다.Hereinafter, the operations of the URL group creation unit 115, the group storage order allocation unit 116, and the storage processing unit 117 will be described in detail using an example.

먼저, 전술한 예와 같이, URL 수집부(111)에 의해, 상기 표 1과 같은 수집 데이터 셋이 생성되었다고 가정하자.First, let us assume that, as in the above-described example, a collection data set as shown in Table 1 above is created by the URL collection unit 111.

그러면, URL 그룹 생성부(115)는 상기 표 1과 같은 수집 데이터 셋에 포함되어 있는 상기 복수의 웹 페이지들 각각의 URL을, 각 URL이 수집된 웹 사이트별로 그룹화함으로써, ‘웹 사이트 1, 웹 사이트 2, 웹 사이트 3’ 각각에 대응되는 URL 그룹을 하기의 표 2와 같이 생성할 수 있다. Then, the URL group creation unit 115 groups the URLs of each of the plurality of web pages included in the collected data set as shown in Table 1 by the website from which each URL was collected, thereby grouping them into 'Web site 1, Web URL groups corresponding to 'Site 2' and 'Website 3' can be created as shown in Table 2 below.

URL 그룹URL group 웹 사이트Website 웹 페이지의 URLURL of the web page URL 그룹 1URL group 1 웹 사이트 1website 1 URL 1URL 1 URL 2URL 2 URL 3URL 3 URL 그룹 2URL group 2 웹 사이트 2website 2 URL AURL A URL BURL B URL CURL C URL DURL D URL EURL E URL 그룹 3URL group 3 웹 사이트 3website 3 URL 가URL is URL 나URL me

그러면, 그룹 저장 순번 할당부(116)는 ‘URL 그룹 1, URL 그룹 2, URL 그룹 3’에 대해, 각 URL 그룹 내에 포함되어 있는 URL들의 개수가 적은 순으로, 빠른 순번의 그룹 저장 순번을 할당할 수 있다. Then, the group storage order allocation unit 116 assigns group storage order numbers to 'URL group 1, URL group 2, and URL group 3' in descending order of the number of URLs included in each URL group. can do.

관련해서, ‘URL 그룹 1, URL 그룹 2, URL 그룹 3’ 각각 내에 포함되어 있는 URL들의 개수는 ‘3개, 5개, 2개’이므로, 그룹 저장 순번 할당부(116)는 ‘URL 그룹 1, URL 그룹 2, URL 그룹 3’ 각각에 대해, 그룹 저장 순번을 ‘2번, 3번, 1번’과 같이 할당할 수 있다. In relation to this, the number of URLs included in each of 'URL group 1, URL group 2, and URL group 3' is '3, 5, and 2', so the group storage number allocation unit 116 is 'URL group 1'. , URL Group 2, and URL Group 3', the group storage order can be assigned as 'No. 2, No. 3, No. 1'.

그러고 나서, 저장 처리부(117)는 상기 표 1과 같은 상기 복수의 웹 페이지들 각각의 URL을, URL 그룹별로 구분하여, 각 URL 그룹에 할당되어 있는 그룹 저장 순번에 따라 순차적으로 상기 URL 큐에 저장하되, 동일한 URL 그룹 내에 포함되어 있는 URL들에 대해서는, 랜덤한 저장 순번으로 상기 URL 큐에 저장함으로써, 상기 복수의 웹 페이지들 각각의 URL을, 상기 URL 큐에 하기의 표 3과 같이 저장할 수 있다. Then, the storage processing unit 117 divides the URLs of each of the plurality of web pages as shown in Table 1 into URL groups and sequentially stores them in the URL queue according to the group storage order assigned to each URL group. However, for URLs included in the same URL group, the URLs of each of the plurality of web pages can be stored in the URL queue as shown in Table 3 below by storing them in the URL queue in a random storage order. .

그룹 저장 순번Group save order number URL 그룹URL group 웹 페이지의 URLURL of the web page 1One URL 그룹 3URL group 3 URL 나URL me URL 가URL is 22 URL 그룹 1URL group 1 URL 3URL 3 URL 1URL 1 URL 2URL 2 33 URL 그룹 2URL group 2 URL CURL C URL EURL E URL AURL A URL DURL D URL BURL B

이렇게, URL 저장 처리부(112)에 의해, 상기 복수의 웹 페이지들 각각의 URL이 상기 URL 큐에 저장되면, URL 할당부(113)는 상기 URL 큐에 저장되어 있는 상기 복수의 웹 페이지들 각각의 URL을, 상기 URL 큐에서의 저장 순서에 따라 순차적으로 추출하여 k(k는 2 이상의 자연수임)개의 데이터 수집 서버들(131, 132, 133)에 라운드 로빈(round robin) 방식으로 할당한다. In this way, when the URL of each of the plurality of web pages is stored in the URL queue by the URL storage processing unit 112, the URL allocation unit 113 stores each of the plurality of web pages stored in the URL queue. URLs are sequentially extracted according to the storage order in the URL queue and allocated to k (k is a natural number of 2 or more) data collection servers 131, 132, and 133 in a round robin manner.

명령 전송부(114)는 k개의 데이터 수집 서버들(131, 132, 133) 각각에 대해, 각 데이터 수집 서버에 할당된 URL의 웹 페이지에 접속하여 웹 콘텐츠 데이터를 수집할 것을 지시하는 작업 명령을 전송한다. The command transmission unit 114 provides a work command instructing each of the k data collection servers 131, 132, and 133 to collect web content data by accessing the web page of the URL assigned to each data collection server. send.

이하에서는, URL 할당부(113) 및 명령 전송부(114)의 동작을 예를 들어, 상세히 설명하기로 한다. Hereinafter, the operations of the URL allocation unit 113 and the command transmission unit 114 will be described in detail using an example.

먼저, k를 ‘3’이라고 하고, ‘3’개의 데이터 수집 서버들(131, 132, 133)을 ‘데이터 수집 서버 1(131), 데이터 수집 서버 2(132), 데이터 수집 서버 3(133)’이라고 하며, 전술한 예와 같이, 저장 처리부(117)에 의해, 복수의 웹 페이지들 각각의 URL이 상기 표 3과 같은 URL 큐에 저장되었다고 가정하자. First, let k be '3', and the '3' data collection servers (131, 132, 133) are 'data collection server 1 (131), data collection server 2 (132), and data collection server 3 (133). ', and let us assume that, as in the above-described example, the URL of each of the plurality of web pages is stored in the URL queue as shown in Table 3 above by the storage processing unit 117.

그러면, URL 할당부(113)는 상기 표 3과 같은 URL 큐에 저장되어 있는 상기 복수의 웹 페이지들 각각의 URL을, 상기 URL 큐에서의 저장 순서에 따라 순차적으로 추출하여 도 2에 도시된 그림과 같이, ‘데이터 수집 서버 1(131), 데이터 수집 서버 2(132), 데이터 수집 서버 3(133)’에 라운드 로빈 방식으로 할당할 수 있다.Then, the URL allocation unit 113 sequentially extracts the URLs of each of the plurality of web pages stored in the URL queue as shown in Table 3 according to the storage order in the URL queue, as shown in Figure 2. As shown, it can be assigned to 'data collection server 1 (131), data collection server 2 (132), and data collection server 3 (133)' in a round robin manner.

그러고 나서, 명령 전송부(114)는 ‘데이터 수집 서버 1(131), 데이터 수집 서버 2(132), 데이터 수집 서버 3(133)’ 각각에 대해, 각 데이터 수집 서버에 할당된 URL의 웹 페이지에 접속하여 웹 콘텐츠 데이터를 수집할 것을 지시하는 작업 명령을 전송할 수 있다. Then, the command transmission unit 114 sends a web page of the URL assigned to each data collection server for each of 'data collection server 1 (131), data collection server 2 (132), and data collection server 3 (133)'. You can connect to and send a work command instructing to collect web content data.

관련해서, 도 2에 도시된 그림에서는, ‘데이터 수집 서버 1(131)’에 ‘URL 나, URL 1, URL E, URL B’가 할당되었고, ‘데이터 수집 서버 2(132)’에 ‘URL 가, URL 2, URL A’가 할당되었으며, ‘데이터 수집 서버 3(133)’에 ‘URL 3, URL C, URL D’가 할당되었으므로, 명령 전송부(114)는 ‘데이터 수집 서버 1(131)’로 ‘웹 페이지 나, 웹 페이지 1, 웹 페이지 E, 웹 페이지 B’에 대한 작업 명령을 전송할 수 있고, ‘데이터 수집 서버 2(132)’로 ‘웹 페이지 가, 웹 페이지 2, 웹 페이지 A’에 대한 작업 명령을 전송할 수 있으며, ‘데이터 수집 서버 3(133)’으로 ‘웹 페이지 3, 웹 페이지 C, 웹 페이지 D’에 대한 작업 명령을 전송할 수 있다. Relatedly, in the picture shown in FIG. 2, 'URL B, URL 1, URL E, URL B' is assigned to 'data collection server 1 (131)', and 'URL B' is assigned to 'data collection server 2 (132)'. A, URL 2, URL A' are assigned, and 'URL 3, URL C, URL D' is assigned to 'data collection server 3 (133)', so the command transmission unit 114 is assigned to 'data collection server 1 (131). )' to 'Web Page I, Web Page 1, Web Page E, Web Page B', and to 'Data Collection Server 2 (132)' to 'Web Page A, Web Page 2, Web Page B'. A work order for 'A' can be transmitted, and a work order for 'web page 3, web page C, web page D' can be sent to 'data collection server 3 (133)'.

즉, 웹 콘텐츠 크롤링 관리 서버(110)는 상기 복수의 웹 사이트들로부터, 각 웹 사이트를 구성하는 하나 이상의 웹 페이지들의 URL을 모두 수집하여, 상기 복수의 웹 페이지들 각각의 URL을 k개의 데이터 수집 서버들(131, 132, 133)에 라운드 로빈 방식으로 할당한 후, k개의 데이터 수집 서버들(131, 132, 133)에 대해, 각 데이터 수집 서버에 할당된 URL의 웹 페이지에 접속하여 웹 콘텐츠 데이터를 수집할 것을 지시하는 작업 명령을 전송할 수 있다. That is, the web content crawling management server 110 collects all URLs of one or more web pages constituting each web site from the plurality of web sites, and collects k data for each URL of the plurality of web pages. After allocating to the servers 131, 132, and 133 in a round-robin manner, for the k data collection servers 131, 132, and 133, access the web page of the URL assigned to each data collection server to view web content. A task command can be sent that instructs data to be collected.

본 발명의 일실시예에 따르면, 웹 콘텐츠 크롤링 관리 서버(110)는 요청 수신부(118) 및 정보 전송부(119)를 더 포함할 수 있다.According to one embodiment of the present invention, the web content crawling management server 110 may further include a request receiving unit 118 and an information transmitting unit 119.

요청 수신부(118)는 명령 전송부(114)에 의해, k개의 데이터 수집 서버들(131, 132, 133) 각각으로 상기 작업 명령이 전송된 이후, k개의 데이터 수집 서버들(131, 132, 133)에서, 상기 복수의 웹 페이지들 중 어느 하나의 웹 페이지에 대한 웹 콘텐츠 데이터 수집 작업이 시작될 때마다, k개의 데이터 수집 서버들(131, 132, 133)로부터, 웹 콘텐츠 데이터 수집을 위한 웹 페이지의 본문 영역에 대한 정보의 전송 요청을 수신한다. After the work command is transmitted to each of the k data collection servers 131, 132, and 133 by the command transmission unit 114, the request receiving unit 118 operates the k data collection servers 131, 132, 133. ), whenever a web content data collection task for any one of the plurality of web pages is started, a web page for web content data collection is generated from the k data collection servers 131, 132, 133. Receives a request to transmit information about the body area.

예컨대, 전술한 예와 같이, 명령 전송부(114)에 의해, ‘데이터 수집 서버 1(131), 데이터 수집 서버 2(132), 데이터 수집 서버 3(133)’ 각각으로 상기 작업 명령이 전송되었다고 하고, 그 이후, ‘데이터 수집 서버 1(131)’에서 ‘웹 페이지 E’에 대한 웹 콘텐츠 데이터 수집 작업이 시작되었다고 하는 경우, 요청 수신부(118)는 ‘데이터 수집 서버 1(131)’로부터 ‘웹 페이지 E’에 대한 정보 요청을 수신할 수 있다. For example, as in the above-described example, the work command is transmitted to each of 'data collection server 1 (131), data collection server 2 (132), and data collection server 3 (133)' by the command transmission unit 114. And after that, when it is said that the web content data collection for 'web page E' has started in 'data collection server 1 (131)', the request receiver 118 receives 'data collection server 1 (131)'. A request for information about web page E' may be received.

이렇게, k개의 데이터 수집 서버들(131, 132, 133) 중 어느 하나인 제1 데이터 수집 서버에서, 상기 복수의 웹 페이지들 중 어느 하나인 제1 웹 페이지에 대한 웹 콘텐츠 데이터 수집 작업이 시작됨에 따라, 상기 제1 데이터 수집 서버로부터, 상기 제1 웹 페이지의 본문 영역에 대한 정보의 전송 요청이 수신되면, 정보 전송부(119)는 상기 제1 웹 페이지의 본문 영역에 대한 정보를 확인한 후, 상기 제1 웹 페이지의 본문 영역에 대한 정보를 상기 제1 데이터 수집 서버로 전송한다. In this way, in the first data collection server, which is one of the k data collection servers 131, 132, and 133, the web content data collection operation for the first web page, which is one of the plurality of web pages, is started. Accordingly, when a request to transmit information about the body area of the first web page is received from the first data collection server, the information transmission unit 119 checks the information about the body area of the first web page and then, Information about the body area of the first web page is transmitted to the first data collection server.

이때, 본 발명의 일실시예에 따르면, 정보 전송부(119)는 상기 제1 웹 페이지의 본문 영역에 대한 정보를 확인한 후, 상기 제1 웹 페이지의 본문 영역에 대한 정보를 상기 제1 데이터 수집 서버로 전송하기 위한 구체적인 구성으로, 이벤트 발생부(120), 영역 확인부(121), 위치 확인부(122), 추가 영역 확인부(123), 추가 위치 확인부(124), 본문 영역 결정부(125) 및 전송 처리부(126)를 포함할 수 있다.At this time, according to one embodiment of the present invention, the information transmission unit 119 checks the information about the body area of the first web page and then collects the first data by collecting information about the body area of the first web page. The specific configuration for transmission to the server includes an event generation unit 120, an area confirmation unit 121, a location confirmation unit 122, an additional area confirmation unit 123, an additional location confirmation unit 124, and a body area determination unit. It may include (125) and a transmission processing unit (126).

이벤트 발생부(120)는 상기 제1 데이터 수집 서버에서 상기 제1 웹 페이지에 대한 웹 콘텐츠 데이터 수집 작업이 시작됨에 따라, 상기 제1 데이터 수집 서버로부터, 상기 제1 웹 페이지의 본문 영역에 대한 정보의 전송 요청이 수신되면, 상기 제1 웹 페이지의 본문 영역을 확인하기 위한 본문 영역 확인 이벤트를 발생시킨다.As the first data collection server starts collecting web content data for the first web page, the event generator 120 receives information about the body area of the first web page from the first data collection server. When a transmission request is received, a body area confirmation event is generated to check the body area of the first web page.

영역 확인부(121)는 이벤트 발생부(120)에 의해 상기 본문 영역 확인 이벤트가 발생되면, 웹 브라우저를 통해 상기 제1 웹 페이지를 렌더링한 후, 렌더링된 상기 제1 웹 페이지를 구성하는 마크업 언어(markup language) 코드를 파싱(parsing)하여, 상기 제1 웹 페이지를 구성하는 복수의 부분 영역들의 크기를 확인한다. When the body area confirmation event is generated by the event generation unit 120, the area confirmation unit 121 renders the first web page through a web browser and then prints the markup that constitutes the rendered first web page. By parsing the markup language code, the sizes of a plurality of partial areas constituting the first web page are confirmed.

이하에서는, 이벤트 발생부(120) 및 영역 확인부(121)의 동작을 예를 들어, 상세히 설명하기로 한다. Hereinafter, the operations of the event generation unit 120 and the area confirmation unit 121 will be described in detail using an example.

먼저, 전술한 예와 같이, ‘데이터 수집 서버 1(131)’에서 ‘웹 페이지 E’에 대한 웹 콘텐츠 데이터 수집 작업이 시작됨에 따라, 요청 수신부(118)를 통해, ‘데이터 수집 서버 1(131)’로부터 ‘웹 페이지 E’에 대한 정보 요청이 수신되었다고 가정하자. First, as in the above-mentioned example, as the web content data collection task for 'web page E' begins in 'data collection server 1 (131)', 'data collection server 1 (131)' Let's assume that a request for information about 'web page E' is received from ')'.

그러면, 이벤트 발생부(120)는 ‘웹 페이지 E’의 본문 영역을 확인하기 위한 본문 영역 확인 이벤트를 발생시킬 수 있다.Then, the event generator 120 may generate a body area confirmation event to check the body area of ‘web page E’.

이렇게, 이벤트 발생부(120)에 의해, ‘웹 페이지 E’에 대한 본문 영역 확인 이벤트가 발생되면, 영역 확인부(121)는 웹 브라우저를 통해 ‘웹 페이지 E’를 렌더링한 후, 렌더링된 ‘웹 페이지 E’를 구성하는 마크업 언어 코드를 파싱하여, ‘웹 페이지 E’를 구성하는 복수의 부분 영역들의 크기를 확인할 수 있다. In this way, when a body area confirmation event for 'web page E' is generated by the event generation unit 120, the area confirmation unit 121 renders 'web page E' through a web browser and then renders the 'web page E'. By parsing the markup language code constituting 'web page E', the sizes of a plurality of partial areas constituting 'web page E' can be confirmed.

이와 관련해서, ‘웹 페이지 E’가 도 3의 도면부호 200으로 표시된 그림과 같다고 하는 경우, ‘웹 페이지 E(200)’는 ‘부분 영역 1(201), 부분 영역 2(202), 부분 영역 3(203), 부분 영역 4(204)’로 구성되어 있으므로, 영역 확인부(121)는 ‘부분 영역 1(201), 부분 영역 2(202), 부분 영역 3(203), 부분 영역 4(204)’의 크기를 확인할 수 있다. In this regard, if 'web page E' is the same as the picture indicated by reference numeral 200 in FIG. 3, 'web page E (200)' is 'partial area 1 (201), partial area 2 (202), partial area. Since it is composed of ‘partial area 3 (203)’ and partial area 4 (204), the area confirmation unit 121 includes ‘partial area 1 (201), partial area 2 (202), partial area 3 (203), and partial area 4 ( You can check the size of '204)'.

이렇게, 영역 확인부(121)에 의해, 상기 제1 웹 페이지를 구성하는 복수의 부분 영역들의 크기가 확인되면, 위치 확인부(122)는 상기 제1 웹 페이지를 구성하는 복수의 부분 영역들 중 최대의 크기를 갖는 부분 영역을 후보 본문 영역으로 지정한 후, 상기 후보 본문 영역의 상기 제1 웹 페이지 상에서의 배치 위치인 제1 위치를 확인한다.In this way, when the size of the plurality of partial areas constituting the first web page is confirmed by the area confirmation unit 121, the position confirmation unit 122 determines the size of the plurality of partial areas constituting the first web page. After designating the partial area with the maximum size as the candidate body area, the first position, which is the placement position of the candidate body area on the first web page, is confirmed.

이때, 본 발명의 일실시예에 따르면, 영역 확인부(121)는 상기 후보 본문 영역을 구성하는 꼭짓점들 중 어느 하나인 기준 꼭짓점의 상기 제1 웹 페이지 상에서의 위치를, 상기 후보 본문 영역의 상기 제1 웹 페이지 상에서의 배치 위치인 상기 제1 위치로 확인할 수 있다. At this time, according to one embodiment of the present invention, the area confirmation unit 121 determines the location of a reference vertex, which is one of the vertices constituting the candidate body area, on the first web page, It can be confirmed by the first location, which is the placement location on the first web page.

예컨대, 전술한 예에 따라, 영역 확인부(121)에 의해, ‘부분 영역 1(201), 부분 영역 2(202), 부분 영역 3(203), 부분 영역 4(204)’의 크기가 확인되었다고 하고, ‘부분 영역 1(201), 부분 영역 2(202), 부분 영역 3(203), 부분 영역 4(204)’ 중 최대의 크기를 갖는 부분 영역이 ‘부분 영역 2(202)’이라고 가정하자. For example, according to the above-described example, the sizes of ‘partial area 1 (201), partial area 2 (202), partial area 3 (203), and partial area 4 (204)’ are confirmed by the area confirmation unit 121. It is said that among 'partial area 1 (201), partial area 2 (202), partial area 3 (203), and partial area 4 (204)', the partial area with the largest size is called 'partial area 2 (202)'. Let's assume.

그러면, 위치 확인부(122)는 ‘부분 영역 2(202)’를 후보 본문 영역으로 지정할 수 있다. Then, the location confirmation unit 122 can designate ‘partial area 2 202’ as the candidate body area.

이때, ‘부분 영역 2(202)’를 구성하는 꼭짓점들(211, 212, 213, 214) 중 좌측 상단 지점의 꼭짓점(211)을 기준 꼭짓점이라고 하는 경우, 위치 확인부(122)는 기준 꼭짓점(211)의 ‘웹 페이지 E(200)’ 상에서의 위치(211)를, ‘부분 영역 2(202)’의 ‘웹 페이지 E(200)’ 상에서의 배치 위치인 상기 제1 위치로 확인할 수 있다.At this time, when the vertex 211 at the upper left point among the vertices 211, 212, 213, and 214 constituting 'partial area 2 (202)' is called the reference vertex, the location confirmation unit 122 determines the reference vertex ( The position 211 on the 'web page E (200)' can be confirmed as the first position, which is the placement position on the 'web page E (200)' of 'partial area 2 (202)'.

이렇게, 위치 확인부(122)에 의해 상기 제1 위치가 확인되면, 추가 영역 확인부(123)는 상기 제1 웹 페이지를 포함하는 웹 사이트인 제1 웹 사이트를 구성하는 복수의 제2 웹 페이지들로부터, n(n은 2 이상의 자연수임)개의 웹 페이지들을 랜덤하게 선택하고, 상기 웹 브라우저를 통해 상기 n개의 웹 페이지들 각각을 렌더링한 후, 렌더링된 상기 n개의 웹 페이지들 각각의 마크업 언어 코드를 파싱하여, 상기 n개의 웹 페이지들 각각을 구성하는 복수의 부분 영역들의 크기를 확인한다. In this way, when the first location is confirmed by the location confirmation unit 122, the additional area confirmation unit 123 selects a plurality of second web pages constituting the first website, which is a website including the first web page. , randomly select n web pages (n is a natural number of 2 or more), render each of the n web pages through the web browser, and then markup each of the n rendered web pages. By parsing the language code, the size of a plurality of partial areas constituting each of the n web pages is confirmed.

예컨대, n을 ‘3’이라고 하고, 전술한 예와 같이, 위치 확인부(122)에 의해, 제1 위치(211)가 확인되었다고 가정하자. For example, let n be ‘3’ and assume that the first position 211 is confirmed by the position confirmation unit 122, as in the above-described example.

이때, 전술한 예에 따르면, ‘웹 페이지 E(200)’를 포함하는 웹 사이트는 ‘웹 사이트 2’이고, ‘웹 사이트 2’는 ‘웹 페이지 A, 웹 페이지 B, 웹 페이지 C, 웹 페이지 D, 웹 페이지 E’로 구성되어 있으므로, 추가 영역 확인부(123)는 ‘웹 페이지 A, 웹 페이지 B, 웹 페이지 C, 웹 페이지 D, 웹 페이지 E’로부터, ‘3개’의 웹 페이지들을 랜덤하게 선택할 수 있다.At this time, according to the above-mentioned example, the website including 'webpage E (200)' is 'website 2', and 'website 2' is 'webpage A, webpage B, webpage C, webpage D, web page E', the additional area confirmation unit 123 selects 'three' web pages from 'web page A, web page B, web page C, web page D, web page E'. You can choose randomly.

이와 관련해서, 추가 영역 확인부(123)에 의해 랜덤하게 선택된 ‘3개’의 웹 페이지들이 ‘웹 페이지 A, 웹 페이지 B, 웹 페이지 D’라고 하는 경우, 추가 영역 확인부(123)는 상기 웹 브라우저를 통해 ‘웹 페이지 A, 웹 페이지 B, 웹 페이지 D’ 각각을 렌더링한 후, 렌더링된 ‘웹 페이지 A, 웹 페이지 B, 웹 페이지 D’ 각각의 마크업 언어 코드를 파싱하여, ‘웹 페이지 A, 웹 페이지 B, 웹 페이지 D’ 각각을 구성하는 복수의 부분 영역들의 크기를 확인할 수 있다. In this regard, if the 'three' web pages randomly selected by the additional area confirmation unit 123 are 'web page A, web page B, and web page D', the additional area confirmation unit 123 After rendering each of 'Web Page A, Web Page B, and Web Page D' through a web browser, the markup language code of each rendered 'Web Page A, Web Page B, and Web Page D' is parsed, You can check the sizes of the plurality of partial areas that make up each of page A, web page B, and web page D'.

이렇게, 추가 영역 확인부(123)에 의해, 상기 n개의 웹 페이지들 각각을 구성하는 복수의 부분 영역들의 크기가 확인되면, 추가 위치 확인부(124)는 상기 n개의 웹 페이지들 각각에 대해, 각 웹 페이지를 구성하는 복수의 부분 영역들 중 최대의 크기를 갖는 부분 영역을 기준 영역으로 지정함으로써, 상기 n개의 웹 페이지들 각각에 대응되는 기준 영역을 지정한 후, 상기 n개의 웹 페이지들 각각에 대응되는 기준 영역의 각 웹 페이지 상에서의 배치 위치를, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치로 확인한다. In this way, when the size of the plurality of partial areas constituting each of the n web pages is confirmed by the additional area confirmation unit 123, the additional location confirmation unit 124 for each of the n web pages, By designating the partial area with the largest size among the plurality of partial areas constituting each web page as the reference area, a reference area corresponding to each of the n web pages is designated, and then The arrangement position on each web page of the corresponding reference area is confirmed as the reference position corresponding to each of the n web pages.

이때, 본 발명의 일실시예에 따르면, 추가 위치 확인부(124)는 상기 n개의 웹 페이지들 각각에 대응되는 기준 영역을 구성하는 꼭짓점들 중 상기 기준 꼭짓점과 대응되는 지점의 꼭짓점의 각 웹 페이지 상에서의 위치를, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치로 확인할 수 있다.At this time, according to one embodiment of the present invention, the additional location confirmation unit 124 determines each web page of the vertex of the point corresponding to the reference vertex among the vertices constituting the reference area corresponding to each of the n web pages. The position on the screen can be confirmed as a reference position corresponding to each of the n web pages.

예컨대, 전술한 예에 따라, 추가 영역 확인부(123)에 의해, ‘웹 페이지 A, 웹 페이지 B, 웹 페이지 D’ 각각을 구성하는 복수의 부분 영역들의 크기가 확인되었다고 가정하자. For example, according to the above-described example, assume that the sizes of a plurality of partial regions constituting each of ‘web page A, web page B, and web page D’ have been confirmed by the additional region confirmation unit 123.

그러면, 추가 위치 확인부(124)는 ‘웹 페이지 A, 웹 페이지 B, 웹 페이지 D’ 각각에 대해, 각 웹 페이지를 구성하는 복수의 부분 영역들 중 최대의 크기를 갖는 부분 영역을 기준 영역으로 지정함으로써, ‘웹 페이지 A, 웹 페이지 B, 웹 페이지 D’ 각각에 대응되는 기준 영역을 지정할 수 있다. Then, the additional location confirmation unit 124 uses the partial area with the largest size among the plurality of partial areas constituting each web page for each of 'web page A, web page B, and web page D' as the reference area. By designating, the reference areas corresponding to each of 'web page A, web page B, and web page D' can be designated.

관련해서, ‘웹 페이지 A’를 구성하는 복수의 부분 영역들 중 최대의 크기를 갖는 부분 영역을 ‘부분 영역 5’라고 하는 경우, 추가 위치 확인부(124)는 ‘부분 영역 5’를 ‘웹 페이지 A’에 대응되는 기준 영역으로 지정할 수 있다. In relation to this, when the partial area with the largest size among the plurality of partial areas constituting 'web page A' is called 'partial area 5', the additional location confirmation unit 124 selects 'partial area 5' as 'web page A'. It can be designated as a reference area corresponding to page A'.

이러한 방식으로, 추가 위치 확인부(124)는 ‘웹 페이지 A, 웹 페이지 B, 웹 페이지 D’ 각각에 대응되는 기준 영역을 ‘부분 영역 5, 부분 영역 6, 부분 영역 7’과 같이 지정할 수 있다. In this way, the additional location confirmation unit 124 can designate reference areas corresponding to each of 'web page A, web page B, and web page D', such as 'partial area 5, partial area 6, partial area 7'. .

이때, 전술한 예에 따르면, 상기 기준 꼭짓점(211)은 ‘부분 영역 2(202)’를 구성하는 꼭짓점들(211, 212, 213, 214) 중 좌측 상단 지점의 꼭짓점이므로, 추가 위치 확인부(124)는 ‘부분 영역 5, 부분 영역 6, 부분 영역 7’을 구성하는 꼭짓점들 중 좌측 상단 지점의 꼭짓점의 각 웹 페이지 상에서의 위치를, ‘웹 페이지 A, 웹 페이지 B, 웹 페이지 D’ 각각에 대응되는 기준 위치로 확인할 수 있다.At this time, according to the above-described example, the reference vertex 211 is the vertex of the upper left point among the vertices 211, 212, 213, and 214 constituting 'partial area 2 202', so an additional location confirmation unit ( 124) shows the location of the vertex of the upper left point among the vertices constituting 'partial area 5, partial area 6, and partial area 7' on each web page, 'webpage A, webpage B, and webpage D' respectively. It can be confirmed by the reference position corresponding to .

관련해서, ‘웹 페이지 A’에 대응되는 기준 영역은 ‘부분 영역 5’이므로, 추가 위치 확인부(124)는 ‘부분 영역 5’를 구성하는 꼭짓점들 중 좌측 상단 지점의 꼭짓점의 ‘웹 페이지 A’ 상에서의 위치를, ‘웹 페이지 A’에 대응되는 기준 위치로 확인할 수 있다. In relation to this, the reference area corresponding to 'web page A' is 'partial area 5', so the additional location confirmation unit 124 detects 'web page A' of the vertex at the upper left point among the vertices constituting 'partial area 5'. 'The position on the screen can be confirmed as the reference position corresponding to 'Web Page A'.

이러한 방식으로, 추가 위치 확인부(124)는 ‘웹 페이지 A, 웹 페이지 B, 웹 페이지 D’ 각각에 대응되는 기준 위치를 확인할 수 있다.In this way, the additional location confirmation unit 124 can confirm the reference positions corresponding to each of ‘web page A, web page B, and web page D’.

이렇게, 추가 위치 확인부(124)에 의해, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치가 확인되면, 본문 영역 결정부(125)는 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치가 상기 제1 위치와 매칭되는지 여부를 확인하여, 상기 n개의 웹 페이지들 중 사전 설정된 기준 개수 이상의 제3 웹 페이지들 각각에 대응되는 기준 위치가 상기 제1 위치와 매칭되는 것으로 확인되면, 상기 후보 본문 영역을 상기 제1 웹 페이지의 본문 영역인 것으로 결정한다. In this way, when the reference position corresponding to each of the n web pages is confirmed by the additional location confirmation unit 124, the body area determination unit 125 determines the reference position corresponding to each of the n web pages. By checking whether it matches the first location, if it is confirmed that the reference location corresponding to each of the third web pages of the preset reference number or more among the n web pages matches the first location, the candidate body area is determined to be the body area of the first web page.

이때, 본 발명의 일실시예에 따르면, 본문 영역 결정부(125)는 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치와 상기 제1 위치를 서로 비교하여, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치와 상기 제1 위치 간의 이격 거리가 사전 설정된 기준 거리 이내인 것으로 확인되는 경우, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치가 상기 제1 위치와 매칭되는 것으로 확인할 수 있다. At this time, according to one embodiment of the present invention, the body area determination unit 125 compares the reference position corresponding to each of the n web pages with the first location to correspond to each of the n web pages. If the separation distance between the reference location and the first location is confirmed to be within a preset reference distance, it can be confirmed that the reference location corresponding to each of the n web pages matches the first location.

예컨대, 전술한 예와 같이, 위치 확인부(122)에 의해, 제1 위치(211)가 확인되었다고 하고, 추가 위치 확인부(124)에 의해, ‘웹 페이지 A, 웹 페이지 B, 웹 페이지 D’ 각각에 대응되는 기준 위치가 확인되었다고 가정하자. For example, as in the above-mentioned example, it is assumed that the first location 211 is confirmed by the position confirmation unit 122, and the additional position confirmation unit 124 determines 'web page A, web page B, web page D ' Let's assume that the reference positions corresponding to each have been confirmed.

그러면, 본문 영역 결정부(125)는 ‘웹 페이지 A, 웹 페이지 B, 웹 페이지 D’ 각각에 대응되는 기준 위치와 제1 위치(211)를 서로 비교하여 ‘웹 페이지 A, 웹 페이지 B, 웹 페이지 D’ 각각에 대응되는 기준 위치와 제1 위치(211)가 매칭되는지 여부를 확인할 수 있다.Then, the body area determination unit 125 compares the reference position and the first position 211 corresponding to each of 'web page A, web page B, and web page D' to 'web page A, web page B, and web page D'. It is possible to check whether the reference position corresponding to each page D' matches the first position 211.

관련해서, ‘웹 페이지 A’에 대응되는 기준 위치와 제1 위치(211)를 서로 비교하여, ‘웹 페이지 A’에 대응되는 기준 위치와 제1 위치(211) 간의 이격 거리가 사전 설정된 기준 거리 이내인 것으로 확인되었다고 하는 경우, 본문 영역 결정부(125)는 ‘웹 페이지 A’에 대응되는 기준 위치가 제1 위치(211)와 매칭되는 것으로 확인할 수 있다.In relation to this, the reference position corresponding to 'web page A' and the first position 211 are compared to each other, and the separation distance between the reference position corresponding to 'web page A' and the first position 211 is a preset reference distance. If it is confirmed that it is within the range, the body area determination unit 125 can confirm that the reference position corresponding to 'web page A' matches the first position 211.

이러한 방식으로, 본문 영역 결정부(125)는 ‘웹 페이지 A, 웹 페이지 B, 웹 페이지 D’ 각각에 대응되는 기준 위치가 제1 위치(211)와 매칭되는지 여부를 확인할 수 있다.In this way, the body area determination unit 125 can check whether the reference position corresponding to each of ‘web page A, web page B, and web page D’ matches the first position 211.

이때, 사전 설정된 기준 개수를 ‘2’개라고 하고, ‘웹 페이지 A, 웹 페이지 B, 웹 페이지 D’ 중 ‘웹 페이지 A, 웹 페이지 B’ 각각에 대응되는 기준 위치가 제1 위치(211)와 매칭되는 것으로 확인되었다고 하는 경우, 본문 영역 결정부(125)는 ‘부분 영역 2(202)’를 ‘웹 페이지 E(200)’의 본문 영역인 것으로 결정할 수 있다.At this time, the preset reference number is '2', and the reference position corresponding to each of 'web page A, web page B' among 'web page A, web page B, and web page D' is the first position (211). If it is confirmed that it matches, the body area determination unit 125 may determine that 'partial area 2 (202)' is the body area of 'web page E (200)'.

이렇게, 본문 영역 결정부(125)에 의해, 상기 후보 본문 영역이 상기 제1 웹 페이지의 본문 영역인 것으로 결정되면, 전송 처리부(126)는 상기 후보 본문 영역에 대한 정보를 상기 제1 웹 페이지의 본문 영역에 대한 정보로 지정하여 상기 제1 데이터 수집 서버로 전송한다. In this way, if the candidate body area is determined by the body area determination unit 125 to be the body area of the first web page, the transmission processing unit 126 sends information about the candidate body area to the body area of the first web page. It is designated as information about the body area and transmitted to the first data collection server.

예컨대, 전술한 예와 같이, 본문 영역 결정부(125)에 의해, ‘부분 영역 2(202)’가 ‘웹 페이지 E(200)’의 본문 영역인 것으로 결정되었다고 하는 경우, 전송 처리부(126)는 ‘부분 영역 2(202)’에 대한 정보를, ‘웹 페이지 E(200)’의 본문 영역에 대한 정보로 지정하여 ‘데이터 수집 서버 1(131)’로 전송할 수 있다. For example, as in the above-described example, if the body area determination unit 125 determines that 'partial area 2 (202)' is the body area of 'web page E (200)', the transmission processing unit 126 The information on 'partial area 2 (202)' can be designated as information on the body area of 'web page E (200)' and transmitted to 'data collection server 1 (131)'.

그러면, ‘데이터 수집 서버 1(131)’은 ‘웹 페이지 E(200)’에서 웹 콘텐츠 데이터를 수집할 때, ‘웹 페이지 E(200)’의 본문 영역에 대한 정보를 기초로 ‘웹 페이지 E(200)’의 본문 영역인 ‘부분 영역 2(202)’로부터 웹 콘텐츠 데이터를 수집할 수 있다. 이렇게, ‘데이터 수집 서버 1(131)’은 ‘웹 페이지 E(200)’의 본문 영역으로부터 웹 콘텐츠 데이터를 수집함으로써, ‘웹 페이지 E(200)’의 다른 영역에 존재하는 불필요한 데이터들을 수집하지 않을 수 있다. Then, when 'data collection server 1 (131)' collects web content data from 'web page E (200)', 'web page E (200)' based on information about the body area of 'web page E (200)' Web content data can be collected from 'partial area 2 (202)', which is the body area of '(200)'. In this way, 'data collection server 1 (131)' collects web content data from the body area of 'web page E (200)', thereby preventing unnecessary data existing in other areas of 'web page E (200)' from being collected. It may not be possible.

결국, 본 발명에 따른 웹 콘텐츠 크롤링 관리 서버(110)는 소정의 데이터 수집 서버가 특정 웹 페이지의 콘텐츠 데이터를 수집할 때마다, 해당 데이터 수집 서버로부터 본문 영역의 정보를 전송하라는 요청을 수신하게 되고, 이렇게, 본문 영역에 대한 정보의 전송 요청을 수신하게 되면, 그 요청에 대응하여 웹 페이지의 본문 영역을 확인해서 그에 대한 정보를 데이터 수집 서버로 전송해 줌으로써, 데이터 수집 서버들이 웹 페이지의 본문 영역으로부터 보다 정제된 웹 콘텐츠 데이터들만을 수집할 수 있도록 지원할 수 있다.Ultimately, the web content crawling management server 110 according to the present invention receives a request to transmit information in the body area from the data collection server each time a predetermined data collection server collects content data of a specific web page. In this way, when a request to transmit information about the body area is received, the body area of the web page is checked in response to the request and the information about it is transmitted to the data collection server, so that the data collection servers transmit the information to the body area of the web page. It can support collecting only more refined web content data from .

본 발명의 일실시예에 따르면, 정보 전송부(119)는 테이블 생성부(127) 및 정보 신속 전송부(128)를 더 포함할 수 있다. According to one embodiment of the present invention, the information transmission unit 119 may further include a table creation unit 127 and an information rapid transmission unit 128.

테이블 생성부(127)는 본문 영역 결정부(125)에 의해, 상기 후보 본문 영역이 상기 제1 웹 페이지의 본문 영역인 것으로 결정되면, 상기 제3 웹 페이지들 각각에 대응되는 기준 영역을 상기 제3 웹 페이지들 각각의 본문 영역으로 지정한 후, 상기 제3 웹 페이지들 각각의 본문 영역에 대한 정보를 기록한 본문 영역 테이블을 생성한다. When the table creation unit 127 determines that the candidate body area is the body area of the first web page by the body area determination unit 125, the table creation unit 127 selects a reference area corresponding to each of the third web pages to the first web page. After designating each of the three web pages as a body area, a body area table recording information on the body area of each of the third web pages is created.

정보 신속 전송부(128)는 테이블 생성부(127)에 의해, 상기 본문 영역 테이블이 생성된 이후, k개의 데이터 수집 서버들(131, 132, 133) 중 다른 하나인 제2 데이터 수집 서버에서 상기 제3 웹 페이지들 중 어느 하나인 제4 웹 페이지에 대한 웹 콘텐츠 데이터 수집 작업이 시작됨에 따라, 상기 제2 데이터 수집 서버로부터, 상기 제4 웹 페이지의 본문 영역에 대한 정보의 전송 요청이 수신되면, 상기 제4 웹 페이지의 본문 영역을 결정하기 위한 과정의 수행 없이, 상기 본문 영역 테이블로부터, 상기 본문 영역 테이블 상에 기록되어 있는 상기 제4 웹 페이지의 본문 영역에 대한 정보를 추출한 후, 상기 제4 웹 페이지의 본문 영역에 대한 정보를 상기 제2 데이터 수집 서버로 전송한다.After the body area table is created by the table creation unit 127, the information quick transmission unit 128 transmits the data to the second data collection server, which is another one of the k data collection servers 131, 132, and 133. As the web content data collection operation for the fourth web page, which is one of the third web pages, begins, a request to transmit information about the body area of the fourth web page is received from the second data collection server. , After extracting information about the body area of the fourth web page recorded in the body area table from the body area table, without performing a process for determining the body area of the fourth web page, 4 Information about the body area of the web page is transmitted to the second data collection server.

이하에서는, 테이블 생성부(127) 및 정보 신속 전송부(128)의 동작을 예를 들어, 상세히 설명하기로 한다. Hereinafter, the operations of the table creation unit 127 and the information rapid transmission unit 128 will be described in detail using an example.

먼저, 전술한 예와 같이, 본문 영역 결정부(125)에 의해, ‘웹 페이지 A, 웹 페이지 B’ 각각에 대응되는 기준 위치가 제1 위치(211)와 매칭되는 것으로 확인됨에 따라, ‘부분 영역 2(202)’가 ‘웹 페이지 E(200)’의 본문 영역인 것으로 결정되었다고 하는 경우, 테이블 생성부(127)는 ‘웹 페이지 A, 웹 페이지 B’ 각각에 대응되는 기준 영역인 ‘부분 영역 5, 부분 영역 6’에 대한 정보를 기록한 본문 영역 테이블을, 하기의 표 4와 같이 생성할 수 있다. First, as in the above-mentioned example, as the reference position corresponding to each of 'web page A and web page B' is confirmed by the body area determination unit 125 to match the first position 211, the 'part If it is determined that 'area 2 (202)' is the body area of 'web page E (200)', the table creation unit 127 generates 'part' which is the reference area corresponding to each of 'web page A and web page B'. A body area table recording information about area 5 and partial area 6' can be created as shown in Table 4 below.

웹 페이지web page 본문 영역body area 웹 페이지 AWeb page A 부분 영역 5partial area 5 웹 페이지 Bweb page B 부분 영역 6Partial area 6

이렇게, 테이블 생성부(127)에 의해, 상기 표 4와 같은 본문 영역 테이블이 생성된 이후, ‘데이터 수집 서버 2(132)’에서 ‘웹 페이지 A’에 대한 웹 콘텐츠 데이터 수집 작업이 시작됨에 따라, ‘데이터 수집 서버 2(132)’로부터, ‘웹 페이지 A’의 본문 영역에 대한 정보의 전송 요청이 웹 콘텐츠 크롤링 관리 서버(110)에 수신되었다고 가정하자. In this way, after the table creation unit 127 creates the text area table as shown in Table 4 above, the web content data collection for 'web page A' begins in 'data collection server 2 (132)'. , Let us assume that a request to transmit information about the body area of 'web page A' is received by the web content crawling management server 110 from 'data collection server 2 (132)'.

그러면, 정보 신속 전송부(128)는, 영역 확인부(121), 위치 확인부(122), 추가 영역 확인부(123), 추가 위치 확인부(124) 및 본문 영역 결정부(125)를 통한 ‘웹 페이지 A’의 본문 영역을 결정하기 위한 과정의 수행 없이, 상기 표 4와 같은 본문 영역 테이블로부터, ‘웹 페이지 A’의 본문 영역인 ‘부분 영역 5’에 대한 정보를 추출한 후, ‘부분 영역 5’에 대한 정보를 ‘데이터 수집 서버 2(132)’로 전송할 수 있다. Then, the information quick transmission unit 128 uses the area confirmation unit 121, the location confirmation unit 122, the additional area confirmation unit 123, the additional location confirmation unit 124, and the body area determination unit 125. Without performing a process to determine the body area of 'Web Page A', information about 'Partial Area 5', which is the body area of 'Web Page A', is extracted from the Body Area Table as shown in Table 4 above, and then 'Partial Area 5' is Information about 'Area 5' can be transmitted to 'Data Collection Server 2 (132)'.

한편, ‘데이터 수집 서버 3(133)’에서 ‘웹 페이지 C’에 대한 콘텐츠 데이터 수집 작업이 시작됨에 따라, ‘데이터 수집 서버 3(133)’으로부터, ‘웹 페이지 C’의 본문 영역에 대한 정보의 전송 요청이 웹 콘텐츠 크롤링 관리 서버(110)에 수신되었다고 하는 경우에는, 상기 표 4와 같은 본문 영역 테이블 상에는 ‘웹 페이지 C’의 본문 영역에 대한 정보가 기록되어 있지 않으므로, 웹 콘텐츠 크롤링 관리 서버(110)는 영역 확인부(121), 위치 확인부(122), 추가 영역 확인부(123), 추가 위치 확인부(124) 및 본문 영역 결정부(125)를 통해 ‘웹 페이지 C’의 본문 영역을 결정한 후, ‘웹 페이지 C’의 본문 영역에 대한 정보를 ‘데이터 수집 서버 3(133)’으로 전송할 수 있다.Meanwhile, as the content data collection for 'Web Page C' begins in 'Data Collection Server 3 (133)', information about the body area of 'Web Page C' is collected from 'Data Collection Server 3 (133)' In the case where the transmission request is received by the web content crawling management server 110, since information about the body area of 'web page C' is not recorded in the body area table as shown in Table 4 above, the web content crawling management server (110) is the body of 'web page C' through the area confirmation unit 121, location confirmation unit 122, additional area confirmation unit 123, additional location confirmation unit 124, and body area determination unit 125. After determining the area, information about the body area of 'Web Page C' can be transmitted to 'Data Collection Server 3 (133)'.

도 4는 본 발명의 일실시예에 따른 복수의 웹 사이트들에 대한 효율적인 분산 크롤링을 지원하는 웹 콘텐츠 크롤링 관리 서버의 동작 방법을 도시한 순서도이다.Figure 4 is a flow chart illustrating a method of operating a web content crawling management server that supports efficient distributed crawling of a plurality of web sites according to an embodiment of the present invention.

단계(S410)에서는 상기 복수의 웹 사이트들로부터, 각 웹 사이트를 구성하는 하나 이상의 웹 페이지들의 URL을 모두 수집함으로써, 복수의 웹 페이지들의 URL로 구성된 수집 데이터 셋을 생성한다. In step S410, the URL of one or more web pages constituting each website is collected from the plurality of web sites, thereby generating a collection data set consisting of the URLs of the plurality of web pages.

단계(S420)에서는 상기 수집 데이터 셋에 포함되어 있는 상기 복수의 웹 페이지들 각각의 URL을 URL 큐에 저장한다. In step S420, the URL of each of the plurality of web pages included in the collected data set is stored in a URL queue.

단계(S430)에서는 상기 URL 큐에 저장되어 있는 상기 복수의 웹 페이지들 각각의 URL을, 상기 URL 큐에서의 저장 순서에 따라 순차적으로 추출하여 k(k는 2 이상의 자연수임)개의 데이터 수집 서버들에 라운드 로빈 방식으로 할당한다. In step S430, the URLs of each of the plurality of web pages stored in the URL queue are sequentially extracted according to the storage order in the URL queue, and k (k is a natural number of 2 or more) data collection servers. Allocate in a round robin manner.

단계(S440)에서는 상기 k개의 데이터 수집 서버들 각각에 대해, 각 데이터 수집 서버에 할당된 URL의 웹 페이지에 접속하여 웹 콘텐츠 데이터를 수집할 것을 지시하는 작업 명령을 전송한다. In step S440, a work command instructing to collect web content data by accessing a web page of a URL assigned to each data collection server is transmitted to each of the k data collection servers.

이때, 본 발명의 일실시예에 따르면, 단계(S420)에서는 상기 복수의 웹 페이지들 각각의 URL을, 각 URL이 수집된 웹 사이트별로 그룹화함으로써, 상기 복수의 웹 사이트들 각각에 대응되는 URL 그룹을 생성하는 단계, 상기 복수의 웹 사이트들 각각에 대응되는 URL 그룹에 대해, 각 URL 그룹 내에 포함되어 있는 URL들의 개수가 적은 순으로, 빠른 순번의 그룹 저장 순번을 할당하는 단계 및 상기 복수의 웹 페이지들 각각의 URL을, URL 그룹별로 구분하여, 각 URL 그룹에 할당되어 있는 그룹 저장 순번에 따라 순차적으로 상기 URL 큐에 저장하되, 동일한 URL 그룹 내에 포함되어 있는 URL들에 대해서는, 랜덤한 저장 순번으로 상기 URL 큐에 저장함으로써, 상기 복수의 웹 페이지들 각각의 URL을 상기 URL 큐에 저장하는 단계를 포함할 수 있다. At this time, according to one embodiment of the present invention, in step S420, the URLs of each of the plurality of web pages are grouped by the website from which each URL is collected, thereby forming a URL group corresponding to each of the plurality of web sites. generating a URL group corresponding to each of the plurality of web sites, allocating a group storage sequence number in descending order in descending order of the number of URLs included in each URL group; and assigning a group storage sequence number to the plurality of web sites in descending order, and The URLs of each page are divided into URL groups and sequentially stored in the URL queue according to the group storage order assigned to each URL group. However, for URLs included in the same URL group, the storage order is random. It may include storing the URL of each of the plurality of web pages in the URL queue by storing the URL in the URL queue.

또한, 본 발명의 일실시예에 따르면, 상기 웹 콘텐츠 크롤링 관리 서버의 동작 방법은 상기 k개의 데이터 수집 서버들 각각으로 상기 작업 명령이 전송된 이후, 상기 k개의 데이터 수집 서버들에서, 상기 복수의 웹 페이지들 중 어느 하나의 웹 페이지에 대한 웹 콘텐츠 데이터 수집 작업이 시작될 때마다, 상기 k개의 데이터 수집 서버들로부터, 웹 콘텐츠 데이터 수집을 위한 웹 페이지의 본문 영역에 대한 정보의 전송 요청을 수신하는 단계 및 상기 k개의 데이터 수집 서버들 중 어느 하나인 제1 데이터 수집 서버에서, 상기 복수의 웹 페이지들 중 어느 하나인 제1 웹 페이지에 대한 웹 콘텐츠 데이터 수집 작업이 시작됨에 따라, 상기 제1 데이터 수집 서버로부터, 상기 제1 웹 페이지의 본문 영역에 대한 정보의 전송 요청이 수신되면, 상기 제1 웹 페이지의 본문 영역에 대한 정보를 확인한 후, 상기 제1 웹 페이지의 본문 영역에 대한 정보를 상기 제1 데이터 수집 서버로 전송하는 단계를 더 포함할 수 있다. In addition, according to an embodiment of the present invention, a method of operating the web content crawling management server includes, after the work command is transmitted to each of the k data collection servers, in the k data collection servers, the plurality of Whenever a web content data collection operation for one of the web pages is started, a request to transmit information about the body area of the web page for web content data collection is received from the k data collection servers. step, and in a first data collection server that is one of the k data collection servers, as a web content data collection operation for a first web page that is one of the plurality of web pages is started, the first data When a request to transmit information about the body area of the first web page is received from the collection server, the information about the body area of the first web page is checked, and then the information about the body area of the first web page is sent to the above. It may further include transmitting to the first data collection server.

이때, 본 발명의 일실시예에 따르면, 상기 제1 웹 페이지의 본문 영역에 대한 정보를 상기 제1 데이터 수집 서버로 전송하는 단계는 상기 제1 데이터 수집 서버에서 상기 제1 웹 페이지에 대한 웹 콘텐츠 데이터 수집 작업이 시작됨에 따라, 상기 제1 데이터 수집 서버로부터, 상기 제1 웹 페이지의 본문 영역에 대한 정보의 전송 요청이 수신되면, 상기 제1 웹 페이지의 본문 영역을 확인하기 위한 본문 영역 확인 이벤트를 발생시키는 단계, 상기 본문 영역 확인 이벤트가 발생되면, 웹 브라우저를 통해 상기 제1 웹 페이지를 렌더링한 후, 렌더링된 상기 제1 웹 페이지를 구성하는 마크업 언어 코드를 파싱하여, 상기 제1 웹 페이지를 구성하는 복수의 부분 영역들의 크기를 확인하는 단계, 상기 제1 웹 페이지를 구성하는 복수의 부분 영역들 중 최대의 크기를 갖는 부분 영역을 후보 본문 영역으로 지정한 후, 상기 후보 본문 영역의 상기 제1 웹 페이지 상에서의 배치 위치인 제1 위치를 확인하는 단계, 상기 제1 웹 페이지를 포함하는 웹 사이트인 제1 웹 사이트를 구성하는 복수의 제2 웹 페이지들로부터, n(n은 2 이상의 자연수임)개의 웹 페이지들을 랜덤하게 선택하고, 상기 웹 브라우저를 통해 상기 n개의 웹 페이지들 각각을 렌더링한 후, 렌더링된 상기 n개의 웹 페이지들 각각의 마크업 언어 코드를 파싱하여, 상기 n개의 웹 페이지들 각각을 구성하는 복수의 부분 영역들의 크기를 확인하는 단계, 상기 n개의 웹 페이지들 각각에 대해, 각 웹 페이지를 구성하는 복수의 부분 영역들 중 최대의 크기를 갖는 부분 영역을 기준 영역으로 지정함으로써, 상기 n개의 웹 페이지들 각각에 대응되는 기준 영역을 지정한 후, 상기 n개의 웹 페이지들 각각에 대응되는 기준 영역의 각 웹 페이지 상에서의 배치 위치를, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치로 확인하는 단계, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치가 상기 제1 위치와 매칭되는지 여부를 확인하여, 상기 n개의 웹 페이지들 중 사전 설정된 기준 개수 이상의 제3 웹 페이지들 각각에 대응되는 기준 위치가 상기 제1 위치와 매칭되는 것으로 확인되면, 상기 후보 본문 영역을 상기 제1 웹 페이지의 본문 영역인 것으로 결정하는 단계 및 상기 후보 본문 영역이 상기 제1 웹 페이지의 본문 영역인 것으로 결정되면, 상기 후보 본문 영역에 대한 정보를 상기 제1 웹 페이지의 본문 영역에 대한 정보로 지정하여 상기 제1 데이터 수집 서버로 전송하는 단계를 포함할 수 있다. At this time, according to one embodiment of the present invention, the step of transmitting information about the body area of the first web page to the first data collection server includes web content for the first web page from the first data collection server. As the data collection operation begins, when a request to transmit information about the body area of the first web page is received from the first data collection server, a body area confirmation event to check the body area of the first web page Generating a step, when the body area confirmation event occurs, rendering the first web page through a web browser, parsing the markup language code constituting the rendered first web page, and Checking the sizes of a plurality of sub-areas constituting a page, designating a sub-area with the largest size among the plurality of sub-areas constituting the first web page as a candidate body area, Confirming a first position, which is an arrangement position on a first web page, from a plurality of second web pages constituting a first website, which is a website including the first web page, n (n is 2 or more) After randomly selecting (a natural number) web pages, rendering each of the n web pages through the web browser, parsing the markup language code of each of the n rendered web pages, Checking the size of a plurality of sub-areas constituting each web page, for each of the n web pages, a sub-area with the largest size among the plurality of sub-areas constituting each web page is selected as a reference area. After designating the reference area corresponding to each of the n web pages, the placement position of the reference area corresponding to each of the n web pages on each web page is determined by specifying the reference area corresponding to each of the n web pages. Checking with the corresponding reference location, checking whether the reference location corresponding to each of the n web pages matches the first location, and selecting a third web page that is more than a preset reference number among the n web pages. If it is confirmed that the reference position corresponding to each of the first positions matches the first position, determining the candidate body area to be the body area of the first web page, and determining that the candidate body area is the body area of the first web page If it is determined to be an area, it may include the step of designating the information on the candidate body area as information on the body area of the first web page and transmitting it to the first data collection server.

또한, 본 발명의 일실시예에 따르면, 상기 제1 위치를 확인하는 단계는 상기 후보 본문 영역을 구성하는 꼭짓점들 중 어느 하나인 기준 꼭짓점의 상기 제1 웹 페이지 상에서의 위치를, 상기 후보 본문 영역의 상기 제1 웹 페이지 상에서의 배치 위치인 상기 제1 위치로 확인할 수 있고, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치로 확인하는 단계에서는 상기 n개의 웹 페이지들 각각에 대응되는 기준 영역을 구성하는 꼭짓점들 중 상기 기준 꼭짓점과 대응되는 지점의 꼭짓점의 각 웹 페이지 상에서의 위치를, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치로 확인할 수 있으며, 상기 제1 웹 페이지의 본문 영역인 것으로 결정하는 단계에서는 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치와 상기 제1 위치를 서로 비교하여, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치와 상기 제1 위치 간의 이격 거리가 사전 설정된 기준 거리 이내인 것으로 확인되는 경우, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치가 상기 제1 위치와 매칭되는 것으로 확인할 수 있다. In addition, according to one embodiment of the present invention, the step of confirming the first location includes determining the location of a reference vertex, which is one of the vertices constituting the candidate body area, on the first web page. It can be confirmed as the first position, which is the arrangement position on the first web page, and in the step of checking as the reference position corresponding to each of the n web pages, a reference area corresponding to each of the n web pages is selected. Among the constituting vertices, the position of the vertex corresponding to the reference vertex on each web page can be confirmed as the reference position corresponding to each of the n web pages, and is assumed to be the body area of the first web page. In the determining step, the reference location corresponding to each of the n web pages is compared with the first location, and the separation distance between the reference location corresponding to each of the n web pages and the first location is set to a preset standard. If it is confirmed that it is within the distance, it can be confirmed that the reference location corresponding to each of the n web pages matches the first location.

또한, 본 발명의 일실시예에 따르면, 상기 제1 웹 페이지의 본문 영역에 대한 정보를 상기 제1 데이터 수집 서버로 전송하는 단계는 상기 후보 본문 영역이 상기 제1 웹 페이지의 본문 영역인 것으로 결정되면, 상기 제3 웹 페이지들 각각에 대응되는 기준 영역을 상기 제3 웹 페이지들 각각의 본문 영역으로 지정한 후, 상기 제3 웹 페이지들 각각의 본문 영역에 대한 정보를 기록한 본문 영역 테이블을 생성하는 단계 및 상기 본문 영역 테이블이 생성된 이후, 상기 k개의 데이터 수집 서버들 중 다른 하나인 제2 데이터 수집 서버에서 상기 제3 웹 페이지들 중 어느 하나인 제4 웹 페이지에 대한 웹 콘텐츠 데이터 수집 작업이 시작됨에 따라, 상기 제2 데이터 수집 서버로부터, 상기 제4 웹 페이지의 본문 영역에 대한 정보의 전송 요청이 수신되면, 상기 제4 웹 페이지의 본문 영역을 결정하기 위한 과정의 수행 없이, 상기 본문 영역 테이블로부터, 상기 본문 영역 테이블 상에 기록되어 있는 상기 제4 웹 페이지의 본문 영역에 대한 정보를 추출한 후, 상기 제4 웹 페이지의 본문 영역에 대한 정보를 상기 제2 데이터 수집 서버로 전송하는 단계를 더 포함할 수 있다.Additionally, according to one embodiment of the present invention, the step of transmitting information about the body area of the first web page to the first data collection server determines that the candidate body area is the body area of the first web page. Then, designating the reference area corresponding to each of the third web pages as the body area of each of the third web pages, and then creating a body area table recording information about the body area of each of the third web pages. After the step and the body area table is created, a web content data collection operation for a fourth web page, which is one of the third web pages, is performed in a second data collection server, which is another one of the k data collection servers. As it starts, when a request to transmit information about the body area of the fourth web page is received from the second data collection server, the body area is Extracting information about the body area of the fourth web page recorded on the body area table from the table, and then transmitting the information about the body area of the fourth web page to the second data collection server. More may be included.

이상, 도 4를 참조하여 본 발명 일실시예에 따른 복수의 웹 사이트들에 대한 효율적인 분산 크롤링을 지원하는 웹 콘텐츠 크롤링 관리 서버의 동작 방법에 대해 설명하였다. 여기서, 본 발명 일실시예에 따른 복수의 웹 사이트들에 대한 효율적인 분산 크롤링을 지원하는 웹 콘텐츠 크롤링 관리 서버의 동작 방법은 도 1을 이용하여 설명한 웹 콘텐츠 크롤링 관리 서버(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.Above, with reference to FIG. 4, a method of operating a web content crawling management server that supports efficient distributed crawling of a plurality of web sites according to an embodiment of the present invention has been described. Here, the operating method of the web content crawling management server that supports efficient distributed crawling of a plurality of web sites according to an embodiment of the present invention is a configuration of the operation of the web content crawling management server 110 described using FIG. 1. Since it may correspond to , a more detailed description thereof will be omitted.

본 발명의 일실시예에 따른 복수의 웹 사이트들에 대한 효율적인 분산 크롤링을 지원하는 웹 콘텐츠 크롤링 관리 서버의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.The method of operating a web content crawling management server that supports efficient distributed crawling of a plurality of web sites according to an embodiment of the present invention can be implemented as a computer program stored in a storage medium to be executed through combination with a computer. .

또한, 본 발명의 일실시예에 따른 복수의 웹 사이트들에 대한 효율적인 분산 크롤링을 지원하는 웹 콘텐츠 크롤링 관리 서버의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. In addition, the method of operating a web content crawling management server that supports efficient distributed crawling of a plurality of web sites according to an embodiment of the present invention is implemented in the form of program instructions that can be executed through various computer means and is computer readable. Can be recorded on media. The computer-readable medium may include program instructions, data files, data structures, etc., singly or in combination. Program instructions recorded on the medium may be specially designed and constructed for the present invention or may be known and usable by those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -Includes optical media (magneto-optical media) and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, etc. Examples of program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described with specific details such as specific components and limited embodiments and drawings, but this is only provided to facilitate a more general understanding of the present invention, and the present invention is not limited to the above embodiments. , those skilled in the art can make various modifications and variations from this description.

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다. Accordingly, the spirit of the present invention should not be limited to the described embodiments, and the scope of the patent claims described below as well as all modifications that are equivalent or equivalent to the scope of this patent claim shall fall within the scope of the spirit of the present invention. .

110: 복수의 웹 사이트들에 대한 효율적인 분산 크롤링을 지원하는 웹 콘텐츠 크롤링 관리 서버
111: URL 수집부 112: URL 저장 처리부
113: URL 할당부 114: 명령 전송부
115: URL 그룹 생성부 116: 그룹 저장 순번 할당부
117: 저장 처리부 118: 요청 수신부
119: 정보 전송부 120: 이벤트 발생부
121: 영역 확인부 122: 위치 확인부
123: 추가 영역 확인부 124: 추가 위치 확인부
125: 본문 영역 결정부 126: 전송 처리부
127: 테이블 생성부 128: 정보 신속 전송부
131, 132, 133: k개의 데이터 수집 서버들
110: Web content crawling management server that supports efficient distributed crawling of multiple websites
111: URL collection unit 112: URL storage processing unit
113: URL allocation unit 114: Command transmission unit
115: URL group creation unit 116: Group storage sequence allocation unit
117: storage processing unit 118: request receiving unit
119: Information transmission unit 120: Event generation unit
121: Area confirmation unit 122: Location confirmation unit
123: Additional area confirmation unit 124: Additional location confirmation unit
125: Body area decision unit 126: Transmission processing unit
127: Table creation unit 128: Information rapid transmission unit
131, 132, 133: k data collection servers

Claims (14)

복수의 웹 사이트들에 대한 효율적인 분산 크롤링을 지원하는 웹 콘텐츠 크롤링 관리 서버에 있어서,
상기 복수의 웹 사이트들로부터, 각 웹 사이트를 구성하는 하나 이상의 웹 페이지들의 URL(Uniform Resource Locator)을 모두 수집함으로써, 복수의 웹 페이지들의 URL로 구성된 수집 데이터 셋(set)을 생성하는 URL 수집부;
상기 수집 데이터 셋에 포함되어 있는 상기 복수의 웹 페이지들 각각의 URL을 URL 큐(queue)에 저장하는 URL 저장 처리부;
상기 URL 큐에 저장되어 있는 상기 복수의 웹 페이지들 각각의 URL을, 상기 URL 큐에서의 저장 순서에 따라 순차적으로 추출하여 k(k는 2 이상의 자연수임)개의 데이터 수집 서버들에 라운드 로빈(round robin) 방식으로 할당하는 URL 할당부; 및
상기 k개의 데이터 수집 서버들 각각에 대해, 각 데이터 수집 서버에 할당된 URL의 웹 페이지에 접속하여 웹 콘텐츠 데이터를 수집할 것을 지시하는 작업 명령을 전송하는 명령 전송부
를 포함하고,
상기 URL 저장 처리부는
상기 복수의 웹 페이지들 각각의 URL을, 각 URL이 수집된 웹 사이트별로 그룹화함으로써, 상기 복수의 웹 사이트들 각각에 대응되는 URL 그룹을 생성하는 URL 그룹 생성부;
상기 복수의 웹 사이트들 각각에 대응되는 URL 그룹에 대해, 각 URL 그룹 내에 포함되어 있는 URL들의 개수가 적은 순으로, 빠른 순번의 그룹 저장 순번을 할당하는 그룹 저장 순번 할당부; 및
상기 복수의 웹 페이지들 각각의 URL을, URL 그룹별로 구분하여, 각 URL 그룹에 할당되어 있는 그룹 저장 순번에 따라 순차적으로 상기 URL 큐에 저장하되, 동일한 URL 그룹 내에 포함되어 있는 URL들에 대해서는, 랜덤한 저장 순번으로 상기 URL 큐에 저장함으로써, 상기 복수의 웹 페이지들 각각의 URL을 상기 URL 큐에 저장하는 저장 처리부
를 포함하는 웹 콘텐츠 크롤링 관리 서버.
In the web content crawling management server that supports efficient distributed crawling of multiple websites,
A URL collection unit that generates a collection data set consisting of the URLs of a plurality of web pages by collecting all URLs (Uniform Resource Locators) of one or more web pages constituting each website from the plurality of web sites. ;
a URL storage processor that stores URLs of each of the plurality of web pages included in the collection data set in a URL queue;
The URLs of each of the plurality of web pages stored in the URL queue are sequentially extracted according to the storage order in the URL queue and sent to k (k is a natural number of 2 or more) data collection servers in a round robin. A URL allocation unit that allocates using the robin) method; and
For each of the k data collection servers, a command transmission unit that transmits a work command instructing to collect web content data by accessing the web page of the URL assigned to each data collection server.
Including,
The URL storage processing unit
a URL group generator that generates a URL group corresponding to each of the plurality of web sites by grouping the URLs of each of the plurality of web pages according to the web site from which each URL is collected;
a group storage sequence number allocator for assigning a group storage sequence number to URL groups corresponding to each of the plurality of web sites in descending order of the number of URLs included in each URL group; and
The URLs of each of the plurality of web pages are divided into URL groups and sequentially stored in the URL queue according to the group storage order assigned to each URL group. For URLs included in the same URL group, A storage processing unit that stores URLs of each of the plurality of web pages in the URL queue by storing them in the URL queue in a random storage order.
A web content crawling management server that includes.
삭제delete 제1항에 있어서,
상기 k개의 데이터 수집 서버들 각각으로 상기 작업 명령이 전송된 이후, 상기 k개의 데이터 수집 서버들에서, 상기 복수의 웹 페이지들 중 어느 하나의 웹 페이지에 대한 웹 콘텐츠 데이터 수집 작업이 시작될 때마다, 상기 k개의 데이터 수집 서버들로부터, 웹 콘텐츠 데이터 수집을 위한 웹 페이지의 본문 영역에 대한 정보의 전송 요청을 수신하는 요청 수신부; 및
상기 k개의 데이터 수집 서버들 중 어느 하나인 제1 데이터 수집 서버에서, 상기 복수의 웹 페이지들 중 어느 하나인 제1 웹 페이지에 대한 웹 콘텐츠 데이터 수집 작업이 시작됨에 따라, 상기 제1 데이터 수집 서버로부터, 상기 제1 웹 페이지의 본문 영역에 대한 정보의 전송 요청이 수신되면, 상기 제1 웹 페이지의 본문 영역에 대한 정보를 확인한 후, 상기 제1 웹 페이지의 본문 영역에 대한 정보를 상기 제1 데이터 수집 서버로 전송하는 정보 전송부
를 더 포함하는 웹 콘텐츠 크롤링 관리 서버.
According to paragraph 1,
After the work command is transmitted to each of the k data collection servers, each time a web content data collection operation for any one of the plurality of web pages is started in the k data collection servers, a request receiver that receives a request for transmission of information about the body area of a web page for web content data collection from the k data collection servers; and
In a first data collection server, which is one of the k data collection servers, as a web content data collection operation for a first web page, which is one of the plurality of web pages, is started, the first data collection server When a request to transmit information about the body area of the first web page is received, the information about the body area of the first web page is checked, and then the information about the body area of the first web page is sent to the first web page. Information transmission unit that transmits to the data collection server
A web content crawling management server further comprising:
제3항에 있어서,
상기 정보 전송부는
상기 제1 데이터 수집 서버에서 상기 제1 웹 페이지에 대한 웹 콘텐츠 데이터 수집 작업이 시작됨에 따라, 상기 제1 데이터 수집 서버로부터, 상기 제1 웹 페이지의 본문 영역에 대한 정보의 전송 요청이 수신되면, 상기 제1 웹 페이지의 본문 영역을 확인하기 위한 본문 영역 확인 이벤트를 발생시키는 이벤트 발생부;
상기 본문 영역 확인 이벤트가 발생되면, 웹 브라우저를 통해 상기 제1 웹 페이지를 렌더링한 후, 렌더링된 상기 제1 웹 페이지를 구성하는 마크업 언어(markup language) 코드를 파싱(parsing)하여, 상기 제1 웹 페이지를 구성하는 복수의 부분 영역들의 크기를 확인하는 영역 확인부;
상기 제1 웹 페이지를 구성하는 복수의 부분 영역들 중 최대의 크기를 갖는 부분 영역을 후보 본문 영역으로 지정한 후, 상기 후보 본문 영역의 상기 제1 웹 페이지 상에서의 배치 위치인 제1 위치를 확인하는 위치 확인부;
상기 제1 웹 페이지를 포함하는 웹 사이트인 제1 웹 사이트를 구성하는 복수의 제2 웹 페이지들로부터, n(n은 2 이상의 자연수임)개의 웹 페이지들을 랜덤하게 선택하고, 상기 웹 브라우저를 통해 상기 n개의 웹 페이지들 각각을 렌더링한 후, 렌더링된 상기 n개의 웹 페이지들 각각의 마크업 언어 코드를 파싱하여, 상기 n개의 웹 페이지들 각각을 구성하는 복수의 부분 영역들의 크기를 확인하는 추가 영역 확인부;
상기 n개의 웹 페이지들 각각에 대해, 각 웹 페이지를 구성하는 복수의 부분 영역들 중 최대의 크기를 갖는 부분 영역을 기준 영역으로 지정함으로써, 상기 n개의 웹 페이지들 각각에 대응되는 기준 영역을 지정한 후, 상기 n개의 웹 페이지들 각각에 대응되는 기준 영역의 각 웹 페이지 상에서의 배치 위치를, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치로 확인하는 추가 위치 확인부;
상기 n개의 웹 페이지들 각각에 대응되는 기준 위치가 상기 제1 위치와 매칭되는지 여부를 확인하여, 상기 n개의 웹 페이지들 중 사전 설정된 기준 개수 이상의 제3 웹 페이지들 각각에 대응되는 기준 위치가 상기 제1 위치와 매칭되는 것으로 확인되면, 상기 후보 본문 영역을 상기 제1 웹 페이지의 본문 영역인 것으로 결정하는 본문 영역 결정부; 및
상기 후보 본문 영역이 상기 제1 웹 페이지의 본문 영역인 것으로 결정되면, 상기 후보 본문 영역에 대한 정보를 상기 제1 웹 페이지의 본문 영역에 대한 정보로 지정하여 상기 제1 데이터 수집 서버로 전송하는 전송 처리부
를 포함하는 웹 콘텐츠 크롤링 관리 서버.
According to paragraph 3,
The information transmission unit
As the first data collection server starts collecting web content data for the first web page, when a request to transmit information about the body area of the first web page is received from the first data collection server, an event generator that generates a body area confirmation event to check the body area of the first web page;
When the body area confirmation event occurs, the first web page is rendered through a web browser, then the markup language code constituting the rendered first web page is parsed, and the first web page is rendered. 1 an area confirmation unit that checks the sizes of a plurality of partial areas constituting a web page;
After designating a partial area with the largest size among a plurality of partial areas constituting the first web page as a candidate body area, confirming the first position, which is the placement position of the candidate body area, on the first web page. Location confirmation unit;
From a plurality of second web pages constituting the first website, which is a website including the first web page, n (n is a natural number of 2 or more) web pages are randomly selected and displayed through the web browser. After rendering each of the n web pages, parsing the markup language code of each of the rendered n web pages to check the size of a plurality of partial regions constituting each of the n web pages. Area confirmation unit;
For each of the n web pages, a reference area corresponding to each of the n web pages is designated by designating a partial area with the largest size among a plurality of partial areas constituting each web page as a reference area. Afterwards, an additional position confirmation unit that checks the arrangement position on each web page of the reference area corresponding to each of the n web pages as a reference position corresponding to each of the n web pages;
By checking whether the reference position corresponding to each of the n web pages matches the first location, the reference position corresponding to each of the third web pages of a preset reference number or more among the n web pages is determined by the first location. a body area determination unit that determines that the candidate body area is a body area of the first web page when it is confirmed that it matches the first location; and
When the candidate body area is determined to be the body area of the first web page, information on the candidate body area is designated as information on the body area of the first web page and transmitted to the first data collection server. processing department
A web content crawling management server that includes.
제4항에 있어서,
상기 위치 확인부는
상기 후보 본문 영역을 구성하는 꼭짓점들 중 어느 하나인 기준 꼭짓점의 상기 제1 웹 페이지 상에서의 위치를, 상기 후보 본문 영역의 상기 제1 웹 페이지 상에서의 배치 위치인 상기 제1 위치로 확인하고,
상기 추가 위치 확인부는
상기 n개의 웹 페이지들 각각에 대응되는 기준 영역을 구성하는 꼭짓점들 중 상기 기준 꼭짓점과 대응되는 지점의 꼭짓점의 각 웹 페이지 상에서의 위치를, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치로 확인하며,
상기 본문 영역 결정부는
상기 n개의 웹 페이지들 각각에 대응되는 기준 위치와 상기 제1 위치를 서로 비교하여, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치와 상기 제1 위치 간의 이격 거리가 사전 설정된 기준 거리 이내인 것으로 확인되는 경우, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치가 상기 제1 위치와 매칭되는 것으로 확인하는 것을 특징으로 하는 웹 콘텐츠 크롤링 관리 서버.
According to paragraph 4,
The location confirmation unit
Confirming the position of a reference vertex, which is one of the vertices constituting the candidate body area, on the first web page as the first position, which is the placement position of the candidate body area on the first web page,
The additional location confirmation unit
Among the vertices constituting the reference area corresponding to each of the n web pages, the position of the vertex corresponding to the reference vertex on each web page is confirmed as the reference position corresponding to each of the n web pages. And
The body area determination unit
By comparing the reference position corresponding to each of the n web pages with the first location, it is determined that the separation distance between the reference position corresponding to each of the n web pages and the first location is within a preset reference distance. When confirmed, a web content crawling management server characterized in that it is confirmed that the reference location corresponding to each of the n web pages matches the first location.
제4항에 있어서,
상기 정보 전송부는
상기 후보 본문 영역이 상기 제1 웹 페이지의 본문 영역인 것으로 결정되면, 상기 제3 웹 페이지들 각각에 대응되는 기준 영역을 상기 제3 웹 페이지들 각각의 본문 영역으로 지정한 후, 상기 제3 웹 페이지들 각각의 본문 영역에 대한 정보를 기록한 본문 영역 테이블을 생성하는 테이블 생성부; 및
상기 본문 영역 테이블이 생성된 이후, 상기 k개의 데이터 수집 서버들 중 다른 하나인 제2 데이터 수집 서버에서 상기 제3 웹 페이지들 중 어느 하나인 제4 웹 페이지에 대한 웹 콘텐츠 데이터 수집 작업이 시작됨에 따라, 상기 제2 데이터 수집 서버로부터, 상기 제4 웹 페이지의 본문 영역에 대한 정보의 전송 요청이 수신되면, 상기 제4 웹 페이지의 본문 영역을 결정하기 위한 과정의 수행 없이, 상기 본문 영역 테이블로부터, 상기 본문 영역 테이블 상에 기록되어 있는 상기 제4 웹 페이지의 본문 영역에 대한 정보를 추출한 후, 상기 제4 웹 페이지의 본문 영역에 대한 정보를 상기 제2 데이터 수집 서버로 전송하는 정보 신속 전송부
를 더 포함하는 웹 콘텐츠 크롤링 관리 서버.
According to paragraph 4,
The information transmission unit
If the candidate body area is determined to be the body area of the first web page, the reference area corresponding to each of the third web pages is designated as the body area of each of the third web pages, and then the third web page a table creation unit that generates a text area table recording information on each text area; and
After the body area table is created, the second data collection server, which is another one of the k data collection servers, starts collecting web content data for the fourth web page, which is one of the third web pages. Accordingly, when a request to transmit information about the body area of the fourth web page is received from the second data collection server, the body area of the fourth web page is selected from the body area table without performing a process for determining the body area of the fourth web page. , an information rapid transmission unit that extracts information about the body area of the fourth web page recorded on the body area table and then transmits the information about the body area of the fourth web page to the second data collection server.
A web content crawling management server further comprising:
복수의 웹 사이트들에 대한 효율적인 분산 크롤링을 지원하는 웹 콘텐츠 크롤링 관리 서버의 동작 방법에 있어서,
상기 복수의 웹 사이트들로부터, 각 웹 사이트를 구성하는 하나 이상의 웹 페이지들의 URL(Uniform Resource Locator)을 모두 수집함으로써, 복수의 웹 페이지들의 URL로 구성된 수집 데이터 셋(set)을 생성하는 단계;
상기 수집 데이터 셋에 포함되어 있는 상기 복수의 웹 페이지들 각각의 URL을 URL 큐(queue)에 저장하는 단계;
상기 URL 큐에 저장되어 있는 상기 복수의 웹 페이지들 각각의 URL을, 상기 URL 큐에서의 저장 순서에 따라 순차적으로 추출하여 k(k는 2 이상의 자연수임)개의 데이터 수집 서버들에 라운드 로빈(round robin) 방식으로 할당하는 단계; 및
상기 k개의 데이터 수집 서버들 각각에 대해, 각 데이터 수집 서버에 할당된 URL의 웹 페이지에 접속하여 웹 콘텐츠 데이터를 수집할 것을 지시하는 작업 명령을 전송하는 단계
를 포함하고,
상기 복수의 웹 페이지들 각각의 URL을 URL 큐에 저장하는 단계는
상기 복수의 웹 페이지들 각각의 URL을, 각 URL이 수집된 웹 사이트별로 그룹화함으로써, 상기 복수의 웹 사이트들 각각에 대응되는 URL 그룹을 생성하는 단계;
상기 복수의 웹 사이트들 각각에 대응되는 URL 그룹에 대해, 각 URL 그룹 내에 포함되어 있는 URL들의 개수가 적은 순으로, 빠른 순번의 그룹 저장 순번을 할당하는 단계; 및
상기 복수의 웹 페이지들 각각의 URL을, URL 그룹별로 구분하여, 각 URL 그룹에 할당되어 있는 그룹 저장 순번에 따라 순차적으로 상기 URL 큐에 저장하되, 동일한 URL 그룹 내에 포함되어 있는 URL들에 대해서는, 랜덤한 저장 순번으로 상기 URL 큐에 저장함으로써, 상기 복수의 웹 페이지들 각각의 URL을 상기 URL 큐에 저장하는 단계
를 포함하는 웹 콘텐츠 크롤링 관리 서버의 동작 방법.
In a method of operating a web content crawling management server that supports efficient distributed crawling of a plurality of websites,
Collecting all URLs (Uniform Resource Locators) of one or more web pages constituting each web site from the plurality of web sites, thereby generating a collection data set consisting of URLs of a plurality of web pages;
storing the URL of each of the plurality of web pages included in the collected data set in a URL queue;
The URLs of each of the plurality of web pages stored in the URL queue are sequentially extracted according to the storage order in the URL queue and sent to k (k is a natural number of 2 or more) data collection servers in a round robin. robin) method; and
For each of the k data collection servers, transmitting a work command instructing to collect web content data by accessing a web page of a URL assigned to each data collection server.
Including,
The step of storing the URL of each of the plurality of web pages in the URL queue is
grouping the URLs of each of the plurality of web pages according to the website from which each URL was collected, thereby creating a URL group corresponding to each of the plurality of web sites;
assigning group storage order numbers in descending order to the URL groups corresponding to each of the plurality of web sites in descending order of the number of URLs included in each URL group; and
The URLs of each of the plurality of web pages are divided into URL groups and sequentially stored in the URL queue according to the group storage order assigned to each URL group. For URLs included in the same URL group, Storing the URL of each of the plurality of web pages in the URL queue by storing them in the URL queue in a random storage order.
A method of operation of a web content crawling management server including.
삭제delete 제7항에 있어서,
상기 k개의 데이터 수집 서버들 각각으로 상기 작업 명령이 전송된 이후, 상기 k개의 데이터 수집 서버들에서, 상기 복수의 웹 페이지들 중 어느 하나의 웹 페이지에 대한 웹 콘텐츠 데이터 수집 작업이 시작될 때마다, 상기 k개의 데이터 수집 서버들로부터, 웹 콘텐츠 데이터 수집을 위한 웹 페이지의 본문 영역에 대한 정보의 전송 요청을 수신하는 단계; 및
상기 k개의 데이터 수집 서버들 중 어느 하나인 제1 데이터 수집 서버에서, 상기 복수의 웹 페이지들 중 어느 하나인 제1 웹 페이지에 대한 웹 콘텐츠 데이터 수집 작업이 시작됨에 따라, 상기 제1 데이터 수집 서버로부터, 상기 제1 웹 페이지의 본문 영역에 대한 정보의 전송 요청이 수신되면, 상기 제1 웹 페이지의 본문 영역에 대한 정보를 확인한 후, 상기 제1 웹 페이지의 본문 영역에 대한 정보를 상기 제1 데이터 수집 서버로 전송하는 단계
를 더 포함하는 웹 콘텐츠 크롤링 관리 서버의 동작 방법.
In clause 7,
After the work command is transmitted to each of the k data collection servers, each time a web content data collection operation for any one of the plurality of web pages is started in the k data collection servers, Receiving, from the k data collection servers, a request to transmit information on the body area of a web page for web content data collection; and
In a first data collection server, which is one of the k data collection servers, as a web content data collection operation for a first web page, which is one of the plurality of web pages, is started, the first data collection server When a request to transmit information about the body area of the first web page is received, the information about the body area of the first web page is checked, and then the information about the body area of the first web page is sent to the first web page. Transfer steps to data collection server
A method of operating a web content crawling management server further comprising:
제9항에 있어서,
상기 제1 웹 페이지의 본문 영역에 대한 정보를 상기 제1 데이터 수집 서버로 전송하는 단계는
상기 제1 데이터 수집 서버에서 상기 제1 웹 페이지에 대한 웹 콘텐츠 데이터 수집 작업이 시작됨에 따라, 상기 제1 데이터 수집 서버로부터, 상기 제1 웹 페이지의 본문 영역에 대한 정보의 전송 요청이 수신되면, 상기 제1 웹 페이지의 본문 영역을 확인하기 위한 본문 영역 확인 이벤트를 발생시키는 단계;
상기 본문 영역 확인 이벤트가 발생되면, 웹 브라우저를 통해 상기 제1 웹 페이지를 렌더링한 후, 렌더링된 상기 제1 웹 페이지를 구성하는 마크업 언어(markup language) 코드를 파싱(parsing)하여, 상기 제1 웹 페이지를 구성하는 복수의 부분 영역들의 크기를 확인하는 단계;
상기 제1 웹 페이지를 구성하는 복수의 부분 영역들 중 최대의 크기를 갖는 부분 영역을 후보 본문 영역으로 지정한 후, 상기 후보 본문 영역의 상기 제1 웹 페이지 상에서의 배치 위치인 제1 위치를 확인하는 단계;
상기 제1 웹 페이지를 포함하는 웹 사이트인 제1 웹 사이트를 구성하는 복수의 제2 웹 페이지들로부터, n(n은 2 이상의 자연수임)개의 웹 페이지들을 랜덤하게 선택하고, 상기 웹 브라우저를 통해 상기 n개의 웹 페이지들 각각을 렌더링한 후, 렌더링된 상기 n개의 웹 페이지들 각각의 마크업 언어 코드를 파싱하여, 상기 n개의 웹 페이지들 각각을 구성하는 복수의 부분 영역들의 크기를 확인하는 단계;
상기 n개의 웹 페이지들 각각에 대해, 각 웹 페이지를 구성하는 복수의 부분 영역들 중 최대의 크기를 갖는 부분 영역을 기준 영역으로 지정함으로써, 상기 n개의 웹 페이지들 각각에 대응되는 기준 영역을 지정한 후, 상기 n개의 웹 페이지들 각각에 대응되는 기준 영역의 각 웹 페이지 상에서의 배치 위치를, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치로 확인하는 단계;
상기 n개의 웹 페이지들 각각에 대응되는 기준 위치가 상기 제1 위치와 매칭되는지 여부를 확인하여, 상기 n개의 웹 페이지들 중 사전 설정된 기준 개수 이상의 제3 웹 페이지들 각각에 대응되는 기준 위치가 상기 제1 위치와 매칭되는 것으로 확인되면, 상기 후보 본문 영역을 상기 제1 웹 페이지의 본문 영역인 것으로 결정하는 단계; 및
상기 후보 본문 영역이 상기 제1 웹 페이지의 본문 영역인 것으로 결정되면, 상기 후보 본문 영역에 대한 정보를 상기 제1 웹 페이지의 본문 영역에 대한 정보로 지정하여 상기 제1 데이터 수집 서버로 전송하는 단계
를 포함하는 웹 콘텐츠 크롤링 관리 서버의 동작 방법.
According to clause 9,
The step of transmitting information about the body area of the first web page to the first data collection server
As the first data collection server starts collecting web content data for the first web page, when a request to transmit information about the body area of the first web page is received from the first data collection server, generating a body area confirmation event to check the body area of the first web page;
When the body area confirmation event occurs, the first web page is rendered through a web browser, then the markup language code constituting the rendered first web page is parsed, and the first web page is rendered. 1 Checking the sizes of a plurality of partial areas constituting a web page;
After designating a partial area with the largest size among a plurality of partial areas constituting the first web page as a candidate body area, confirming the first position, which is the placement position of the candidate body area, on the first web page. step;
From a plurality of second web pages constituting the first website, which is a website including the first web page, n (n is a natural number of 2 or more) web pages are randomly selected and displayed through the web browser. After rendering each of the n web pages, parsing the markup language code of each of the rendered n web pages to check the size of a plurality of partial regions constituting each of the n web pages. ;
For each of the n web pages, a reference area corresponding to each of the n web pages is designated by designating a partial area with the largest size among a plurality of partial areas constituting each web page as a reference area. Afterwards, confirming the arrangement position of the reference area corresponding to each of the n web pages on each web page as the reference position corresponding to each of the n web pages;
By checking whether the reference position corresponding to each of the n web pages matches the first location, the reference position corresponding to each of the third web pages of a preset reference number or more among the n web pages is determined by the first location. If confirmed to match the first location, determining the candidate body region to be a body region of the first web page; and
When the candidate body area is determined to be the body area of the first web page, designating the information about the candidate body area as information about the body area of the first web page and transmitting it to the first data collection server.
A method of operation of a web content crawling management server including.
제10항에 있어서,
상기 제1 위치를 확인하는 단계는
상기 후보 본문 영역을 구성하는 꼭짓점들 중 어느 하나인 기준 꼭짓점의 상기 제1 웹 페이지 상에서의 위치를, 상기 후보 본문 영역의 상기 제1 웹 페이지 상에서의 배치 위치인 상기 제1 위치로 확인하고,
상기 n개의 웹 페이지들 각각에 대응되는 기준 위치로 확인하는 단계는
상기 n개의 웹 페이지들 각각에 대응되는 기준 영역을 구성하는 꼭짓점들 중 상기 기준 꼭짓점과 대응되는 지점의 꼭짓점의 각 웹 페이지 상에서의 위치를, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치로 확인하며,
상기 제1 웹 페이지의 본문 영역인 것으로 결정하는 단계는
상기 n개의 웹 페이지들 각각에 대응되는 기준 위치와 상기 제1 위치를 서로 비교하여, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치와 상기 제1 위치 간의 이격 거리가 사전 설정된 기준 거리 이내인 것으로 확인되는 경우, 상기 n개의 웹 페이지들 각각에 대응되는 기준 위치가 상기 제1 위치와 매칭되는 것으로 확인하는 것을 특징으로 하는 웹 콘텐츠 크롤링 관리 서버의 동작 방법.
According to clause 10,
The step of confirming the first location is
Confirming the position of a reference vertex, which is one of the vertices constituting the candidate body area, on the first web page as the first position, which is the placement position of the candidate body area on the first web page,
The step of checking the reference location corresponding to each of the n web pages is
Among the vertices constituting the reference area corresponding to each of the n web pages, the position of the vertex corresponding to the reference vertex on each web page is confirmed as the reference position corresponding to each of the n web pages. And
The step of determining that it is the body area of the first web page is
By comparing the reference position corresponding to each of the n web pages with the first location, it is determined that the separation distance between the reference position corresponding to each of the n web pages and the first location is within a preset reference distance. When confirmed, a method of operating a web content crawling management server, characterized in that it is confirmed that the reference location corresponding to each of the n web pages matches the first location.
제10항에 있어서,
상기 제1 웹 페이지의 본문 영역에 대한 정보를 상기 제1 데이터 수집 서버로 전송하는 단계는
상기 후보 본문 영역이 상기 제1 웹 페이지의 본문 영역인 것으로 결정되면, 상기 제3 웹 페이지들 각각에 대응되는 기준 영역을 상기 제3 웹 페이지들 각각의 본문 영역으로 지정한 후, 상기 제3 웹 페이지들 각각의 본문 영역에 대한 정보를 기록한 본문 영역 테이블을 생성하는 단계; 및
상기 본문 영역 테이블이 생성된 이후, 상기 k개의 데이터 수집 서버들 중 다른 하나인 제2 데이터 수집 서버에서 상기 제3 웹 페이지들 중 어느 하나인 제4 웹 페이지에 대한 웹 콘텐츠 데이터 수집 작업이 시작됨에 따라, 상기 제2 데이터 수집 서버로부터, 상기 제4 웹 페이지의 본문 영역에 대한 정보의 전송 요청이 수신되면, 상기 제4 웹 페이지의 본문 영역을 결정하기 위한 과정의 수행 없이, 상기 본문 영역 테이블로부터, 상기 본문 영역 테이블 상에 기록되어 있는 상기 제4 웹 페이지의 본문 영역에 대한 정보를 추출한 후, 상기 제4 웹 페이지의 본문 영역에 대한 정보를 상기 제2 데이터 수집 서버로 전송하는 단계
를 더 포함하는 웹 콘텐츠 크롤링 관리 서버의 동작 방법.
According to clause 10,
The step of transmitting information about the body area of the first web page to the first data collection server
If the candidate body area is determined to be the body area of the first web page, the reference area corresponding to each of the third web pages is designated as the body area of each of the third web pages, and then the third web page generating a text area table recording information on each text area; and
After the body area table is created, the second data collection server, which is another one of the k data collection servers, starts collecting web content data for the fourth web page, which is one of the third web pages. Accordingly, when a request to transmit information about the body area of the fourth web page is received from the second data collection server, the body area of the fourth web page is selected from the body area table without performing a process for determining the body area of the fourth web page. , extracting information about the body area of the fourth web page recorded in the body area table, and then transmitting the information about the body area of the fourth web page to the second data collection server.
A method of operating a web content crawling management server further comprising:
제7항, 제9항, 제10항, 제11항 또는 제12항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium recording a computer program for executing the method of any one of claims 7, 9, 10, 11, or 12 through combination with a computer. 제7항, 제9항, 제10항, 제11항 또는 제12항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.A computer program stored in a storage medium for executing the method of any one of claims 7, 9, 10, 11, or 12 through combination with a computer.
KR1020210050857A 2021-04-20 2021-04-20 Web contents crawling management server which supports efficient distributed crawling for a pluraliy of web sites and the operating method thereof KR102602178B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210050857A KR102602178B1 (en) 2021-04-20 2021-04-20 Web contents crawling management server which supports efficient distributed crawling for a pluraliy of web sites and the operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210050857A KR102602178B1 (en) 2021-04-20 2021-04-20 Web contents crawling management server which supports efficient distributed crawling for a pluraliy of web sites and the operating method thereof

Publications (2)

Publication Number Publication Date
KR20220144496A KR20220144496A (en) 2022-10-27
KR102602178B1 true KR102602178B1 (en) 2023-11-14

Family

ID=83810452

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210050857A KR102602178B1 (en) 2021-04-20 2021-04-20 Web contents crawling management server which supports efficient distributed crawling for a pluraliy of web sites and the operating method thereof

Country Status (1)

Country Link
KR (1) KR102602178B1 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120042529A (en) * 2010-10-25 2012-05-03 삼성전자주식회사 Method and apparatus for crawling web page
KR102221045B1 (en) * 2018-08-08 2021-02-25 동명대학교산학협력단 Multi-threaded Web Crawling System

Also Published As

Publication number Publication date
KR20220144496A (en) 2022-10-27

Similar Documents

Publication Publication Date Title
JP5353148B2 (en) Image information retrieving apparatus, image information retrieving method and computer program therefor
US7653623B2 (en) Information searching apparatus and method with mechanism of refining search results
JP2010073114A6 (en) Image information retrieving apparatus, image information retrieving method and computer program therefor
US8271523B2 (en) Coordination server, data allocating method, and computer program product
US20060015820A1 (en) Fixed window selection
JP2004258911A (en) Server, method for collecting information, and program
US7805426B2 (en) Defining a web crawl space
CN1811757A (en) System and method for locating pages on the world wide web and for locating documents from a network of computers
GB2503549A (en) Automatically associating tags with files in a computer system using search keywords.
WO2008073784A1 (en) Web site structure analysis
CN1531303A (en) Caching system and method at user terminal without protocol concerned
CN106294352A (en) A kind of document handling method, device and file system
US8055744B2 (en) Resolution of group membership for resources
KR102602178B1 (en) Web contents crawling management server which supports efficient distributed crawling for a pluraliy of web sites and the operating method thereof
US7904570B1 (en) Configurable file placement
KR102484177B1 (en) Design method for profile sharing in container environment, recording medium and device for performing the method
US20090248673A1 (en) Method of sorting web pages, search terminal and client terminal
CN106796644A (en) Access control system and access control method
CN101415029A (en) Method and apparatus for distributing files
CN110928860B (en) Data migration method and device
CN114491210A (en) Data acquisition method and device based on web crawler
CN113364848A (en) File caching method and device, electronic equipment and storage medium
CN110275863A (en) File moving method, device and storage medium
CN111368231A (en) Method and device for testing heterogeneous redundant architecture website
US7823110B2 (en) Method and system for processing geometrical layout design data

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant