KR102120465B1 - Method of providing comprehensive product information - Google Patents
Method of providing comprehensive product information Download PDFInfo
- Publication number
- KR102120465B1 KR102120465B1 KR1020170149407A KR20170149407A KR102120465B1 KR 102120465 B1 KR102120465 B1 KR 102120465B1 KR 1020170149407 A KR1020170149407 A KR 1020170149407A KR 20170149407 A KR20170149407 A KR 20170149407A KR 102120465 B1 KR102120465 B1 KR 102120465B1
- Authority
- KR
- South Korea
- Prior art keywords
- information
- product
- option
- shopping mall
- crawler
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
Abstract
종합 상품 정보 제공 방법은, 복수의 쇼핑몰 사이트들과 연결된 종합 상품 정보 제공 서버에서 수행된다. 종합 상품 정보 제공 방법은, 제1 크롤러(crawler)를 구동하여 상기 복수의 쇼핑몰들 중 하나를 선택하여 접속하는 단계; 상기 선택된 하나의 쇼핑몰에서 상품의 기본 정보를 추출하는 단계; 상기 추출된 기본 정보를 데이터베이스에 저장하는 단계; 제2 크롤러를 구동하여 상기 데이터베이스에 저장된 상기 상품의 상기 기본 정보 중 상기 상품의 상기 상세설명 페이지 URL 주소로 접속하는 단계; 상기 상품 상세설명 페이지 URL 주소에 대응하는 페이지의 하이퍼텍스트 마크업 언어(hypertext Markup Language; HTML) 소스로부터 상품의 옵션 정보를 추출하는 단계; 및 상기 추출된 옵션 정보를 상기 상품의 상기 기본 정보와 매칭하여 저장하는 단계를 포함한다.The method for providing comprehensive product information is performed by a comprehensive product information providing server connected to a plurality of shopping mall sites. The method for providing comprehensive product information may include driving a first crawler to select and access one of the plurality of shopping malls; Extracting basic information of a product from the selected shopping mall; Storing the extracted basic information in a database; Driving a second crawler to access the detailed description page URL address of the product among the basic information of the product stored in the database; Extracting option information of a product from a hypertext markup language (HTML) source of a page corresponding to the product description page URL address; And matching and storing the extracted option information with the basic information of the product.
Description
본 발명은 종합 상품 정보 제공 기술에 관한 것으로, 보다 상세하게는 여러 쇼핑몰에서 제공되는 상품들(또는 상품 정보들)을 하나의 오픈 마켓에서 종합하여 제공하는 종합 상품 정보 제공 방법에 관한 것이다. The present invention relates to a technology for providing comprehensive product information, and more particularly, to a method for providing comprehensive product information by providing products (or product information) provided in various shopping malls in a single open market.
개인 온라인 쇼핑몰들은 2006년을 기준으로 웹사이트를 통하여 활성화된 시장이다. 현재까지 꾸준한 성장을 통해 15조원(2015년 기준)에 달하는 시장이 되었다. 그리고 웹사이트로 시작한 온라인 쇼핑몰들은 급속도로 PC기반의 시장에서 모바일 시장으로 전환하는 시장에 적응하기 위해 오픈 마켓(쿠팡, 위메프, 11번가 등)를 이용하고 있다.Personal online shopping malls are active markets through websites as of 2006. The market has grown to 15 trillion won (as of 2015) through steady growth. And online shopping malls started as websites are using open markets (Kupang, Weimef, 11th Street, etc.) to adapt to the market that is rapidly changing from the PC-based market to the mobile market.
하지만, 온라인 쇼핑몰이 오픈 마켓에 상품을 판매하기 위해서는 번거로운 업로드 과정을 거쳐야 한다. 쇼핑몰들은 자사 사이트에 이미 업로드 된 상품들을 오픈 마켓에 등록하기 위해서 다시 업로드를 해야 한다. 즉, 판매 채널 확장을 위해 여러 번의 업로드 과정이 필요하다. 스마트폰 시대에 적응하기 위해 온라인 쇼핑몰들이 어쩔 수 없이 모바일 오픈마켓을 판매 채널로 이용하고 있지만, 모든 상품을 업로드 할 수 없고, 높은 수수료(평균 15%)로 인해 홍보 용도와 이월 상품을 판매하는 창구 정도로 이용하고 있다.However, online shopping malls have to go through a cumbersome upload process in order to sell products in the open market. Shopping malls must upload again to register products already uploaded to their site in the open market. That is, multiple upload processes are required to expand the sales channel. In order to adapt to the smartphone era, online shopping malls are inevitably using the mobile open market as a sales channel, but they cannot upload all products, and because of high fees (average 15%), they are a window to sell promotional and carryover products. I use it to the extent.
본 발명은 상술한 오픈 마켓의 문제점(즉, 번거로운 업로드)을 해결하기 위해 안출된 것으로, 상품 업로드 과정이 없는 오픈 마켓, 즉, 종합 상품 정보 제공 방법을 제공하는 것이다.The present invention has been devised to solve the above-described problems of the open market (that is, cumbersome upload), and provides an open market without a product upload process, that is, a method for providing comprehensive product information.
상기 일 목적을 달성하기 위하여 본 발명의 실시예들에 따른 종합 상품 정보 제공 방법은, 복수의 쇼핑몰 사이트들과 연결된 종합 상품 정보 제공 서버에서 수행될 수 있다. 종합 상품 정보 제공 방법은, 제1 크롤러(crawler)를 구동하여 상기 복수의 쇼핑몰들 중 하나를 선택하여 접속하는 단계; 상기 선택된 하나의 쇼핑몰에서 상품의 기본 정보를 추출하는 단계- 상기 기본 정보는, 상기 선택된 하나의 쇼핑몰에서 사용되는 상기 상품의 식별정보, 상기 상품의 이름 정보, 상기 상품의 가격 정보, 상기 상품의 상세설명 페이지 유알엘(uniform resource locator; URL) 주소 정보, 상기 상품의 이미지 URL 주소 정보, 상기 상품의 카테고리 정보 및 상기 상품의 품절 유무 정보를 포함함-; 상기 추출된 기본 정보를 데이터베이스에 저장하는 단계; 제2 크롤러를 구동하여 상기 데이터베이스에 저장된 상기 상품의 상기 기본 정보 중 상기 상품의 상기 상세설명 페이지 URL 주소로 접속하는 단계; 상기 상품 상세설명 페이지 URL 주소에 대응하는 페이지의 하이퍼텍스트 마크업 언어(hypertext Markup Language; HTML) 소스로부터 상품의 옵션 정보를 추출하는 단계; 및 상기 추출된 옵션 정보를 상기 상품의 상기 기본 정보와 매칭하여 저장하는 단계를 포함 할 수 있다. 여기서, 상기 옵션 정보는, 상기 상품의 색상 정보, 상기 상품의 사이즈 정보, 상기 상품의 옵션별 추가 가격 정보 및 상기 상품의 옵션별 품절 유무 정보를 포함 할 수 있다.In order to achieve the above object, a method for providing comprehensive product information according to embodiments of the present invention may be performed in a comprehensive product information providing server connected to a plurality of shopping mall sites. The method for providing comprehensive product information may include driving a first crawler to select and access one of the plurality of shopping malls; Extracting basic information of the product from the selected one shopping mall-the basic information includes identification information of the product used in the selected one shopping mall, name information of the product, price information of the product, and details of the product Description page Contains uniform resource locator (URL) address information, image URL address information of the product, category information of the product, and out-of-stock information of the product; Storing the extracted basic information in a database; Driving a second crawler to access the detailed description page URL address of the product among the basic information of the product stored in the database; Extracting option information of a product from a hypertext markup language (HTML) source of a page corresponding to the product description page URL address; And matching and storing the extracted option information with the basic information of the product. Here, the option information may include color information of the product, size information of the product, additional price information for each option of the product, and information about whether the product is sold out by option.
일 실시예에 의하면, 상기 상품의 상기 기본 정보를 추출하는 단계는, 상기 선택된 하나의 쇼핑몰의 메인 페이지에서 카테고리들을 파악하는 단계; 및 상기 카테고리들 중에서 선택된 하나의 카테고리에 대응하는 페이지에서 상기 상품의 상기 기본 정보를 파악하는 단계를 포함 할 수 있다.According to an embodiment, the step of extracting the basic information of the product may include: identifying categories on a main page of the selected shopping mall; And identifying the basic information of the product on a page corresponding to one selected from the categories.
일 실시예에 의하면, 상기 상품의 상기 옵션 정보를 추출하는 단계는, 제1 옵션의 제1 옵션 값들을 추출하는 단계; 상기 제1 옵션에 제1 옵션 값들 중 하나를 입력하여 상기 제1 옵션에 종속적인 제2 옵션의 제2 옵션 값들을 파악하는 단계; 및 상기 제2 옵션에 제2 옵션 값들을 입력하여 추가 가격 정보 및 품절 유무 정보를 추출하는 단계를 포함 할 수 있다.According to an embodiment, extracting the option information of the product may include: extracting first option values of the first option; Grasping second option values of a second option dependent on the first option by inputting one of the first option values to the first option; And extracting additional price information and out-of-stock information by inputting second option values in the second option.
일 실시예에 의하면, 상기 복수의 쇼핑몰들 중 상기 선택된 하나에 접속하는 단계는, 상기 복수의 쇼핑몰들 중 상기 선택된 하나에 대한 크롤링 작업을 제1 주기 이내에 수행한 기록이 존재하는지 여부를 판단하는 단계; 상기 크롤링 작업이 제1 주기 이내에 수행한 기록이 존재하는 경우, 상기 복수의 쇼핑몰들 중 상기 선택된 하나에 대한 크롤링 작업을 종료하는 단계; 및 상기 복수의 쇼핑몰들 중 상기 선택된 하나와 다른 하나를 선택하는 단계를 포함 할 수 있다.According to an embodiment, the step of accessing the selected one of the plurality of shopping malls may include determining whether there is a record of crawling the selected one of the plurality of shopping malls within a first cycle. ; When there is a record that the crawling operation is performed within a first cycle, terminating the crawling operation for the selected one of the plurality of shopping malls; And selecting one different from the selected one of the plurality of shopping malls.
일 실시예에 의하면, 상기 상품의 상기 기본 정보를 추출하는 단계는, 주기적으로 상기 기본 정보를 추출하는 작업 시간이 기준 작업 시간을 초과하는지 여부를 판단하는 단계; 및 상기 작업 시간이 기준 작업 시간을 초과하는 경우, 상기 기본 정보의 추출 작업을 종료하는 단계를 포함 할 수 있다.According to an embodiment, the step of extracting the basic information of the product may include: periodically determining whether a working time for extracting the basic information exceeds a reference working time; And when the working time exceeds the reference working time, terminating the extraction of the basic information.
본 발명의 실시예들에 따르면, 종합 상품 정보 제공 방법(또는, 크롤링 방법)은 여러 쇼핑몰들에서 상품 정보를 수집하여, 데이터베이스를 구축함으로써, 쇼핑몰들(또는, 쇼핑몰들의 판매자)로 하여금 별도의 업로드 과정(즉, 상품 정보의 업로드 과정) 없이 오픈 마켓 시장(또는, 모바일 오픈 마켓 시장)에서 상품을 판매할 수 있도록 하며, 또한, 사용자로 하여금 실시간으로 쇼핑몰들의 상품에 대한 확인 및 구매가 가능하도록 할 수 있다.According to embodiments of the present invention, the method for providing comprehensive product information (or crawling method) collects product information from various shopping malls and builds a database, thereby allowing shopping malls (or sellers of shopping malls) to upload separately. Allows users to sell products in the open market market (or mobile open market market) without a process (ie, product information upload process), and also enables users to check and purchase products in shopping malls in real time. Can be.
또한, 종합 상품 정보 제공 방법은, 크롤링 작업 시간을 제한하여 크롤링 작업으로 인한 쇼핑몰 사이트의 과도한 트래픽 발생을 방지하고, 크로링 작업 이력이 존재하는지 여부를 판단하여(또는, 제1 주기 이내에 크롤링 작업이 수행되는지 여부를 판단하여) 무분별한 크롤링 작업이 수행되는 것을 방지할 수 있다.In addition, the method for providing comprehensive product information prevents excessive traffic from the shopping mall site due to the crawling operation by limiting the crawling operation time, and determines whether or not a history of the crawling operation exists (or crawling operation within a first cycle). By determining whether it is performed), it is possible to prevent the indiscriminate crawl operation.
도 1은 본 발명의 실시예들에 따른 종합 상품 정보 제공 시스템을 나타내는 도면이다.
도 2는 도 1의 종합 상품 정보 제공 시스템에 포함된 동기화 로봇의 동작을 설명하는 도면이다.
도 3a는 쇼핑몰을 통해 제공되는 상품 정보의 일 예를 나타내는 도면이다.
도 3b는 쇼핑몰을 통해 획득되는 상품 정보의 구조를 나타내는 블록도이다.
도 4는 도 1의 종합 상품 정보 제공 시스템에서 수행되는 종합 상품 정보 제공 방법을 나타내는 순서도이다.
도 5a는 쇼핑몰을 통해 제공되는 상품 정보의 일 예를 나타내는 도면이다.
도 5b는 쇼핑몰에서 추출된 상품의 기본 정보의 일 예를 나타내는 도면이다.
도 6은 데이터베이스에 저장된 상품 정보의 일 예를 나타내는 도면이다.
도 7은 쇼핑몰 별로 상품 정보를 획득하는 구성의 일 예를 나타내는 도면이다.
도 8은 쇼핑몰에서 제공되는 상품 세부 정보 페이지의 일 예를 나타내는 도면이다.
도 9는 도 8의 페이지에서 추출된 HTML 소스의 일 예를 나타내는 도면이다.
도 10a는 도 9의 HTML 소스에 옵션 정보가 포함된 경우, 옵션 정보를 추출하는 방법을 나타내는 순서도이다.
도 10b는 도 9의 HTML 소스에 옵션 정보가 미 포함된 경우, 옵션 정보를 추출하는 방법을 나타내는 순서도이다.
도 11은 동기화 로봇의 크롤링 작업 순서의 일 예를 나타내는 도면이다.
도 12는 도 1의 종합 상품 정보 제공 시스템의 일 예를 나타내는 블록도이다.
도 13은 도 12의 종합 상품 정보 제공 시스템에서 동기화 로봇을 모니터링 하는 방법을 나타내는 순서도이다.1 is a view showing a system for providing comprehensive product information according to embodiments of the present invention.
FIG. 2 is a view for explaining the operation of the synchronization robot included in the comprehensive product information providing system of FIG. 1.
3A is a diagram illustrating an example of product information provided through a shopping mall.
3B is a block diagram showing the structure of product information obtained through a shopping mall.
4 is a flowchart illustrating a method for providing comprehensive product information performed in the comprehensive product information providing system of FIG. 1.
5A is a diagram illustrating an example of product information provided through a shopping mall.
5B is a diagram showing an example of basic information of a product extracted from a shopping mall.
6 is a diagram showing an example of product information stored in a database.
7 is a view showing an example of a configuration for obtaining product information for each shopping mall.
8 is a diagram illustrating an example of a product detail page provided in a shopping mall.
9 is a diagram illustrating an example of an HTML source extracted from the page of FIG. 8.
FIG. 10A is a flowchart illustrating a method of extracting option information when the option information is included in the HTML source of FIG. 9.
FIG. 10B is a flowchart illustrating a method of extracting option information when the option information is not included in the HTML source of FIG. 9.
11 is a view showing an example of a crawling operation sequence of a synchronization robot.
12 is a block diagram illustrating an example of a system for providing comprehensive product information of FIG. 1.
13 is a flowchart illustrating a method for monitoring a synchronization robot in the system for providing comprehensive product information of FIG. 12.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. The same reference numerals are used for the same components in the drawings, and duplicate descriptions for the same components are omitted.
종합 상품 정보 제공 방법(또는, 크롤링 방법, 종합 상품 정보 제공 시스템)은 쇼핑몰들의 웹페이지에 등록되어 있는 상품 정보를 수집하여 데이터베이스화(또는, DB화) 할 수 있다. 종합 상품 정보 제공 방법은 크롤링(crawling)이라는 정보 검색 기술을 이용하여 쇼핑몰들의 상품 정보를 수집하고, 정규표현식을 이용하여 수집된 상품정보를 데이터화하고, 상품 정보를 데이터화하는 과정을 반복적으로 수행하여, 오픈 마켓(또는, 판매 채널, 종합 상품 정보 제공 서버)의 데이터베이스를 구축할 수 있다.The method for providing the comprehensive product information (or the crawling method and the comprehensive product information providing system) may collect product information registered on the web pages of shopping malls and make a database (or DB). The comprehensive product information providing method collects product information of shopping malls by using an information retrieval technique called crawling, repeatedly collects product information using regular expressions, and repeatedly processes the product information into data, An open market (or sales channel, comprehensive product information providing server) database can be built.
따라서, 쇼핑몰들의 상품 정보들은 실시간으로 동기화되어 오픈 마켓을 통해 제공되고, 사용자들(또는, 구매자들)은 간편하게 여러 쇼핑몰들의 상품을 한 번에 확인하고, 용이하게 상품을 구매할 수 있다. 상품의 판매자들(또는, 쇼핑몰의 운영자들)은, 오픈 마켓을 통해 판매되는 상품에 대한 알림 정보를 수신하고, 별도로 제공되는 오픈 마켓의 관리자 페이지를 통해 판매 상품을 확인하며, 해당 상품에 대한 배송을 수행할 수 있다. 따라서, 판매자들은 용이하게 해당 쇼핑몰의 상품 정보를 오픈 마켓을 통해 사용자들에게 제공할 수 있을 뿐만 아니라, 사용자들은 보다 다양한 상품 정보들을 제공받아, 보다 사용자 취향에 부합하는 상품을 획득할 수 있다.Therefore, product information of shopping malls is synchronized in real time and provided through an open market, and users (or buyers) can easily check products of several shopping malls at once and easily purchase products. The sellers of the products (or the operators of the shopping mall) receive notification information about the products sold through the open market, check the sale products through the manager page of the open market provided separately, and deliver the products. You can do Therefore, not only can sellers easily provide product information of the corresponding shopping mall to users through an open market, but users can also receive more various product information and obtain products that meet more user preferences.
한편, 본 발명에서 사용되는 일부 용어를 아래와 같이 정의할 수 있다.Meanwhile, some terms used in the present invention may be defined as follows.
데이터베이스 동기화(또는, DB 동기화)는 웹 페이지(또는, 쇼핑몰의 홈페이지)에 등록되어 있는 상품 정보를 데이터베이스화 시키는 행위에 해당할 수 있다.Database synchronization (or DB synchronization) may correspond to an act of databaseizing product information registered on a web page (or a shopping mall homepage).
동기화 로봇(또는, 크롤러(crawler))은 DB 동기화를 연속적으로 수행하여 오픈 마켓(또는, 판매 채널, 종합 상품 정보 제공 서버)에 자동으로 업로드 하는 주체에 해당할 수 있다. The synchronization robot (or crawler) may correspond to a subject that automatically performs DB synchronization and automatically uploads it to an open market (or a sales channel, a server for providing comprehensive product information).
오픈 마켓(또는, 판매 채널, 종합 상품 정보 제공 서버)는 DB 동기화를 이용하여 구축된 오픈 마켓에 해당하거나, 사용자들(또는, 구매자들)이 다양한 쇼핑몰의 상품 정보를 한번에 확인할 수 있는 플랫폼에 해당하며, 모바일 어플리케이션 등으로 구현될 수 있다. The open market (or sales channel, server for providing comprehensive product information) corresponds to an open market built using DB synchronization, or a platform where users (or buyers) can check product information of various shopping malls at once. And may be implemented as a mobile application.
쇼핑몰(또는, 온라인 쇼핑몰)은 웹 페이지를 이용하여 쇼핑몰을 구축한 판매자에 해당하고, 사용자(또는, 구매자, 유저)는 오픈 마켓을 이용하여 온라인 쇼핑몰들의 상품을 구매하고 확인하는 주체에 해당할 수 있다. A shopping mall (or online shopping mall) may correspond to a seller who has built a shopping mall using a web page, and a user (or a buyer, a user) may be a subject who purchases and checks products of online shopping malls using an open market. have.
쇼핑몰 관리자 페이지는 오픈 마켓에서 사용자가 구매한 상품(또는, 판매 상품)을 확인할 수 있는 웹페이지 일 수 있다.The shopping mall manager page may be a web page where a user can check a product (or a sale product) purchased in the open market.
도 1은 본 발명의 실시예들에 따른 종합 상품 정보 제공 시스템을 나타내는 도면이고, 도 2는 도 1의 종합 상품 정보 제공 시스템에 포함된 동기화 로봇의 동작을 설명하는 도면이다. 도 3a는 쇼핑몰을 통해 제공되는 상품 정보의 일 예를 나타내는 도면이며, 도 3b는 쇼핑몰을 통해 획득되는 상품 정보의 구조를 나타내는 블록도이다.1 is a view showing a system for providing comprehensive product information according to embodiments of the present invention, and FIG. 2 is a view for explaining the operation of a synchronization robot included in the system for providing comprehensive product information in FIG. 1. 3A is a diagram illustrating an example of product information provided through a shopping mall, and FIG. 3B is a block diagram showing a structure of product information acquired through a shopping mall.
도 1 및 도 2를 참조하면, 종합 상품 정보 제공 시스템(100)은 복수의 온라인 쇼핑몰 사이트(110), 종합 상품 정보 제공 서버(120) 및 사용자 단말(130)을 포함할 수 있다. 복수의 온라인 쇼핑몰 사이트(110), 종합 상품 정보 제공 서버(120) 및 사용자 단말(130)은 유/무선 네트워크를 통해 상호 연결될 수 있다.1 and 2, the comprehensive product
종합 상품 정보 제공 서버(120)는 동기화 로봇(121) 및 데이터베이스(DB)(122)를 포함하고, 동기화 로봇(121)을 이용하여 상품 정보를 수집하고, DB(122)를 구축할 수 있다. 구축된 DB에 포함된 상품 정보는 사용자 단말(130)에 제공될 수 있다.The comprehensive product
동기화 로봇(121)은 여러 쇼핑몰들(또는, 복수의 쇼핑몰들) 각각의 웹 페이지를 체크하고, 신상품이 확인 되거나(즉, 신규 상품 정보가 업로드 되거나) 상품 형태의 변화가 확인되는 경우(즉, 종래 상품 정보가 변경되는 경우), 해당 상품 정보를 오픈 마켓(또는, 종합 상품 정보 제공 서버(120))의 DB(122)에 업로드/저장 하거나 갱신 할 수 있다. The
이 경우, 도 3a에 도시된 바와 같이, 여러 쇼핑몰들의 다양한 상품 정보가 오픈 마켓을 통해 제공되며, 사용자는 손쉽게 상품을 확인 및 구매할 수 있다. 앞서 설명한 바와 같이, 판매 상품은 쇼핑몰 관리자 페이지에서 확인되며, 이를 통해 판매자는 판매 상품을 사용자에게 보낼 수 있다.In this case, as shown in FIG. 3A, various product information of various shopping malls is provided through an open market, and a user can easily check and purchase the product. As described above, the sale product is checked on the shopping mall manager page, and through this, the seller can send the sale product to the user.
실시예들에서, 동기화 로봇(121)은 쇼핑몰의 웹 페이지에서 상품의 기본 정보 및 상품 옵션(또는, 옵션 정보)을 획득할 수 있다.In embodiments, the
동기화 로봇(121)은 쇼핑몰에 URL 요청(또는, URL 주소에 기초하여 정보의 제공을 요청하는 작업)을 수행하여, 상품의 기본 정보를 획득할 수 있다. 예를 들어, 쇼핑몰에서 제공되는 정보는, 도 3b에 도시된 바와 같이, 상품의 카테고리 유형 정보(IF1), 상품 종류, 상품별 기본 정보(IF2)와, 상품별 옵션 정보(IF3)로 단계적으로 구분될 수 있다. 상품의 기본 정보는 도 3b에 도시된 바와 같이, 쇼핑몰의 웹 페이지의 “카테고리” 유형이 클릭된 경우 제공되는 페이지에서 획득될 수 있다. The
한편, 동기화 로봇(121)은 해당 페이지의 HTML 소스를 통해 제1 내지 제8 기본 정보들을 획득할 수 있다. 제1 내지 제8 기본 정보들은 쇼핑몰의 상품 식별정보(또는, ID), 상품 이름 정보, 상품 가격 정보, 상품의 상세설명 페이지 URL 정보, 상품의 상세설명 모바일 페이지 URL 정보, 상품 이미지 URL 정보, 상품의 카테고리 정보(예를 들어, 아우터, 자켓 등), 상품의 품절 유무 정보를 포함할 수 있다.Meanwhile, the
참고로, 동일한 분야의 쇼핑몰들은 대부분 유사한 URL 소스를 사용하지만, 상품 이름 정보, 품절 유무 정보 등은 쇼핑몰별로 상이하게 제공될 수 있다. 따라서, 종합 상품 정보 제공 서버는 쇼핑몰 별로 코드 최적화를 수행할 수 있다.For reference, most shopping malls in the same field use similar URL sources, but product name information, out of stock information, and the like may be provided differently for each shopping mall. Therefore, the comprehensive product information providing server can perform code optimization for each shopping mall.
도 4는 도 1의 종합 상품 정보 제공 시스템에서 수행되는 종합 상품 정보 제공 방법을 나타내는 순서도이다. 도 5a는 쇼핑몰을 통해 제공되는 상품 정보의 일 예를 나타내는 도면이고, 도 5b는 쇼핑몰에서 추출된 상품의 기본 정보의 일 예를 나타내는 도면이며, 도 6은 데이터베이스에 저장된 상품 정보의 일 예를 나타내는 도면이다. 도 7은 도 1의 종합 상품 정보 제공 시스템에 포함된 동기화 로봇의 동작을 설명하는 도면이다.4 is a flowchart illustrating a method for providing comprehensive product information performed in the comprehensive product information providing system of FIG. 1. 5A is a diagram showing an example of product information provided through a shopping mall, FIG. 5B is a diagram showing an example of basic information of a product extracted from a shopping mall, and FIG. 6 is an example of product information stored in a database It is a drawing. 7 is a view for explaining the operation of the synchronization robot included in the comprehensive product information providing system of FIG. 1.
도 1 내지 도 4를 참조하면, 도 4의 방법은 동기화 로봇(121)(또는, 종합 상품 정보 제공 서버(120))에서 수행될 수 있다. 1 to 4, the method of FIG. 4 may be performed by the synchronization robot 121 (or the general product information providing server 120 ).
도 4의 방법은 쇼핑몰이 가지는 카테고리들을 정렬할 수 있다(S410). 예를 들어, “http://0000.com/product/list.html?cate_n=41”와 같은 URL 정보에 대한 분석을 통해, “cate_no=41”은 “아우터”로, “cate_no=52”는 아우터로 정의하여, 카테고리를 정렬할 수 있다.The method of FIG. 4 can sort the categories of the shopping mall (S410). For example, through analysis of URL information such as “http://0000.com/product/list.html?cate_n=41”, “cate_no=41” is “outer” and “cate_no=52” By defining it as an outer, you can sort the categories.
이후, 도 4의 방법은, 복수의 카테고리들 중에서 하나의 카테고리를 선택하고, 선택된 카테고리에 포함된 상품 목록 페이지의 HTML 소스를 추출할 수 있다(S420). 예를 들어, 도 4의 방법은 페이지의 수를 제한하지 않고 모든 페이지(예를 들어, 1 page ~ last page)에 대한 HTML 소스를 추출할 수 있다.Thereafter, the method of FIG. 4 may select one category from a plurality of categories and extract an HTML source of a product list page included in the selected category (S420). For example, the method of FIG. 4 may extract HTML sources for all pages (eg, 1 page to last page) without limiting the number of pages.
도 4의 방법은 정규표현식을 통해 추출된 HTML 소스에서 상품 정보들을 각각 분리할 수 있다(S430). 여기서, 정규표현식은 특정한 규칙을 가진 문자열의 집합을 표현하는데 이용되는 형식언어로, 일반적인 텍스트 편집기와 프로그래밍 언어에서 문자열의 검색과 치환을 위해 사용되는 정규표현식일 수 있다.The method of FIG. 4 may separate product information from the HTML source extracted through the regular expression (S430). Here, the regular expression is a formal language used to express a set of strings having specific rules, and may be a regular expression used for searching and replacing strings in general text editors and programming languages.
도 4의 방법은 수집해야 할 정보(예를 들어, 상품의 기본 정보)에 대응하여 정규표현식을 작성할 수 있다(S440). 예를 들어, 상품의 이름 정보를 위한 정규표현식은 “\<cp class=\"name\"\>(.*?)\<Vp\>\”이고, 상품의 가격 정보를 위한 정규표현식은 “/([0-9]{1.3},)?( [0-9]{1.3},)?[0-9]{3}원/” 일 수 있다.The method of FIG. 4 may create a regular expression in response to information to be collected (for example, basic information of a product) (S440). For example, the regular expression for product name information is “\<cp class=\"name\"\>(.*?)\<Vp\>\”, and the regular expression for product price information is “ /([0-9]{1.3},)?( [0-9]{1.3},)?[0-9]{3}won/”.
도 4의 방법은 정규표현식을 통해 상품의 기본 정보들을 획득하고, 획득한 기본 정보들을 원하는 형태(또는, 표준 형태)로 가공할 수 있다(S450).The method of FIG. 4 may acquire basic information of a product through a regular expression, and process the obtained basic information in a desired form (or a standard form) (S450).
이후, 도 4의 방법은 가공된 기본 정보들을 데이터베이스에 저장 및/또는 갱신할 수 있다(S460).Thereafter, the method of FIG. 4 may store and/or update the processed basic information in a database (S460).
도 4 내지 도 6을 참조하면, 도 5a에 도시된 바와 같이 쇼핑몰에서 제공되는 상품 정보들은, 도 5b에 도시된 바와 같이 정규표현식을 통해 추출되고, 가공되어 도 6과 같이 데이터베이스에 저장될 수 있다.4 to 6, product information provided in a shopping mall as shown in FIG. 5A may be extracted through a regular expression as shown in FIG. 5B, processed, and stored in a database as shown in FIG. 6. .
도 4 내지 도 7을 참조하면, 동기화 로봇(121)은 쇼핑몰 별로 카테고리와 정규표현식을 각각 설정하고, 설정된 카테고리와 정규표현식에 기초하여 상품 정보(또는, 상품의 기본 정보들)을 획득할 수 있다. 예를 들어, 제1 쇼핑몰의 경우, 동기화 로봇(121)은 제1 카테고리 유형들과 제1 정규표현식을 정의할 수 있다. 다른 예를 들어, 제2 쇼핑몰의 경우, 동기화 로봇(121)은 제2 카테고리 유형들과 제2 정규 표현식을 정의할 수 있다.4 to 7, the
즉, 동기화 로봇(121)은 쇼핑몰마다 최적화된 코드를 정의하고, 상품 정보의 수집/가공을 연속적으로 수행할 수 있는 프레임을 구동시켜, 상품 정보를 데이터베이스화 할 수 있다.That is, the
실시예들에서, 동기화 로봇(121)은 상품의 기본 정보 이외에 상품 옵션 정보(또는, 상품의 옵션 정보)를 동기화 시킬 수 있다(또는, 크롤링 할 수 있다). 한편, 상품의 기본 정보의 수집과, 상품 옵션 정보의 수집은 상호 다른 동기화 로봇들에 의해 수행될 수 있으며, 예를 들어, 기본 정보 동기화 로봇(또는, 제1 동기화 로봇, 제1 크롤러)에 의해 기본 정보가 수집되고, 상품 옵션 동기화 로봇(또는, 제2 동기화 로봇, 제2 크롤러)에 의해 상품의 옵션 정보가 수집될 수 있다.In embodiments, the
도 8은 쇼핑몰에서 제공되는 상품 세부 정보 페이지의 일 예를 나타내는 도면이고, 도 9는 도 8의 페이지에서 추출된 HTML 소스의 일 예를 나타내는 도면이다. 도 10a는 도 9의 HTML 소스에 옵션 정보가 포함된 경우, 옵션 정보를 추출하는 방법을 나타내는 순서도이고, 도 10b는 도 9의 HTML 소스에 옵션 정보가 미 포함된 경우, 옵션 정보를 추출하는 방법을 나타내는 순서도이다.8 is a diagram showing an example of a product detail page provided in a shopping mall, and FIG. 9 is a diagram showing an example of an HTML source extracted from the page of FIG. 8. FIG. 10A is a flowchart illustrating a method of extracting option information when the HTML source of FIG. 9 includes option information, and FIG. 10B is a method of extracting option information when the option information is not included in the HTML source of FIG. 9 It is a flow chart showing.
도 8을 참조하면, 해당 페이지를 통해 상품의 세부 정보가 표시될 수 있다. 예를 들어, 해당 페이지는 쇼핑몰에서 해당 상품을 클릭한 경우 쇼핑몰에서 제공되는 페이지 일 수 있다.Referring to FIG. 8, detailed information of a product may be displayed through a corresponding page. For example, the corresponding page may be a page provided in the shopping mall when the corresponding product is clicked in the shopping mall.
이 경우, 상품 옵션 동기화 로봇(또는, 동기화 로봇(121))은 해당 페이지(즉, 상품 세부 정보 페이지)의 HTML 소스를 통해 제1 내지 제5 옵션 정보들을 획득할 수 있다. 여기서, 제1 옵션 정보는 상품의 제1 옵션으로, 예를 들어, 상품의 컬러, 종류 등일 수 있다. 제2 옵션 정보는 상품의 제2 옵션으로, 예를 들어, 상품의 사이즈 일 수 있다. 제3 옵션 정보는 상품의 제3 옵션일 수 있다. 제4 옵션 정보는 상품 옵션별 추가 가격 정보이고, 제5 옵션 정보는 상품 옵션별 품절 유무 정보일 수 있다.In this case, the product option synchronization robot (or the synchronization robot 121) may acquire the first to fifth option information through the HTML source of the corresponding page (ie, the product detail page). Here, the first option information is a first option of the product, and may be, for example, a color, a kind of product, and the like. The second option information is a second option of the product, and may be, for example, the size of the product. The third option information may be a third option of the product. The fourth option information may be additional price information for each product option, and the fifth option information may be out of stock information for each product option.
한편, 상품의 옵션 정보는 HTML 소스에 포함되지 않을 수 있으며, 이러한 경우, 상품 옵션 동기화 로봇은 쇼핑몰에 대한 URL 요청을 통해 옵션 정보를 획득할 수 있다.Meanwhile, option information of the product may not be included in the HTML source, and in this case, the product option synchronization robot may obtain option information through a URL request to the shopping mall.
옵션 정보를 획득하는 방법은 기본 정보가 수집된 쇼핑몰에 대해서 수행될 수 있다. 즉, 수집된 기본 정보 중에서 “상품 상세설명 페이지 URL”을 호출하여, 상품 옵션 동기화 로봇은 해당 URL에 접근하여 옵션 정보를 수집할 수 있다.The method of obtaining option information may be performed on a shopping mall in which basic information is collected. That is, among the collected basic information, the “product detail page URL” is called, and the product option synchronization robot can access the corresponding URL to collect option information.
예를 들어, 상품 옵션의 경우 옵션1, 옵션2, 옵션3의 모든 경우의 수 별로 고유 번호가 주어질 수 있다. 예를 들어, " P000RZE000A = 빨강/32, P000RZE000B = 빨강/30, P000ZEQ001A = 빨강/28, P002RZQ000A = 파랑/32, P000TEW000C = 파랑/30, P000UBP000A = 파랑/28"와 같이 색상 및 사이즈 별로 상품에 대한 고유 번호가 부여될 수 있다.For example, in the case of a commodity option, a unique number may be given for each number of
고유 번호들에 따라 추가 가격 정보 및 품절 유무 정보(option_stock_data)와 옵션 종류 정보(option_value_mapper)가 기 부여될 수 있다. 예를 들어, 추가 가격 정보 및 품절 유무 정보(option_stock_data)의 경우 고유 번호 별로 추가가격과 품절유무를 나타내며, 옵션 종류 정보(option_value_mapper)의 경우 고유 번호 별로 옵션1, 옵션2 및 옵션3의 종류를 나타낼 수 있다.Additional price information and out of stock information (option_stock_data) and option type information (option_value_mapper) may be previously provided according to the unique numbers. For example, in the case of additional price information and out-of-stock information (option_stock_data), it indicates additional price and out-of-stock by unique number, and in the case of option type information (option_value_mapper), it indicates the type of option 1,
표 1은 고유 번호별 옵션 정보를 나타낼 수 있다. 여기서, stock_price는 추가가격을 나타내고, use_soldout은 품절 유무(단, T가 품절)를 나타낼 수 있다.Table 1 may indicate option information for each unique number. Here, stock_price may indicate an additional price, and use_soldout may indicate the absence or absence of stock (however, T is out of stock).
한편, 앞서 설명한 바와 같이, HTML 소스에 옵션 정보가 보이지 않는 경우, 상품 옵션 동기화 로봇은 URL 요청방식을 이용하여 옵션 정보를 획득할 수 있다.On the other hand, as described above, when the option information is not visible in the HTML source, the product option synchronization robot may obtain option information using a URL request method.
예를 들어, 페이지 내의 첫번째 옵션 선택란의 HTML 소스는 도 9의 (a)와 같이 표시될 수 있다.For example, the HTML source of the first option check box in the page may be displayed as shown in (a) of FIG. 9.
여기서, 첫번째 옵션(ops1)의 옵션 값(option value)을 두번째 옵션(ops2)를 알아보기 위한 URL에 대입하여 요청하면, 도 9의 (b)와 같이 두번째 옵션이 출력될 수 있다. 또한, 해당 상품이 품절인 경우에는, 옵션 갓으로 "품절"이 출력 될 수 있다.Here, if the option value of the first option (ops1) is requested by substituting the URL for the second option (ops2), the second option may be output as shown in FIG. 9(b). In addition, when the corresponding product is out of stock, "out of stock" may be output as an option lamp.
또한, 두번째 옵션(ops2)의 옵션 값(option value)까지 상세 옵션정보를 알아보기 위한 URL에 대입하여 요청하면, 도 9의 (c)와 같이 첫번째 옵션과 두번째 옵션이 선택되었을 때의 추가가격이 출력될 수 있다.In addition, if the request is made by substituting the URL for the detailed option information up to the option value of the second option (ops2), the additional price when the first option and the second option are selected as shown in FIG. Can be output.
즉, HTML 소스에 옵션 정보가 포함된 경우에는, 동기화 로봇은 도 10a의 방법에 따라 옵션 정보를 획득할 수 있고, HTML 소스에 옵션 정보가 포함되지 않은 경우에는, 동기화 로봇은 도 10b의 방법에 따라 옵션 정보를 획득할 수 있다.That is, when the option information is included in the HTML source, the synchronization robot may acquire the option information according to the method of FIG. 10A, and when the option information is not included in the HTML source, the synchronization robot uses the method of FIG. 10B. Accordingly, option information can be obtained.
구체적으로, 도 10a의 방법은 상품 상세 설명 페이지의 URL을 호출하고(S110), 해당 페이지의 HTML 소스를 추출하며(S1020), HTML 소스에 포함된 옵션의 종류와 개수를 파악할 수 있다(S1030). 이후, 도 10a의 방법은 옵션별 추가 가격 정보 및 품절 유무 정보를 추출하고(S1040), 추출된 옵션 정보를 DB(122)에 저장할 수 있다(S1050).Specifically, the method of FIG. 10A may call the URL of the product detail description page (S110), extract the HTML source of the corresponding page (S1020), and determine the type and number of options included in the HTML source (S1030). . Thereafter, the method of FIG. 10A may extract additional price information and sold out information for each option (S1040), and store the extracted option information in the DB 122 (S1050).
유사하게, 도 10b의 방법은 상세 설명 페이지의 URL을 호출하고(S110), 해당 페이지의 HTML 소스를 추출 할 수 있다(S1020). 다만, HTML 소스에 옵션 정보가 미포함 되어 있으므로, 정규 표현식을 통해 제1 옵션(ops1)의 옵션별 값(value)을 추출하고(S1060), 옵션 정보 URL에 제1 옵션(ops1)의 옵션 값(value)을 대입하여 옵션별 추가 가격 정보 및 품절 유무 정보를 확인/획득할 수 있다(S1070). 예를 들어, 도 10b의 방법은 옵션 정보 URL에 제1 옵션(ops1)과 제2 옵션(ops2)의 값(value)을 대입하여 추가 가격 정보를 추출하고, 이후, 제2 옵션(ops2) 정보 URL에 제1 옵션(ops1)의 옵션별 값(value)을 대입하여 제2 옵션(ops2)의 값을 추출하고, 품절 유무 정보를 확인/획득 할 수 있다. 이후, 도 10b의 방법은 추출된 옵션 정보를 DB(122)에 저장할 수 있다(S1050).Similarly, the method of FIG. 10B may call the URL of the detailed description page (S110), and extract the HTML source of the page (S1020). However, since the option information is not included in the HTML source, the value for each option of the first option (ops1) is extracted through a regular expression (S1060), and the option value of the first option (ops1) in the option information URL ( value) to check/acquire additional price information for each option and information on whether or not sold out (S1070). For example, the method of FIG. 10B extracts additional price information by substituting the value of the first option (ops1) and the second option (ops2) in the option information URL, and thereafter, the second option (ops2) information. By substituting the option-specific value of the first option (ops1) in the URL, the value of the second option (ops2) can be extracted, and information on whether or not it is out of stock can be checked/obtained. Thereafter, the method of FIG. 10B may store the extracted option information in the DB 122 (S1050).
도 4 내지 도 10b의 과정을 통해, 종합 상품 정보 제공 방법(또는, 동기화 로봇(121), 종합 상품 정보 제공 서버(120))은 여러 쇼핑몰들에서 상품 정보(즉, 기본 정보 뿐만 아니라 옵션 정보)를 수집하여, 데이터베이스를 구축할 수 있다. 따라서, 쇼핑몰들(또는, 쇼핑몰들의 판매자)은 별도의 업로드 과정(즉, 상품 정보의 업로드 과정) 없이 오픈 마켓 시장(또는, 모바일 오픈 마켓 시장)에서 상품을 판매할 수 있으며, 사용자는 실시간의 쇼핑몰들의 상품을 확인하고 통합 구매가 가능할 수 있다.Through the process of FIGS. 4 to 10B, the method for providing comprehensive product information (or the
도 11은 동기화 로봇의 크롤링 작업 순서의 일 예를 나타내는 도면이다.11 is a view showing an example of a crawling operation sequence of a synchronization robot.
도 1 및 도 11을 참조하면, 종합 상품 정보 제공 서버(120)는 복수의 동기화 로봇들(1110, 1120)(또는, 크롤링 로봇들, 크롤러들)을 포함할 수 있다. 예를 들어, 종합 상품 정보 제공 서버(120)는 제1 및 제2 동기화 로봇들(1110, 1120)을 포함할 수 있다.1 and 11, the comprehensive product
제1 및 제2 동기화 로봇들(1110, 1120)은 상품의 기본 정보와 옵션 정보를 크롤링 할 수 있다.The first and
제1 동기화 로봇(1110)은 A 쇼핑몰, B 쇼핑몰, C 쇼핑몰 및 D 쇼핑몰에 대한 크롤링 작업을 순차적으로 수행하고, D 쇼핑몰에 대한 크롤링 작업이 완료된 경우, 다시 A 쇼핑몰에 대한 크롤링 작업을 수행할 수 있다.The
일 실시예에서, 제1 동기화 로봇(1110)은 A 쇼핑몰, B 쇼핑몰, C 쇼핑몰 및 D 쇼핑몰에 대한 크롤링 작업을 순차적으로 수행하여 상품의 기본 정보를 획득하고, D 쇼핑몰에 대한 크롤링 작업이 완료된 경우, 다시 A 쇼핑몰, B 쇼핑몰, C 쇼핑몰 및 D 쇼핑몰에 대한 크롤링 작업을 수행하여 상품의 옵션 정보를 획득할 수 있다. 즉, 상품의 기본 정보 및 옵션 정보에 대한 크롤링 작업을 연속적으로 수행하는 경우, 해당 쇼핑몰에 대한 과도한 트래픽 등이 발생할 수 있으므로, 제1 동기화 로봇(1110)은 쇼핑몰들로부터 상품의 기본 정보를 모두 수집한 이후에, 쇼핑몰들로부터 상품의 상세 정보를 순차적으로 획득할 수 있다.In one embodiment, the
제1 동기화 로봇(1110)과 유사하게, 제2 동기화 로봇(1120)은 E 쇼핑몰, F 쇼핑몰, G 쇼핑몰 및 H 쇼핑몰에 대한 크롤링 작업을 순차적으로 수행하고, H 쇼핑몰에 대한 크롤링 작업이 완료된 경우, 다시 E 쇼핑몰에 대한 크롤링 작업을 수행할 수 있다. 또한, 제2 동기화 로봇(1120)도 쇼핑몰들로부터 상품의 기본 정보를 모두 수집한 이후에, 쇼핑몰들로부터 상품의 상세 정보를 순차적으로 획득할 수 있다.Similar to the
한편, 제1 동기화 로봇(1110)에 A 내지 D 쇼핑몰들이 할당되고, 제2 동기화 로봇(1120)에 E 내지 H 쇼핑몰들이 할당되는 것으로 도시되어 있으나, 제1 및 제2 동기화 로봇(1110, 1120)이 이에 국한되는 것은 아니다. 예를 들어, 제1 동기화 로봇(1110)은 A 쇼핑몰부터 H 쇼핑몰까지 순차적으로 크롤링 작업을 수행하고, 제2 동기화 로봇(112)은 E 쇼핑몰부터 H 쇼핑몰까지, A 쇼핑몰에서 D 쇼핑몰까지 순차적으로 크롤링 작업을 수행할 수 있다. 또한, 제1 및 제2 동기화 로봇(1110, 1120)에 대한 스케줄은 크로링 작업 부하 산출/예측을 통해 동적으로 할당될 수 있다.On the other hand, A to D shopping malls are allocated to the
도 12는 도 1의 종합 상품 정보 제공 시스템의 일 예를 나타내는 블록도이고, 도 13은 도 12의 종합 상품 정보 제공 시스템에서 동기화 로봇을 모니터링 하는 방법을 나타내는 순서도이다.12 is a block diagram illustrating an example of the system for providing comprehensive product information of FIG. 1, and FIG. 13 is a flowchart illustrating a method for monitoring a synchronization robot in the system for providing comprehensive product information of FIG. 12.
도 1 및 도 12를 참조하면, 종합 상품 정보 제공 서버(120)는 동기화 로봇을 모니터링 하는 모니터링 모듈(123)을 더 포함할 수 있다.1 and 12, the comprehensive product
도 13을 참조하면, 모니터링 모듈(123)은 데이터베이스(122)에서 URL을 전달받으면 자동 구동되어 동기화 로봇(121)과 연동되고, URL을 동기화 로봇(121)에 전달하며(S1310), 동기화 로봇(121)에 대한 모니터링을 수행할 수 있다.Referring to FIG. 13, the
이후, 모니터링 모듈(123)은 PID 정보(또는, 프로세스 정보)와 동기화 로봇(121)의 시작시간을 변수 및 파일로 저장할 수 있다(S1320).Thereafter, the
모니터링 모듈(123)은 동기화 로봇(121)의 작업시간이 제1 기준 작업 시간을 경과였는지를 판단할 수 있다(S1330). 여기서, 제1 기준 작업 시간은 모니터링 모듈(123)에 부여되는 최대 작업시간으로, 크롤링 작업에 의한 쇼핑몰 사이트의 부하 증가를 고려하여 기 설정될 수 있다.The
모니터링 모듈(123)은 동기화 로봇(121)의 작업시간이 제1 기준 작업 시간을 경과하지 않은 경우, 주기적으로 동기화 로봇(121)의 작업시간이 제1 기준 작업 시간을 경과였는지를 판단할 수 있다.If the working time of the
한편, 모니터링 모듈(123)은 동기화 로봇(121)의 작업시간이 제1 기준 작업 시간을 경과한 경우, 동기화 로봇(121)을 강제 종료시킬 수 있다(S1340). 예를 들어, 모니터링 모듈(123)은 기 저장한 PID정보를 이용하여 해당 PID정보와 일치하는 크롤링 프로세스를 종료하도록 동기화 로봇(121)에 대한 강제종료 명령을 생성 할 수 있다. 예를 들어, 제1 쇼핑몰에 대한 크롤링 작업을 종료하도록 할 수 있다. 이후, 제1 쇼핑몰과 다른 제2 쇼핑몰이 선택되고, 제2 쇼핑몰에 대한 크롤링 작업이 수행될 수 있다.Meanwhile, if the working time of the
한편, 동기화 로봇(121)은 모니터링 모듈(123)로부터 URL을 수신하고(S1350), 제1 주기 내에 동일한 크롤링(예를 들어, 동일한 쇼핑몰 사이트에 대한 크롤링)이 수행되었는지 여부를 판단할 수 있다(S1360). 즉, 제1 주기 내에 해당 크롤링 작업이 수행된 이력이 있는지 여부를 판단할 수 있다.Meanwhile, the
동기화 로봇(121)은 동일한 크롤링 기록이 존재하지 않는 경우, 해당 크롤링을 수행하며(S1370), 주기적으로 제2 작업시간이 경과하였는지 여부를 판단할 수 있다(S1380).If the same crawl record does not exist, the
한편, 동기화 로봇(121)은 동일한 크롤링 기록이 존재하거나, 제2 작업시간을 경과하는 경우, 또한, 모니터링 모듈(123)로부터 강제 종료 명령을 수신하는 경우, 해당 크롤링 작업을 종료하고(S1390), 크롤링 작업이 종료되었음을 모니터링 모듈(123)에 전송할 수 있다. 이 경우, 모니터링 모듈(123)은 기 저장된 파일(즉, PID 정보 및 시작시간 파일)을 삭제할 수 있다(S1400).Meanwhile, the
즉, 모니터링 모듈(123)은 동기화 로봇(121)이 무한루프에 빠져 크롤링 작업을 계속 수행하는 것을 방지하여 해당 쇼핑몰 사이트에서 부하(예를 들어, 과다한 트래픽)가 발생하는 것을 방지할 수 있다. 또한, 크롤링 작업에 대한 작업 주기를 설정함으로써(즉, 작업 주기 내에 반복적인 크롤링 작업을 제한함으로써), 동기화 로봇(121)에 의한 무분별한 크롤링 작업을 방지할 수 있다.That is, the
본 발명은 크롤링 방법, 크롤링 시스템, 정보 제공 시스템에 적용될 수 있다. The present invention can be applied to a crawling method, a crawling system, and an information providing system.
상술한 바와 같이, 본 발명의 실시예들을 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.As described above, although described with reference to embodiments of the present invention, those of ordinary skill in the art variously vary the present invention without departing from the spirit and scope of the present invention as set forth in the claims below. It will be understood that modifications and changes can be made.
100: 종합 상품 정보 제공 시스템
110: 온라인 쇼핑몰 사이트
111, 112, 113: 제1 내지 제3 쇼핑몰
120: 종합 상품 정보 제공 서버
121: 동기화 로봇
122: DB
123: 모니터링 모듈
710: 프레임
1110: 제1 동기화 로봇
1120: 제2 동기화 로봇100: comprehensive product information provision system
110: online shopping mall site
111, 112, 113: 1st to 3rd shopping malls
120: comprehensive product information providing server
121: synchronization robot
122: DB
123: monitoring module
710: frame
1110: first synchronization robot
1120: second synchronization robot
Claims (5)
제1 크롤러(crawler)를 구동하여 상기 복수의 쇼핑몰들 중 하나를 선택하여 접속하는 단계;
상기 제1 크롤러를 통해 상기 선택된 하나의 쇼핑몰에서 상품의 기본 정보를 추출하는 단계- 상기 기본 정보는, 상기 선택된 하나의 쇼핑몰에서 사용되는 상기 상품의 식별정보, 상기 상품의 이름 정보, 상기 상품의 가격 정보, 상기 상품의 상세설명 페이지 유알엘(uniform resource locator; URL) 주소 정보, 상기 상품의 이미지 URL 주소 정보, 상기 상품의 카테고리 정보 및 상기 상품의 품절 유무 정보를 포함함-;
상기 추출된 기본 정보를 데이터베이스에 저장하는 단계;
상기 복수의 쇼핑몰들 각각의 상품들의 기본 정보들을 상기 데이터베이스에 모두 저장한 이후에, 제2 크롤러를 구동하여 상기 데이터베이스에 저장된 상기 상품의 상기 기본 정보 중 상기 상품의 상기 상세설명 페이지 URL 주소로 접속하는 단계;
상기 제2 크롤러를 통해 상기 상품 상세설명 페이지 URL 주소에 대응하는 페이지의 하이퍼텍스트 마크업 언어(hypertext Markup Language; HTML) 소스로부터 상품의 옵션 정보를 추출하는 단계; 및
상기 추출된 옵션 정보를 상기 상품의 상기 기본 정보와 매칭하여 저장하는 단계를 포함하고,
상기 옵션 정보는, 상기 상품의 색상 정보, 상기 상품의 사이즈 정보, 상기 상품의 옵션별 추가 가격 정보 및 상기 상품의 옵션별 품절 유무 정보를 포함하고,
상기 상품의 상기 기본 정보를 추출하는 단계는,
상기 선택된 하나의 쇼핑몰의 메인 페이지에서 카테고리들을 파악하는 단계; 및
상기 카테고리들 중에서 선택된 하나의 카테고리에 대응하는 페이지에서 상기 상품의 상기 기본 정보를 파악하는 단계를 포함하며,
상기 상품의 상기 옵션 정보를 추출하는 단계는,
상기 상품 상세설명 페이지 URL 주소에 대응하는 상기 HTML 소스로부터 제1 옵션의 제1 옵션 값들을 추출하는 단계;
상기 상품 상세설명 페이지 URL 주소에 상기 제1 옵션의 제1 옵션 값들 중 하나를 대입하여 URL 요청을 수행함으로써, 상기 제1 옵션에 종속적인 제2 옵션의 제2 옵션 값들을 파악하는 단계- 상기 URL 요청은 해당 URL 주소에 기초하여 정보의 제공을 요청하는 작업임-; 및
상기 상품 상세설명 페이지 URL 주소에 상기 제2 옵션의 제2 옵션 값들을 대입하여 URL 요청을 수행함으로써, 추가 가격 정보 및 품절 유무 정보를 추출하는 단계를 포함하며,
상기 복수의 쇼핑몰들 중 상기 선택된 하나에 접속하는 단계는,
상기 제1 크롤러를 통해 상기 복수의 쇼핑몰들 중 상기 선택된 하나에 대한 크롤링 작업을 제1 주기 이내에 수행한 기록이 존재하는지 여부를 판단하는 단계; 및
상기 크롤링 작업이 제1 주기 이내에 수행한 기록이 존재하는 경우, 상기 제1 크롤러가 상기 복수의 쇼핑몰들 중 상기 선택된 하나에 대한 크롤링 작업을 종료하는 단계; 및
상기 제1 크롤러를 통해 상기 복수의 쇼핑몰들 중 상기 선택된 하나와 다른 하나를 선택하는 단계를 포함하고,
상기 상품의 상기 기본 정보를 추출하는 단계는,
모니터링 모듈을 통해 상기 제1 크롤러가 상기 기본 정보를 추출하는 작업 시간이 기준 작업 시간을 초과하는지 여부를 주기적으로 판단하는 단계- 상기 기준 작업 시간은 상기 복수의 쇼핑몰들 중 상기 선택된 하나의 부하 증가를 고려하여 기 설정됨-; 및
상기 작업 시간이 기준 작업 시간을 초과하는 경우, 상기 모니터링 모듈을 통해 상기 제1 크롤러의 상기 기본 정보의 추출 작업을 종료시키는 단계를 포함하는 것을 특징으로 하는 종합 상품 정보 제공 방법.In a method for providing comprehensive product information performed by a comprehensive product information providing server connected to a plurality of shopping mall sites,
Driving a first crawler to select and access one of the plurality of shopping malls;
Extracting basic information of the product from the selected one shopping mall through the first crawler-the basic information includes identification information of the product used in the selected one shopping mall, name information of the product, and price of the product Information, a detailed description page of the product, including uniform resource locator (URL) address information, image URL address information of the product, category information of the product, and out-of-stock information of the product;
Storing the extracted basic information in a database;
After storing all the basic information of the products of each of the plurality of shopping malls in the database, a second crawler is driven to access the URL of the detailed description page of the product among the basic information of the products stored in the database step;
Extracting option information of a product from a hypertext markup language (HTML) source of a page corresponding to the product description page URL address through the second crawler; And
And matching and storing the extracted option information with the basic information of the product,
The option information includes color information of the product, size information of the product, additional price information for each option of the product, and information about whether the product is sold out by option,
Extracting the basic information of the product,
Identifying categories on the main page of the selected shopping mall; And
And identifying the basic information of the product on a page corresponding to one selected from the categories,
Extracting the option information of the product,
Extracting first option values of a first option from the HTML source corresponding to the product description page URL address;
Identifying the second option values of the second option dependent on the first option by performing a URL request by substituting one of the first option values of the first option in the product description page URL address-the URL Request is to request the provision of information based on the URL address-; And
And extracting additional price information and out of stock information by performing a URL request by substituting the second option values of the second option to the product description page URL address,
Step of accessing the selected one of the plurality of shopping malls,
Determining whether there is a record of performing a crawling operation for the selected one of the plurality of shopping malls within a first cycle through the first crawler; And
If there is a record of the crawl operation performed within a first cycle, the first crawler ending the crawl operation for the selected one of the plurality of shopping malls; And
And selecting a different one from the selected one of the plurality of shopping malls through the first crawler.
Extracting the basic information of the product,
Periodically determining whether a working time for the first crawler to extract the basic information exceeds a reference working time through a monitoring module-the reference working time increases the load of the selected one of the plurality of shopping malls Pre-established in consideration of; And
And when the working time exceeds the reference working time, terminating the extraction operation of the basic information of the first crawler through the monitoring module.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170149407A KR102120465B1 (en) | 2017-11-10 | 2017-11-10 | Method of providing comprehensive product information |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170149407A KR102120465B1 (en) | 2017-11-10 | 2017-11-10 | Method of providing comprehensive product information |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190053478A KR20190053478A (en) | 2019-05-20 |
KR102120465B1 true KR102120465B1 (en) | 2020-06-08 |
Family
ID=66678604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170149407A KR102120465B1 (en) | 2017-11-10 | 2017-11-10 | Method of providing comprehensive product information |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102120465B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102429392B1 (en) | 2022-01-20 | 2022-08-04 | 주식회사 로원홀딩스 | Method, device and system of providing product information using image crawling |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210096936A (en) * | 2020-01-29 | 2021-08-06 | 뉴21커뮤니티(주) | Total management system for open market using serching keyword |
KR102399642B1 (en) * | 2020-07-01 | 2022-05-18 | 고려대학교 산학협력단 | Apparatus and method for crawling item data using emulator |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005522784A (en) * | 2002-04-10 | 2005-07-28 | シーネット・ネットワークス・インコーポレイテッド | Content aggregation method and apparatus for online purchase system |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8799261B2 (en) * | 2008-06-05 | 2014-08-05 | International Business Machines Corporation | Incremental crawling of multiple content providers using aggregation |
KR20160046662A (en) | 2014-10-21 | 2016-04-29 | 주식회사 다나와 | A gathering method of the lowest price data on the Internet shopping malls and an updating method of the product information using above data |
KR101717063B1 (en) | 2015-12-30 | 2017-03-17 | 네이버 주식회사 | Web crawling apparatus and method |
-
2017
- 2017-11-10 KR KR1020170149407A patent/KR102120465B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005522784A (en) * | 2002-04-10 | 2005-07-28 | シーネット・ネットワークス・インコーポレイテッド | Content aggregation method and apparatus for online purchase system |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102429392B1 (en) | 2022-01-20 | 2022-08-04 | 주식회사 로원홀딩스 | Method, device and system of providing product information using image crawling |
Also Published As
Publication number | Publication date |
---|---|
KR20190053478A (en) | 2019-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190385210A1 (en) | Automated color processing and selection platform | |
TWI553570B (en) | Automated targeted information system, method, computer-readable media and equipment | |
KR102120465B1 (en) | Method of providing comprehensive product information | |
US20230334547A1 (en) | Search query-based replacement part interface | |
JP5859606B2 (en) | Ad source and keyword set adaptation in online commerce platforms | |
CN107085574A (en) | A kind of page data processing method and server | |
CN107644100B (en) | Information processing method, device and system and computer readable storage medium | |
US8533198B2 (en) | Mapping descriptions | |
US11561988B2 (en) | Systems and methods for harvesting data associated with fraudulent content in a networked environment | |
WO2013036688A2 (en) | Identifying product variants | |
JP2007520802A (en) | System and method for obtaining information related to commercial items using a portable imaging device | |
CN110880136A (en) | Recommendation method, system, equipment and storage medium for matched product | |
US20190164213A1 (en) | Decision factors analyzing device and decision factors analyzing method | |
CN108959595B (en) | Website construction and experience method and device based on virtual and reality | |
CN105938493A (en) | Resource search method and apparatus | |
KR20160046662A (en) | A gathering method of the lowest price data on the Internet shopping malls and an updating method of the product information using above data | |
JP2003016101A (en) | System and method for retrieving electronic catalog | |
JP2003316812A (en) | Intellectual property information general-purpose search platform and method | |
US6366909B1 (en) | Information presentation apparatus and information presentation method | |
US20140222592A1 (en) | Method and system of internet connected computers for organizing globally presented original data in the world wide web locally | |
TWI684147B (en) | Cloud self-service analysis platform and analysis method thereof | |
KR20160136081A (en) | Apparatus, method, and computer program for providing shopping service | |
KR102082900B1 (en) | System for providing optimal keyword of sale items | |
CN108898466B (en) | Catalog type product pushing method and system based on B2C platform | |
JP2002259401A (en) | Commodity search system, commodity search method and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |