KR100792109B1 - 모바일 웹서버에서의 사용자인터페이스 기반의 범용 웹정보 추출을 위한 래퍼 생성장치 및 그 방법 - Google Patents

모바일 웹서버에서의 사용자인터페이스 기반의 범용 웹정보 추출을 위한 래퍼 생성장치 및 그 방법 Download PDF

Info

Publication number
KR100792109B1
KR100792109B1 KR1020060027545A KR20060027545A KR100792109B1 KR 100792109 B1 KR100792109 B1 KR 100792109B1 KR 1020060027545 A KR1020060027545 A KR 1020060027545A KR 20060027545 A KR20060027545 A KR 20060027545A KR 100792109 B1 KR100792109 B1 KR 100792109B1
Authority
KR
South Korea
Prior art keywords
wrapper
web
information
web information
path
Prior art date
Application number
KR1020060027545A
Other languages
English (en)
Other versions
KR20070096659A (ko
Inventor
하상호
허정수
Original Assignee
하상호
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 하상호 filed Critical 하상호
Priority to KR1020060027545A priority Critical patent/KR100792109B1/ko
Publication of KR20070096659A publication Critical patent/KR20070096659A/ko
Application granted granted Critical
Publication of KR100792109B1 publication Critical patent/KR100792109B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/50Business processes related to the communications industry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Primary Health Care (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 모바일 웹서버에서 GUI에 기반하여 임의의 HTML 문서에서 특정 웹 정보에 대한 인터넷 상의 경로와 요소를 미리 추출하여 웹 정보 경로인 래퍼를 생성함으로써, 모바일단말기의 사용자가 특정 정보를 원할 경우 이러한 래퍼를 이용하여 해당 웹 정보를 보다 신속하게 추출함과 아울러 모바일단말기에게 적합한 형태로 웹 정보를 제공할 수 있는 모바일 웹서버에서의 사용자인터페이스 기반의 범용 웹 정보 추출을 위한 래퍼 생성장치 및 그 방법에 관한 것으로, 그 구성은 GUI 화면이 디스플레이되는 표시수단과, 상기 표시수단에 디스플레이된 GUI 화면상에 URL 주소와 웹 정보의 경로 및 요소 추출을 위한 각종 명령어와 항목을 입력 선택하는 입력수단과, 상기 GUI 화면상에 입력된 URL주소에 따라 웹브라우저를 구동하여 해당 웹사이트에 접속하고, 웹관리자가 선택한 검색 경로를 따라 특정 웹 정보에 접근한 후 추출된 웹 정보의 경로를 이용하여 래퍼를 생성하는 래퍼생성기와, 상기 래퍼생성기로부터 웹 정보에 대한 HTML 문서를 제공받아 파싱한 후 웹관리자의 선택 항목에 따른 웹 정보의 경로를 HTML 문서의 태그를 이용하여 추출하여 래퍼생성기로 전달하는 웹정보경로추출기, 및 상기 래퍼생성기에 의해 생성된, 웹 정보에 대한 항목을 추출하는데 필요한 HTML 문서상에서 루트 노드로부터의 항목까지의 HTML 태그들의 시퀀스로 구성된 경로 정보인 래퍼가 저장되는 래퍼DB로 이루어져 있다.

Description

모바일 웹서버에서의 사용자인터페이스 기반의 범용 웹 정보 추출을 위한 래퍼 생성장치 및 그 방법{WRAPPER CREATING APPARATUS FOR EXTRACTING A WEB-INFORMATION IN MOBILE WEB-SERVER BASED USER INTERFACE AND METHOD THEREFOR}
도 1은 일반적인 무선인터넷 시스템을 도시한 개략적인 도면이다.
도 2는 본 발명에 의한 모바일 웹서버의 웹 정보 추출장치를 나타낸 도면이다.
도 3은 본 발명에 의한 웹 정보 추출장치의 동작 과정을 나타낸 플로우챠트이다.
도 4a 내지 도 4e는 본 발명에 의한 웹정보 추출 과정을 설명하기 위해 도시한 GUI 화면도이다.
도 5는 도 4에 의해 생성된 래퍼의 구조를 도시한 도면이다.
도 6은 본 발명에 의한 웹 정보를 추출하기 위해 도시한 웹문서의 일례이다.
도 7은 표 2의 소스 코드에서 가격 항목에 대한 경로를 리스트 형태로 표현한 도면이다.
도 8은 본 발명에 의한 GUI기반 시스템의 UML(Unified Modeling Language) 클래스를 나타낸 도면이다.
도 9는 본 발명의 실시예에 의한 래퍼생성기의 작동 과정을 나타낸 절차도이 다.
* 도면의 주요 부분에 대한 부호의 설명
100: 모바일 웹서버 110: 표시수단
120: 입력수단 130: 래퍼생성기
131: UI 매니저 133: 래퍼관리자
135: 래퍼생성자 140: 웹정보경로추출기
150: 래퍼데이터베이스
본 발명은 모바일단말기로 웹정보를 제공하는 시스템에 관한 것으로, 특히 웹의 특정 정보에 대한 인터넷 상의 경로와 추출요소 정보를 미리 파악해 둔 상태에서 사용자가 해당 특정 정보를 원할 경우 언제든지 상기 미리 파악한 경로를 통해서 해당 정보만을 추출하여 사용자의 모바일단말기로 제공하는 모바일 웹서버에서의 사용자인터페이스 기반의 범용 웹 정보 추출을 위한 래퍼 생성장치 및 그 방법에 관한 것이다.
오늘날 기술의 발전과 함께 많은 모바일단말기들이 보급되고 있다. 모바일단말기들은 개인의 생활에 점점 많은 부분을 차지해가고 있고 무선 네트워크의 발전과 함께 더욱 많은 정보를 제공할 수 있는 환경을 조성하였다.
또한 모바일단말기를 위한 개인 인증 시스템을 도입함으로써 모바일 커머스 의 기대를 증대시켰으며, 은행 업무를 모바일단말기로 이용할 수 있게 되었다. 그러나 이러한 기술의 발전이 있고, 발전을 위한 환경이 조성되었으나 사용자가 원하는 대부분의 정보가 웹 환경에 편중되어 모바일 커머스를 위한 상품 콘텐츠가 절대 부족한 형편이다.
문제의 해결을 위해 XML 문서를 이용하여 웹 환경과 모바일단말기 환경 간의 하나의 정보로 여러 플랫폼 적용에 대한 제안이 있었으나, 시스템 교체에 따른 비용 부담으로 인해 널리 사용되지 못했다.
즉, 모바일단말기는 퍼스널컴퓨터에 비해 디스플레이, 기억공간, 처리 능력 등에 있어서 한정되므로, 도 1과 같은 시스템에서 웹사이트(1∼1n)의 정보를 모바일 웹서버(3)를 통해 그대로 모바일단말기(5)에 전달할 경우 모바일단말기(5)에 능력 한계로 인하여 서비스 지연은 물론, 모바일단말기(5)에 제한된 표시수단(6)의 크기로 인해 사용자에게 친숙한 형태로 보여줄 수가 없다.
또한, 사용자가 웹 검색 가능한 모바일단말기를 소유한 경우에도, 웹 검색에 따른 지연은 물론, 검색 결과를 작은 표시수단 상에서 해당 정보를 찾아내는 과정은 데스크탑의 유선 환경에 비해서 훨씬 시간이 많이 걸리고, 많은 스크롤 등을 해야 함에 따라 따분한 작업이 되는 것이다.
일부 기업에서는 NTT DoCoMo의 I-모드에서와 같이 별도의 모바일 커머스 사이트를 구축하여 자신의 단말기에 상품정보를 제공할 수 있으나, 이러한 콘텐츠는 단말기에 종속되며 웹 상품정보와 호환되지 않는다. Nokia의 웹브라우저인 Opera는 모바일단말기를 위한 HTML 브라우저로서, 웹페이지를 모바일단말기 상에서 디스플 레이될 수 있게 한다.
그러나 웹 상품정보가 필터링되지 않고 그대로 단말기에 전달되기 때문에 대량의 데이터 전송에 따른 속도 지연 및 사용자가 웹페이지를 보기 위하여 많은 화면 스크롤 다운을 해야 하는 문제가 있다.
다른 관련 연구로, 웹의 HTML 문서로부터 개인의 정보를 추출하여 모바일단말기에 전달하는 연구가 진행되고 있다. 2004년도에 학술지에 게재된 연구자료(Zehua Liu, Wee-Keong Ng, Ee-Peng Lim, "Personalized Web Views for Multilingual Web Sources", IEEE INTERNET COMPUTING, p16~p22, July. August 2004)를 보면 사용자가 관심 있는 웹 사이트를 방문하여 자신의 관심 사항을 반영하여 그 웹사이트에 대한 scoping과 filtering을 통해서 개인화된 웹 뷰(Web View)를 생성한다. 그러나 웹페이지로부터 정보 추출 단위는 HTML 문서이며 특정 데이터 항목이 아니다. 여기서 선택된 문서에 대한 하이퍼링크는 HTML 태그들로 표현된다.
다른 연구자료(Juliana Ferie, Bharat Kumer, DanielLieuwen, "WebViews: Accessing Personalized Web Content and Services", ACM 1-58113-348-0, p.576~p.586, May 1-5, 2001)에서는 사용자가 관심 있는 웹페이지 접근 과정을 Smart Bookmark로 기록하고, 해당 웹페이지에서 추출하고자 하는 항목들을 XPath로 기술함으로써 개인화된 웹 뷰를 생성한다. 그러나 일반 사용자가 XPath를 사용하여 추출하고자 하는 항목들을 서술해야 하는 문제점이 있다.
그리고, 또다른 연구자료(Jaeyoung Yang, Joongmin Choi, "Knowledge-Based Wrapper Induction for Intelligent Web Information Extraction", Springer, Web Intelligence, No.8, p.153~p.172)에서는 각 웹페이지에 대해서 사전에 정의된 도메인 지식에 기반하여 그 페이지로부터 항목을 추출하는데 사용되는 래퍼(wrapper)를 자동으로 생성하고, 사용자가 요청한 검색 결과의 웹페이지에 해당 래퍼를 적용하여 필요한 항목을 추출한다. 여기서 래퍼(wrapper)는 항목을 추출하는데 필요한 제반의 규칙이나 프로시저를 말한다. 그러나 이 방법은 레이블과 값의 쌍으로 표현된 데이터 항목 추출에만 적용 가능하며, 테이블과 같이 레이블을 갖지 않는 항목에 대해서는 적용되지 않는다. 또한, 웹페이지가 다른 서술 패턴을 갖는 두 가지 이상의 유형 정보를 포함할 경우에, 그 웹페이지에 대해서 모두 적용 가능한 패턴을 찾을 수 없다는 문제점도 지적된다.
따라서, 사용자가 필요한 HTML 문서상의 정보만을 추출하여 모바일단말기로 보다 효과적으로 제공할 수 있는 환경이 절실히 필요로 하게 되는 것이다.
따라서, 본 발명의 목적은 모바일 웹서버에서 GUI에 기반하여 임의의 HTML 문서에서 특정 웹 정보에 대한 인터넷 상의 경로와 요소를 미리 파악해 둠에 따라 추후 사용자가 해당 특정 정보를 원할 경우 언제든지 상기 미리 파악한 경로를 통해서 해당 정보만을 추출하여 사용자의 모바일단말기로 제공할 수 있는 모바일 웹서버에서의 사용자인터페이스 기반의 범용 웹 정보 추출을 위한 래퍼 생성장치 및 그 방법을 제공하는 데 있다.
본 발명의 다른 목적은, 임의의 HTML 문서에서 웹 정보에 포함된 임의의 항목들에 대한 경로를 GUI에 기반하여 추출한 후 이를 래퍼(wrapper)로 표현하여 저 장함으로써, 사용자가 특정 정보를 원할 경우 이러한 래퍼를 이용하여 웹 정보를 추출하여 제공할 수 있는 모바일 웹서버에서의 사용자인터페이스 기반의 범용 웹 정보 추출을 위한 래퍼 생성장치 및 그 방법을 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 기술적 수단은, 인터넷 웹사이트에 수록된 웹 정보를 추출하여 래퍼를 생성하는 모바일 웹서버에 있어서, 소정의 웹사이트에 게시된 각 웹 정보의 경로 및 요소를 추출하기 위한 GUI 화면이 디스플레이되는 표시수단; 상기 표시수단에 디스플레이된 GUI 화면상에 URL 주소와 웹 정보의 경로 및 요소 추출을 위한 각종 명령어와 항목을 입력 선택하는 입력수단; 상기 GUI 화면상에 입력된 URL주소에 따라 웹브라우저를 구동하여 해당 웹사이트에 접속하고, 웹관리자가 선택한 검색 경로를 따라 특정 웹 정보에 접근한 후 추출된 웹 정보의 경로를 이용하여 래퍼를 생성하는 래퍼생성기; 상기 래퍼생성기로부터 웹 정보에 대한 HTML 문서를 제공받아 파싱한 후 웹관리자의 선택 항목에 따른 웹 정보의 경로를 HTML 문서의 태그를 이용하여 추출하여 래퍼생성기로 전달하는 웹정보경로추출기; 및 상기 래퍼생성기에 의해 생성된, 웹 정보에 대한 항목을 추출하는데 필요한 HTML 문서상에서 루트 노드로부터의 항목까지의 HTML 태그들의 시퀀스로 구성된 경로 정보인 래퍼가 저장되는 래퍼데이터베이스;를 구비한 것을 특징으로 한다.
구체적으로, 상기 래퍼생성기는, 상기 웹 정보의 경로 및 요소를 추출하기 위한 사용자 프로그램으로 GUI 환경을 제공하는 UI 매니저; 상기 UI 매니저에 포함되어 래퍼를 생성하기 위한 정보를 수집하여 웹정보경로추출기를 통해 웹 정보의 경로를 추출하기 위한 래퍼관리자; 및 상기 래퍼관리자에 의해 수집된 정보를 이용하여 웹 정보의 경로인 래퍼를 생성하는 래퍼생성자;를 포함하는 것을 특징으로 한다.
아울러, 상기 UI 매니저는, 접근하고자 하는 웹사이트의 URL주소를 입력하는 입력창; 상기에서 입력된 웹사이트의 URL주소로 접근하여 웹페이지를 불러옴과 아울러 웹사이트의 URL주소를 래퍼로 설정하는 명령버튼; 상기 웹사이트의 URL주소의 입력에 따라 웹브라우저가 동작하여 웹페이지를 디스플레이하는 표시창; 상기 웹사이트 내의 검색엔진의 URL주소를 표시하는 주소창; 상기 웹사이트 내의 검색엔진의 URL주소를 래퍼로 설정하는 명령버튼; 상기 웹사이트 내의 웹 정보의 URL주소를 표시하는 주소창; 상기 웹사이트 내의 웹 정보의 URL주소를 래퍼로 설정하는 명령버튼; 상기 웹사이트 내의 각 웹 정보별로 경로를 추출하기 위한 메뉴바; 및 상기 추출된 웹 정보별 경로를 이용하여 래퍼를 생성하는 래퍼발행버튼;을 포함하는 것을 특징으로 한다.
그리고, 상기 래퍼데이터베이스에 저장되는 래퍼는, 웹사이트의 URL주소, 웹사이트의 검색 URL주소, 웹 정보의 URL주소, 및 웹 정보의 항목 중 적어도 하나 이상을 포함하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 기술적 방법은, 인터넷 웹사이트에 수록된 웹 정보를 모바일단말기로 제공하기 위한 모바일 웹서버의 웹 정보 추출방법에 있어서, 웹 정보의 경로를 추출하기 위한 UI 매니저를 구동하여 GUI 화면을 디스플레이시키는 제 1단계; 디스플레이된 상기 GUI 화면상에 웹 정보를 획득하고자 하는 해당 웹사이트의 URL주소를 입력하는 제 2단계; 상기 URL주소가 입력되면 모바일 웹서버는 해당 웹사이트에 접속하여 UI 매니저상에 웹페이지를 다운로드하여 디스플레이하는 제 3단계; 상기 디스플레이된 웹사이트에서 제공하는 검색엔진을 이용하여 특정 웹 정보가 수록된 웹페이지에 접근한 후 UI 매니저를 이용하여 웹 정보의 URL주소를 선택 저장하는 제 4단계; 상기 웹 정보의 URL주소를 저장한 후 웹정보경로추출기를 이용하여 웹 정보 중 특정 항목에 대한 경로를 HTML 문서의 태그를 이용하여 추출하는 제 5단계; 및 상기 항목별 경로 정보를 모두 추출하였으면, 래퍼생성기를 이용하여 항목 경로인 래퍼를 생성한 후 생성된 래퍼를 래퍼데이터베이스에 저장하는 제 6단계;를 구비하는 것을 특징으로 한다.
구체적으로 상기 제 6단계에서 생성된 래퍼는, 웹사이트의 URL주소, 웹사이트의 검색 URL주소, 웹 정보의 URL주소 및 웹 정보의 항목 중 적어도 하나 이상을 포함하는 것을 특징으로 한다.
그리고, 상기 제 5단계에서 웹 정보의 경로를 추출하는 과정은, 웹 정보에 대한 웹페이지가 GUI 화면상에 디스플레이된 상태에서 UI 매니저의 추출메뉴를 선택하는 단계; 상기 GUI 화면에 디스플레이된 웹 정보에서, 추출하고자 하는 항목인 특정 문자열을 입력수단을 이용하여 블록으로 지정하는 단계; 상기 특정 항목의 문자열을 블록으로 지정한 후 추출메뉴를 선택하여 블록으로 지정한 문자열과 동일한 항목을 선택하는 단계; 및 상기 항목이 선택되면 웹정보경로추출기는 HTML 문서의 태그를 이용하여 웹 정보의 항목 경로 정보를 추출하는 단계;를 포함하는 것을 특 징으로 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 보다 상세하게 살펴보고자 한다.
도 2는 본 발명에 의한 모바일 웹서버의 웹 정보 추출장치를 나타낸 도면으로서, 표시수단(110), 입력수단(120), 래퍼생성기(130), 웹정보경로추출기(140) 및 래퍼데이터베이스(150) 등으로 이루어져 있다.
상기 표시수단(110)은 소정의 웹사이트에 게시된 각 웹 정보의 경로 및 요소를 추출하기 위한 UI 매니저(131)의 GUI 화면이 디스플레이되는 LCD와 CRT 등의 모니터로 구성되어 있고, 입력수단(120)은 상기 표시수단(110)에 디스플레이된 GUI 화면상에 URL 주소와 검색어 및 각 웹 정보의 경로 및 요소 추출을 위한 각종 명령어를 입력하는 키보드, 마우스와 같은 입력장치로 구성되어 있고, 래퍼생성기(130)는 상기 GUI 화면상에 입력된 URL주소에 따라 해당 웹사이트에 접속하고 웹관리자가 선택한 검색 경로를 따라 특정 웹 정보에 접근한 후 추출된 웹 정보의 항목 경로 정보를 이용하여 래퍼를 생성하도록 구성되어 있고, 웹정보경로추출기(140)는 상기 래퍼생성기(130)로부터 웹 정보에 대한 HTML 문서를 제공받아 파싱한 후 웹관리자의 선택 항목에 따른 웹 정보의 경로를 HTML 문서의 태그를 이용하여 추출하여 래퍼생성기(130)로 전달하도록 구성되어 있고, 래퍼데이터베이스(150)는 상기 래퍼생성기(130)에 의해 생성된 웹 정보의 래퍼가 저장되도록 구성되어 있다.
구체적으로, 상기 래퍼생성기(130)는, 상기 웹 정보의 경로 및 요소를 추출하기 위한 사용자 프로그램으로 GUI 환경을 제공하는 UI 매니저(131)와, 상기 UI 매니저(131)에 포함되어 래퍼를 생성하기 위한 정보를 수집하여 웹정보경로추출기(140)를 통해 웹 정보의 경로를 추출하기 위한 래퍼관리자(133), 및 상기 래퍼관리자(133)에 포함되며 상기 래퍼관리자(133)에 의해 수집된 정보를 이용하여 웹 정보와 웹 정보에 포함된 임의의 항목 경로 정보인 래퍼를 생성하는 래퍼생성자(135)로 이루어져 있고, 상기 래퍼생성기(130)의 UI 매니저(131)는 웹브라우저를 포함하고 있다.
아울러, 상기 래퍼데이터베이스(150)에 저장되는 래퍼는, 웹사이트의 URL주소, 웹사이트의 검색 URL주소, 웹 정보의 URL주소, 및 웹 정보에 포함된 각 항목에 대한 경로를 포함하고 있으며, 상기 래퍼생성기(130)는 웹 정보의 항목에 대한 경로 정보를 포인트-클릭(point-click) 인터페이스를 통해 파악하도록 구성되어 있다.
미설명한 부호 101은 통상적인 통신인터페이스로 인터넷을 통해 모바일 웹서버와 웹사이트와의 통신이 가능하도록 데이터를 증폭 변환하는 수단이다.
즉, 본 발명에서는 HTML의 임의의 문서에 대해서 항목들을 추출할 수 있는 시스템을 설계하고 구현한 것으로, 웹관리자는 웹사이트로부터 웹 정보의 구조에 포함된 항목들을 추출하기 위한 래퍼(wrapper)를 생성하여 래퍼데이터베이스(150)에 저장한다. 여기서 래퍼(wrapper)는 항목을 추출하는데 필요한 HTML 문서상에서 루트 노드로부터의 항목까지의 HTML 태그들의 시퀀스로 구성된 경로로 표현된다.
이와 같이 구성된 모바일 웹서버(100)의 웹 정보 추출방법에 대해 도 3 내지 도 5를 참조하여 살펴보고자 한다. 아울러, 웹 정보는 웹쇼핑몰에서 제공하는 상품 정보의 예를 들어 설명하고자 한다.
먼저, 웹관리자는 입력수단(120)을 이용하여 래퍼생성기(130)의 상품요소(항목)의 경로를 추출하기 위한 UI 매니저(131)를 구동하여 표시수단(110)에 도 4a와 같은 GUI 화면을 디스플레이시키게 된다(S1).
상기 GUI 매니저(131)는 GUI 프로그램뿐만 아니라 웹브라우저를 구비하고 있으며, 표시수단(110)에 디스플레이되는 GUI 화면(131-1)은 접근하고자 하는 웹쇼핑몰의 URL주소를 입력하는 입력창(ⓐ)과, 상기에서 입력된 웹쇼핑몰의 URL주소로 접근하여 웹페이지를 불러옴과 아울러 웹쇼핑몰의 URL주소를 래퍼로 설정하는 명령버튼(ⓑ)과, 상기 웹쇼핑몰의 URL주소의 입력에 따라 웹브라우저가 동작하여 쇼핑몰 웹페이지를 디스플레이하는 표시창(ⓒ)과, 상기 웹쇼핑몰 내의 검색엔진의 URL주소를 표시하는 주소창(ⓓ)과, 상기 웹쇼핑몰 내의 검색엔진의 URL주소를 래퍼로 설정하는 명령버튼(ⓔ)과, 상기 웹쇼핑몰 내의 상품의 URL주소를 표시하는 주소창(ⓕ)과, 상기 웹쇼핑몰 내의 상품의 URL주소를 래퍼로 설정하는 명령버튼(ⓖ)과, 상기 웹쇼핑몰 내의 각 상품요소별로 경로를 추출하기 위한 메뉴바(ⓗ), 및 상기 추출된 상품요소별 경로를 이용하여 래퍼를 생성하는 래퍼발행버튼(ⓘ) 등으로 이루어져 있다.
그리고, 상기 메뉴바(ⓗ)는, 상기 웹쇼핑몰 내의 상품요소의 경로를 추출하기 위한 추출메뉴와, 상기 추출메뉴가 선택될 경우 풀다운되어 상품요소별로 선택하여 경로를 추출하는 풀다운메뉴로 이루어져 있다.
이와 같은 상태에서 도 4a와 같이 GUI 화면의 우측 상단에 형성된 입력창에 상품정보를 획득하고자 하는 해당 쇼핑몰의 URL주소를 입력한다(S2).
상기와 같이 해당 쇼핑몰의 URL주소를 입력한 후 입력창(ⓐ)의 하단에 형성된 "입력 및 이동"과 같은 명령버튼(ⓑ)을 클릭하면, 래퍼생성기(130)는 웹브라우저를 구동하여 상기 URL주소에 따라 해당 웹쇼핑몰에 접속한다(S3).
상기 웹관리자가 입력한 웹쇼핑몰의 URL주소는 "입력 및 이동" 버튼을 클릭함과 동시에 그 URL주소는 추출되어 스택에 자동 저장된다(S4).
상기에서 접속한 웹쇼핑몰의 메인 웹페이지가 래퍼생성기(130)로 전송되고 웹브라우저에 의해 메인웹페이지가 GUI 화면의 표시창(ⓒ)에 디스플레이된다(S5). 여기까지의 상태를 도 4a에 나타내었다.
이어, 상기 디스플레이된 메인 웹페이지에서 제공하는 검색엔진을 이용하여 특정 상품정보를 검색하게 되는데, 이때 도 4b와 같이 검색엔진을 이용하여 검색한 웹페이지를 표시창에 표시하고, 표시창의 하단에 형성된 검색 주소창(ⓓ)의 우측에 있는 "현재페이지" 버튼(ⓔ)을 클릭하여 검색 주소창에 검색한 주소를 표시한 후 검색주소는 추출되어 스택에 자동 저장된다(S6, S7).
이어, 검색한 상품정보 웹페이지가 GUI 화면의 표시창에 표시되면 소정의 상품을 클릭하여 상품정보를 디스플레이하게 된다(S8).
상기 상품정보를 디스플레이한 후 도 4c와 같이 표시창의 하단에 형성된 물품 주소창(ⓕ)의 우측에 있는 "현재페이지" 버튼(ⓖ)을 클릭하여 물품 주소창에 상품의 주소를 표시한 후 상품주소는 추출되어 스택에 자동 저장한다(S9).
이어, 상기 상품정보에서 추출하고자 하는 상품요소를 입력수단(120)인 마우 스를 이용하여 블록으로 지정(S10)한 후 상기 GUI 화면의 상단에 위치한 "추출"메뉴바(ⓗ)를 클릭하면 서버 메뉴가 풀다운되고, 풀다운된 메뉴 중 블록으로 지정한 것과 동일한 항목(상품요소)을 클릭하여 선택한다(S11).
상기 상품요소를 클릭함에 따라 래퍼생성기(130)는 상품정보에 대한 HTML 문서를 웹정보경로추출기(140)로 전달하고, 웹정보경로추출기(140)는 HTML 문서를 파싱하여 해당 상품요소를 둘러싸고 있는 태그를 찾아 부모태크를 알아내고 BODY 태크까지 태그 카운트를 증가시켜 가면서 상품요소에 대한 경로정보인 HTML 태그 시퀀스로 이루어진 경로정보를 추출하게 된다(S12).
이와 같은 방식으로 각 상품요소에 대한 경로를 추출하게 된다.
즉, 상기에서 상품요소(상품정보의 항목)는 실시예에서는 제품명, 가격 및 제조사 등으로 이루어져 있는 데, 예컨대 제품명에 대한 상품요소 경로를 추출할 경우에는 도 4d와 같이 GUI 화면상에 디스플레이된 상품정보에서 마우스를 이용하여 제품명에 해당하는 문자열을 블록으로 지정한 후 UI 매니저(131)의 "추출"메뉴를 클릭함에 따라 풀다운된 메뉴 중 "제품명" 항목을 클릭함에 따라 웹정보경로추출기(140)에 의해 제품명에 대한 상품요소 경로를 자동으로 추출하게 된다.
물론, 판매가에 대한 상품요소 경로를 추출할 경우에는 도 4e와 같이 GUI 화면상에 디스플레이된 상품정보에서 마우스를 이용하여 "판매가"에 대한 문자열을 블록으로 지정한 후 "추출"메뉴를 클릭함에 따라 풀다운된 메뉴 중 "가격" 항목을 클릭함에 따라 웹정보경로추출기(140)에 의해 판매가에 대한 상품요소 경로를 자동으로 추출하게 된다.
이와 같은 방식을 이용하여 "제조사" 등과 같은 다양한 상품요소에 대한 경로정보를 추출할 수 있다.
상기와 같은 절차를 통해 추출하고자 하는 상품요소의 경로를 모두 추출하였으면(S13), 웹관리자는 마우스와 같은 입력수단(120)을 이용하여 GUI 화면상의 우측 하단에 형성된 "발행"버튼(ⓘ)을 클릭하면 래퍼생성기(130)의 래퍼생성자(135)는 웹정보경로추출기(140)에서 추출한 상품요소별 경로 정보를 이용하여 도 5와 같이 래퍼를 생성하고(S14), 생성된 래퍼를 래퍼데이터베이스(150)로 전송하여 저장시킨다(S15).
이와 같은 추출 방식으로 하나 이상의 래퍼를 래퍼데이터베이스(150)에 준비하고, 이후 모바일단말기로부터 모바일 웹서버(100)에게 상품에 대한 정보를 요청하면, 모바일 웹서버는 래퍼데이터베이스(150)에 수록된 래퍼를 이용하여 웹쇼핑몰로(1)부터 상품정보를 추출한 후 적절한 문서로 변환하여 모바일단말기로 제공하게 된다.
이와 같이 임의의 HTML 문서에서 임의의 항목들에 대한 경로를 GUI에 기반하여 추출한 후 래퍼로 표현하여 저장하는 기술을, 즉 임의의 HTML 문서에서 임의의 항목에 대한 경로 계산과, GUI기반 래퍼 생성 알고리즘에 대한 기술을 실시예를 이용하여 보다 상세하게 살펴보고자 한다. 이하에서는 설명의 편의를 위해 웹정보경로추출기(140)의 기능을 래퍼관리자(133)에서 수행하는 것으로 가정하고 설명하도록 한다.
임의의 HTML 문서로부터 임의의 항목을 추출할 수 있는 경로를 생성하는 과 정을 살펴보면, 통상 HTML 문서내 임의 항목에 대한 경로 정보는 래퍼로 표현된다.
HTML 문서는 트리 형태이며, 따라서 항목의 경로는 HTML 문서에서 루트 노드로부터 해당 항목에 이르기까지의 HTML 태그들의 시퀀스로 표현된다. 이러한 시퀀스가 XML 문서의 래퍼로 표현된다.
예컨대, 도 6과 같은 상품정보가 수록된 웹문서를 보자.
웹관리자가 이 문서에서 "18,000원"의 항목을 추출하고자 한다고 가정한다. 표 2는 도 6에 대한 HTML 소스 코드를 보여주고, 도 7은 표 2의 소스 코드에서 "18,000원"의 항목에 대한 경로를 리스트 형태로 표현한 것이다.
상기 도 7에 표시된 리스트를 뒤에서부터 따라가 보면, 먼저 "18,000원"을 감싸고 있는 태그는 <strong>이다. 다음에 이 태그의 부모 노드는 <td>이고, 이 <td>의 부모 노드는 <tr>이다. <strong>는 <td>의 첫 번째 자식이다. strong 앞에 붙인 "0"은 <strong> 태그가 <td>의 첫 번째 자식이라는 것을 의미한다. 마찬가지로, <td>는 <tr>의 4번째 자식 노드이므로, td 앞에 3의 숫자가 붙여졌음을 알 수 있다. 이와 같이, 역순으로 <body> 노드까지 추적해간다. <table>은 <body>의 17번째 자식 노드임을 알 수 있다.
아래 표 1은 이 항목의 경로를 XML 문서로 표현한 래퍼 일부이다.
도 7의 HTML 태그 시퀀스에서 각 태그는 노드(Node) 요소로 표현된다.
노드는 Name과 Index의 속성을 갖는데, Name에는 해당 HTML 태그 이름이 표현되고, Index에는 트리의 수준에서 자식노드의 순서를 나타낸다. <EPath> 요소는 항목의 의미를 나타낸다.
Figure 112006021448874-pat00001
Figure 112006021448874-pat00002
상기에서 임의의 HTML 문서로부터 임의의 항목을 추출할 수 있는 경로를 생성하는 과정을 살펴보았다.
다음으로 웹관리자가 GUI에 기반하여 웹으로부터 정보 요소에 대한 경로들을 계산하고 이들을 래퍼에 표현하는 알고리즘을 살펴본다.
도 8은 웹으로부터 정보를 추출하는 과정을 수행하는 GUI기반의 시스템의 UML(Unified Modeling Language; 모델링 언어) 클래스를 나타낸 도면이다.
간략하게 의존도가 적은 객체부터 설명하면, Node는 웹문서에서 하나의 추출 요소에 대한 경로 정보를 담고 있는 EPath의 경로 정보를 표현하는 한 단위이다. EPath객체는 경로가 되는 Node를 포함하며 EPath가 적용되는 웹페이지, 추출되는 정보의 이름 등을 갖고 있으며 Node를 관리한다.
래퍼생성자(135; WrapperCreater)는 EPath(요소의 경로)를 생성하며 EPath를 이용하여 XML문서로써 표현 및 저장하는 기능을 한다.
그리고, 래퍼관리자(133; WrapperManager)는 사용자에게 GUI를 제공하는 UI 매니저(131; UIManager)와 래퍼를 생성하는 래퍼생성자(135; WrapperCreater) 사이의 연결점으로 래퍼생성자(135)의 사용을 간단하게 한다. UI 매니저(131)는 상기에서 설명하였듯이 GUI를 관리하면서 사용자로부터 메뉴의 추가나 메뉴 선택 이벤트에 대한 기능을 제공한다.
참고로 도 8의 UML 클래스 도면에서 하나의 클래스를 나타내는 사각상자 안에 3개의 구획이 있다. 첫 번째 부분은 클래스의 이름을 나타내며, 중간은 클래스의 속성, 마지막은 클래스의 기능인 메서드를 나타낸다. 또한 각 속성과 메서드의 앞부분에 +와 -기호가 있는데, 이것은 객체 지향 언어의 특징에서 +는 Public을, -는 Private를 나타낸다.
도 8과 같이 래퍼생성기(130)를 구성하고 알고리즘 실행에 대한 UML의 순차 도면을 보면 도 9와 같다.
도 9의 순차 도면에 대해 간략하게 설명하면, 상단의 블록 안에는 도 8의 UML 클래스 도면의 객체들을 나타내며, 블록 아래 직각으로 내려오는 점선은 시간을 뜻한다. 또한 오른 방향의 실선은 화살표 끝이 가리키는 객체에 실선 위에 기록되어진 행동을 수행시키고 왼쪽 방향의 실선은 오른 방향의 실선에서 수행된 결과를 뜻한다.
웹관리자는 래퍼 생성을 위한 GUI를 사용하는 사용자를 뜻하며, 웹관리자는 (1)의 "프로그램 실행", (6)의 "메뉴 추가", (9)의 "추가된 메뉴 선택", (23)의 "래퍼 발행"을 수행한다.
그 외의 객체에는 도 8의 UML 클래스 도면에서 나온 객체들과 같다. 웹관리자는 (1)의 수행으로 사용자 프로그램인 UI 매니저(131; UIManager)를 실행하며, UI 매니저(131)는 래퍼관리자(133; WrapperManager)를, 래퍼관리자(133)는 래퍼생성자(135; WrapperCreater)를 생성하여 래퍼 생성을 위한 준비를 끝낸다.
그 다음 사용자는 (7)번의 "메뉴 추가"를 수행하면 UI 매니저(131)는 자체적으로 메뉴를 생성한다.
추가된 메뉴가 있을 때 사용자가 그 메뉴를 선택하면 (10)의 "추가된 메뉴 선택"이 수행된다. UI 매니저(131)에 추가된 메뉴선택에 대한 수행을 시작하면 UI 매니저(131)는 래퍼관리자(133)에게 "EPath 생성"명령을 보내고 래퍼관리자(133)는 래퍼생성자(135)에게 (12)의 "웹문서로 부터 EPath 생성" 메시지를 보낸다. (12)의 메시지를 받은 래퍼생성자(135)는 EPath에 (13)의 "Node 생성"을 보내며 EPath는 Node를 생성(14)하고 생성된 Node를 래퍼생성자(135)에 보낸다. 래퍼생성자(135)는 (15)의 Node를 처리하여 (16)의 "스택에 저장"하며 내부적으로 (13)에서 (16)까지 반복하여 Node를 스택에 넣어 완성하여 래퍼관리자(133)에 스택을 리턴(17)한다. 래퍼관리자(133)는 (17)의 스택을 EPath로 변환하기 위해 (18)의 메시지를 보내고 래퍼생성자(135)는 스택을 이용하여 EPath를 생성한다(18, 19, 20, 21).
(21)까지 수행되어 스택에서 EPath로 변환이 종료되면 UI 매니저(131)로 돌아간다.
EPath의 추출이 완료되면 웹관리자는 (24)의 "래퍼발행" 명령을 보낸다. (24)의 메시지를 받은 UI 매니저(131)는 래퍼관리자(133)에게 XML문서를 생성할 것을 명령(25)하고, 래퍼관리자(133)는 기본적인 XML정보를 생성(26)한다. 그리고 EPath에 대한 XML 요소를 생성하기 위해 래퍼생성자(135)에게 EPath를 XML문서로 변환할 것을 명령하여 변환 결과인 XML 요소를 받고 (26)에서 생성된 XML문서에 포함한다(27, 28).
EPath의 XML요소로의 변환이 끝나면 래퍼에 내용이 전부 완성되었다는 것을 의미하며 래퍼 생성을 끝내고(29), 생성된 XML문서인 래퍼를 저장(30)함으로써 경로 추출 부분의 시스템이 끝나게 된다.
지금부터 래퍼를 제작하기 위한 사용자 프로그램이며 사용자에게 GUI환경을 제공하는 UI 매니저(131; UIManager)를 살펴본다.
UI 매니저(131)는 래퍼관리자(133; WrapperManager)를 참조하는 wm과 웹브라우저(WebBrowser)를 참조하는 WebB, 메뉴를 형성하는 MenuBar형의 MenuB, 사용자가 임의로 생성하는 메뉴에 대한 이름을 저장하는 CreatedMenuName 배열이 있다. 또한 UI 매니저(131)는 구성자와 사용자가 메뉴를 선택했을 때의 이벤트를 담당하는 MenuClickEventListener, 사용자 임의의 메뉴를 생성하기 위한 makeMenu메서드가 있다.
아래 표 3은 UI 매니저의 구성자이다. wm속성에 래퍼관리자(133; WrapperManager)를 생성하고 WebB 속성에 WebBrowser 객체를 생성하며, MenuBar를 만들어 Menu인 "추출 항목 생성"과 "래퍼 생성 위치 입력", "래퍼 발행"을 만든다.
- UIManager의 구성자임.
Constructer UIManager() wm ← new WrapperManger() WebB ← new WebBrowser() MenuB ← new MenuBar() Menu Temp ← new Menu("추출 항목 생성") MenuB.appendMenu(Temp) Temp ← new Menu("래퍼 생성 위치 입력") MenuB.appendMenu(Temp) Temp ← new Menu("래퍼 발행") MenuB.appendMenu(Temp) end Constructer
아래 표 4는 사용자의 메뉴 선택에 따른 실행을 나타내는 알고리즘이다. 이 알고리즘은 GUI의 메뉴가 사용자에 의해 선택될 때만 실행된다. MenuClickEvent는 Menu 객체인 source를 매개변수로 받는다. source는 사용자가 선택한 메뉴에 대한 객체로써 사용자가 선택한 메뉴에 대한 정보가 실려있고 getName메서드를 통해 선택한 메뉴의 이름을 알 수 있다. MenuClickEvent에는 4개의 if문이 있으며 이 네 개는 각각 메뉴에 추출 항목 추가, 래퍼 생성 위치 입력, 래퍼 발행, 추가된 항목별 경로 추출의 기능을 한다.
매개변수로 받은 Menu형의 source가 "추출 항목 생성"이면 사용자로부터 새롭게 생성할 메뉴 항목에 대한 이름을 문자열로 입력 받아 MenuName에 저장한고 makeMenu 객체를 이용하여 메뉴를 생성한다. 두번째 if문은 래퍼를 저장하기 위한 위치를 사용자로부터 입력받아 TempPath에 저장하고 wm의 setWrapperPath를 이용하여 래퍼 저장 위치를 래퍼관리자(133)에게 알린다. 세번째 if문은 래퍼를 내보내기 위한 메뉴의 실행을 나타낸다. 이 메뉴가 선택되면 wm의 publishWrapper를 이용하여 래퍼를 내보낸다. 네번째 if문은 사용자가 선택한 메뉴가 지난 if문에 해당 사항이 없으며 사용자가 임의로 생성한 메뉴의 이름에 포함되어 있을 때 실행된다. 이 메뉴는 추출을 위한 경로인 EPath를 추출하는 것으로서, wm의 makeEPath에 웹브라우저가 현재 나타내고 있는 웹페이지에 대한 정보를 담고 있는 HTMLDocument 객체를 가져오기 위한 WebB의 getDocument메서드를 이용하고, 경로명을 나타내기 위해 메뉴의 이름을 그대로 전달하여 추출 경로를 생성하게 된다. 추출 경로 생성의 여부에 따라 성공하면 성공했다는 메시지를, 실패하면 실패했다는 메시지를 사용자에게 전달한다.
- 메뉴 선택에 대한 이벤트헨들러인 UIManager의 MenuClickEvent메서드임.
Method void MenuClickEvent(Menu source) if source.getName() = "추출 항목 생성" then String MenuName ← 사용자로부터 입력 makeMenu(MenuName) CreatedMenuName.add(MenuName) else if source.getName() = "래퍼 저장 위치 입력" then String TempPath ← 사용자로 부터 입력 wm.setWrapperPath(TempPath) else if source.getName() = "래퍼 발행" then wm.publishWrapper() else if source.getName() in CreatedMenuName then if wm.makeEPath(WebB.getDocument(), source.getName()) then Message("추출 성공 메시지") else Message("추출 실패 메시지") end if end if end Method
아래 표 5는 makeMenu메서드의 알고리즘이다.
makeMenu는 메뉴 이름이면서 경로의 이름이 되는 Name을 매개변수로 받는다. if문에서 CreatedMenuName안에 매개변수로 들어온 Name과 일치하는 이름이 있다면 사용자에게 알린다. 일치하는 이름이 없다면 Name의 문자열로 Menu 객체를 NewMenu에 생성하고 MenuB에 등록해서 GUI에 반영한다.
- 사용자 임의의 메뉴 생성을 위한 UIManager의 makeMenu 메서드임.
Method void makeMenu(String Name) if Name in CreatedMenuName then Message("이미 생성된 메뉴 있음") else Menu NewMenu = new Menu(Name) MenuB.appendMenu(NewMenu) end if end Method
또한, UI 매니저(131)와 래퍼 생성의 주요 기능을 갖고 있는 WrapperCreate 객체 사이에 연결점을 제공하는 래퍼관리자(133) 객체에 대하여 보겠다. 래퍼관리자(133) 객체는 앞서 밝혔듯이 래퍼생성자(135) 객체와 GUI 객체인 UI 매니저(131) 객체와의 연결점을 제공한다. UI 매니저(131)에게는 래퍼생성자(135)를 사용할 수 있게 하며, 래퍼생성자(135)는 UI 매니저(131)에게 래퍼관리자(133)를 통해 기능을 제공한다.
래퍼관리자(133) 객체는 XML 문서를 사용하는 방법을 제공하는 XMLDocument형인 XMLDoc와 래퍼생성자(135)형인 wc, XML 문서를 내보낼 수 있는 상태를 알려주는 불리언형의 XMLDocReady, 래퍼의 저장 위치를 가리키는 문자열 WrapperPath가 있다. 메서드로는 웹페이지를 제공하여 EPath를 만드는 makeEPath매서드와 래퍼의 저장 위치를 등록하는 setWrapperPath메서드, XML 문서를 내보내기 위한 publishWrapper메서드 그리고 구성자를 준비하고 있다.
래퍼관리자(133)의 구성자는 표 6과 같다. 래퍼관리자(133)는 인스턴스화할 때 wc속성에 래퍼생성자(135) 객체를 생성하고 XMLDoc에 XMLDocument를 생성하며, 래퍼관리자(133)가 생성되는 시점에서는 XML문서를 내보낼 수 없기 때문에 XMLDocReady에 false값을 입력한다.
Constructer WrapperManager() wc ← new WrapperCreater() XMLDoc ← new XMLDocument() XMLDocReady ← false end Constructer
래퍼관리자(133)의 setWrapperPath는 저장 위치를 문자열 s에 받아들이며 아래 표 7과 같다. setWrapperPath는 WrapperPath에 s를 저장하고 XMLDocReady의 값을 true값으로 바꿔 XML문서에 대한 내보내기 기능을 사용할 수 있게 한다.
- WrapperManager의 setWrapperPath 메서드임.
Method void setWrapperPath(String s) WrapperPath ← s XMLDocReady ← true end Method
XML문서에 대한 내보내기 기능을 사용할 수 있게 되면 makeEPath를 이용하여 래퍼생성자(135)로 EPath를 만들게 된다. makeEPath는 경로 추출의 성공 여부를 나타내는 불리언 값을 리턴하며, 경로 추출을 위한 웹페이지를 나타내는 HTMLDocument의 HTMLDoc와 추출된 경로의 이름을 담고 있는 문자열 Name을 매개변수로 받는다.
표 8은 makeEPath의 알고리즘을 나타낸다. 알고리즘이 실행되면 추출 성공 여부를 나타내는 Success변수를 선언하고 if문에서 매개변수로 받은 HTMLDoc에 사용자가 선택한 부분이 있는 가를 검사한다. 만약 사용자가 선택한 부분이 없다면 안내문을 보인 뒤에 Success변수를 실패를 나타내는 false값을 저장한다.
사용자가 선택한 부분이 있을 때에는, wc의 createEPathStack메서드에 HTMLDoc를 넣어 Stack인 TempStack에 저장한다. TempStack은 다시 wc의 changeStackToEPath에 HTMLDoc가 가리키고 있는 웹페이지 주소와 경로 이름으로 제공되어 EPath를 객체를 완성시킨다.
- EPath생성을 위한 WrapperManager의 makeEPath 메서드임.
Method boolean makeEPath(HTMLDocument HTMLDoc, String Name) boolean Success if HTMLDoc.hasSelectedElement() then Stack TempStack ← wc.createStackFromHTML(HTMLDoc) wc.changeStackToEPath(HTMLDoc.CurrentAddress, TempStack, Name) Success ← true else Message("웹페이지에 선택된 요소가 없음") Success ← false end if return Success end Method
래퍼의 저장 위치가 저장되고 EPath의 추출이 끝나면 publishWrapper메서드를 이용하여 EPath를 래퍼로 만들어 XML문서로 저장할 수 있다.
표 9는 publishWrapper메서드의 알고리즘으로 if문에서 XMLDocReady의 값에 따라 true이면 XML문서를 내보내는 기능을 수행하며 false이면 사용자에게 안내하고 끝낸다. XMLDocReady가 true이면 XML문서의 루트를 나타내는 XMLElement형의 RootElement를 선언하고 XMLDoc로부터 "Wrapper"라는 이름의 XML 요소를 생성한다. 생성된 RootElement는 XMLDoc의 appendChild로 루트로 등록되고, wc의 createWrapper메서드로 EPath에서 생성되는 XML요소를 TempElements 배열에 저장한다.
TempElements에 저장된 XML 요소들은 하나씩 XMLElement인 xe에 저장되며 xe는 RootElement에 등록된다. TempElements의 모든 xe가 RootElement에 등록되면 XMLDoc의 save메서드를 이용하여 WrapperPath에 저장된다.
- 래퍼 발행을 위한 WrapperManager의 publishWrapper 메서드임.
Method void publishWrapper() if XMLDocReady then XMLElement RootElement ← XMLDoc.createElement("Wrapper") XMLDoc.appendChild(RootElement) Array TempElements ← wc.createWrapper(XMLDoc) foreach XMLElement xe in TempElements do RootElement.appendChild(xe) next XMLDoc.save(WrapperPath) else Message("래퍼 저장 위치 입력 요청") end if end Method
래퍼생성자(135)는 EPath의 생성과 XML문서를 생성할 수 있는 요소를 제공한다. 속성으로 여러 EPath 객체를 저장하는 배열인 EPathBox가 있다. 래퍼관리자(133)로부터 제공되어진 HTML문서의 접근을 제공하는 객체를 이용하여 경로 정보로 구성된 EPath를 만들기 위해 경로 정보를 Stack으로 만들고 Stack을 다시 EPath로 변환한 뒤에 EPathBox에 생성된 EPath를 저장한다. 또한 EPath의 생성이 끝나면 EPathBox의 EPath들을 래퍼관리자(133)가 제공한 XML 파서를 이용하여 XML문서의 요소로 변환하여 제공하는 기능도 있다.
아래 표 10은 사용자가 웹브라우저를 통해 선택한 부분의 경로 정보를 처음으로 추출하는 메서드인 createStackFromHTML이다.
createStackFromHTML은 Node를 저장하는 Stack 객체를 리턴하며 경로 정보를 추출하기 위한 목표 HTML 문서의 DOM 객체인 HTMLDocument를 하나의 매개변수로 받는다. 실행시 경로 정보를 담기 위한 Stack의 s변수가 있으며, HTML 파서인 HTMLDocument에서 웹페이지 요소에 대한 접근을 위해 HTMLElement형의 변수들이 필요하다. HTMLElement형 변수에는 관리자가 선택한 부분에 대한 접근을 위한 SelectedElement와 선택된 부분에서 부터 BODY 태그까지의 경로를 알아내기 위해 사용되는 PrevElement와 CurrElement가 있다. 그리고 프로그램이 현재 접근하고 있는 HTMLElement의 자식노드, 즉 자식 태그들에 대한 접근을 위해서 HTMLElement의 컬렉션 객체인 HTMLElementCollection형의 Children을 사용한다. 그 외에 자식 노드들 중에서 순위를 알아내기 위한 정수형의 TagCount가 있으며, 원하는 HTMLElement를 찾았는지에 대한 유무를 판별하기 위한 FindedElement가 있다.
- WrapperCreater의 createStackFromHTML 메서드임.
Method Stack createStackFromHTML(HTMLDocument HTMLDoc) Stack s HTMLElement SelectedElement, PrevElement, CurrElement, BodyElement HTMLElementCollection Children Integer TagCount Boolean FindedElement SelectedElement HTMLDoc.SelectElement() PrevElement SelectedElement CurrElement SelectedElement.getParent() TagCount 0 BodyElement ← HTMLDoc.getBody() while CurrElement ← BodyElement do Children ← CurrElement.getChildren() for each HTMLElement Child in Children do if Child = PrevElement then FindedElement = true break else TagCount ← TagCount + 1 end if next if FindedElement = true then s.push(EPath.createNode(TagCount, CurrElement.getTagName()) TagCount ← 0 FindedElement ← false PrevElement ← CurrElement CurrElement ← pastElement.getParent() else Error "Path 추출 실패" end if repeat return s end Mothod
위의 변수들이 준비되면 PE 경로 추출을 위한 준비가 완료되며 알고리즘은 PE 경로를 추출하기 시작한다. 관리자가 웹페이지에서 선택한 부분을 알아내기 위해서는 파서인 HTMLDocument형의 TargetDocument에서 제공하는 SelectElement()메서드를 이용한다.
SelectElement메서드는 웹페이지를 보이는 웹 브라우저 상에서 사용자가 마우스를 이용하여 끌어서 선택한 부분에 접해 있는 HTML 태그 요소를 되돌려 준다. TargetDocument의 SelectElement 메서드를 이용하여 SelectedElement에 관리자가 선택한 부분에 대한 태그의 요소를 저장한다.
상기에서 살펴본 표 2의 예에서는 "18,000원"을 감싸고 있는 <STRONG>태그에 대한 정보가 된다. 저장이 끝난 후에 경로 찾기가 끝난 요소를 저장하기 위한 PrevElement에 SelectedElement를 저장하며, 상위의 부모 요소는 CurrElement에 getParent()메서드를 이용하여 저장한다. 표 2의 예에서는 <TD>태그가 되겠다.
다음으로 순위를 알아내기 위한 TagCount를 0으로 셋팅하고 추출을 위한 while문에 들어간다. while문은 CurrElement가 TargetDocument의 BODY태그와 같을 때까지 진행되며 TargetDocument에서 BODY태그를 알아내기 위해서는 getBody()메서드를 이용한다.
표 2의 예에서는 CurrElement는 TD태그를 가리키므로 while문의 내부를 실행한다. while문 실행의 첫 단계는 CurrElement의 getChildren메서드를 이용하여 CurrElement가 갖고 있는 자식 요소들에 대한 컬렉션을 Children변수에 저장한다.
표 2의 예에서는 TD태그의 자식 태그는 <STRONG>밖에 없으므로 STRONG태그만 저장되어 있는 컬렉션 객체가 되겠다. 그 후 foreach문을 이용하여 Children으로부터 HTMLElement로 선언된 Child에 Children의 요소 하나씩 저장한다. foreach문 내부의 if문에서 child와 PrevElement와 비교해서 같으면 자식노드에서 PrevElement와 같은 요소를 찾은 것이므로 FindedElement를 참값으로 변경하고 foreach문을 탈출하고 만약에 다르다면 TagCount를 증가시킨다.
표 2의 예에서는 child는 STRONG태그의 객체가 되며 PrevElement와 같으므로 FindedElement를 참값으로 변경하고 foreach문을 탈출한다. 그후, FindedElement는 if문을 이용하여 참값이면 Stack인 s에 PrevElement가 가리키는 태그의 이름과 TagCount를 Node 객체에 각각 TagName과 TagIndex로 넣고 스택에 저장한다. PrevElement의 태그 이름을 알아내기 위해서는 getTagName메서드를 이용한다.
이렇게 해서 표 2의 STRONG과 0이 Node 객체로 스택에 저장된다. 그리고 TagCount는 0으로 리셋하며 FindedElement는 거짓 값으로 저장하고 PrevElement는 CurrElement를 저장하고 CurrElement에는 CurrElement의 부모 요소를 저장한다. 표 2의 예에서는 PrevElement는 TD태그가 되며 CurrElement는 TR태그가 된다. 그리고 while문의 상위로 돌아가 다시 실행한다. 이와 같이 반복하여 CurrElement가 BODY태그를 가리키게 되면 루프문을 빠져나오며 PE 경로 정보가 저장되어 있는 Stack s는 되돌려 진다.
지금까지 래퍼생성자(135) 객체에서 사용자가 선택한 부분의 경로 정보를 스택에 저장하는 createStackFromHTML메서드를 보았다. createStackFromHTML메서드는 본 발명에서 작성한 알고리즘 이외에 웹페이지의 접근을 위해 MS에서 제공하는 Internet Development SDK[9]의 HTML 파서 관련된 객체들을 많이 사용하였으며 이 부분에 대한 것은 아래의 표 11에서 설명한다.
이리하여 Stack의 생성이 끝나면 이 Stack을 이용하여 실제 경로 정보인 EPath를 생성할 수 있다. EPath를 생성하는 메서드는 래퍼생성자(135)의 changeStackToEPath메서드로 표 11과 같다.
changeStackToEPath는 경로 정보가 거꾸로 담겨 있는 스택과 경로 정보를 적용하기 위한 웹페이지 주소, 경로 정보의 이름을 다룬다. 여기서 경로 정보의 이름이란 EPath가 가리키는 요소에 대한 구분을 나타낸다. changeStackToEPath는 세 개의 매개변수를 받는며, Tadd는 경로 정보가 적용될 웹페이지 주소, s는 경로정보가 담겨있는 스택, n은 EPathdm 이름을 나타낸다. 우선 TempEPath를 EPath 객체를 생성한다. 이때 createEPath메서드를 사용한다. 그 후 반복문으로 스택 s가 밑바닥까지 즉, 스택이 비워질 때까지 반복하면서 스택의 노드를 위에서부터 하나씩 꺼내 TempEPath에 저장한다. TempEPath에 저장할 때는 EPath의 appendNode를 이용한다. 반복문이 끝나고 TempEPath는 래퍼생성자(135) 객체의 배열 EPathBox에 저장된다.
- WrapperCreater의 changeStackToEPath 메서드임.
Method void changeStackToEPath(String Tadd, Stack s, String n) EPath TempEPath ← createEPath(Tadd, n) while not s.bottom() do Node TempNode ← s.pop() TempEPath.appendNode(TempNode) repeat EPathBox.add(TempEPath) end Method
아래 표 12는 EPath 객체를 생성하는 createEPath로 EPath 객체를 되돌리며 EPath의 TargetAddress에 저장되는 Ta와 EPath의 이름이 되는 EPathName에 저장되는 Name으로 두개의 매개변수를 받는다.
- WrapperCreater의 createEPath 메서드임.
Method EPath createEPath(String Ta, String Name) EPath TempEPath ← new EPath() TempEPath.EPathName ← Name TempEPath.TargetAddress ← Ta return TempEPath end Method
래퍼생성자(135) 객체의 메서드 설명에서 마지막으로 표 13의 createWrapper메서드가 있다.
이 메서드는 배열을 리턴하며 XML 요소를 생성하기 위해 XMLDocument를 매개변수로 받는다. XMLDocument는 다른 XMLDocument에서 생성된 XML 요소는 서로 호환되지 않기 때문에 래퍼생성자(135)는 createWrapper메서드에서 XMLDocument를 매개변수로 받아들여 매개변수로 들어온 XMLDocument에 알맞은 XML 요소를 생성한다.
우선 리턴될 XML 요소를 담을 배열로 ElementResult를 선언한다. 그리고 EPath 객체가 변환될 EPathElement와 Node 객체가 변환될 NodeElement 변수를 XMLElement 객체로 선언한다. 그 외에 EPathElement의 속성이 되는 AttbName과 AttbTarget을 XMLAttribute 객체로 선언하고, Node의 TagIndex와 TagName이 변환되어 NodeElement의 속성이 되는 AttbTagIndex와 AttbTagName을 선언한다.
변수의 준비가 끝나면 바로 foreach문으로 들어간다. foreach문은 EPathBox에서 하나씩 p에 저장하면서 반복문을 실행한다. EPathBox로 부터 p가 들어면 EPathElement에 "EPath"라는 이름으로 XML 엘레먼트를 생성한다. 그리고 AttbName과 AttbTarget에 각각 "Name"과 "TargetAddress"로 속성을 생성한다. AttbName속성에는 p의 EPathName을 저장하고 AttbTarget에는 TargetAddress를 저장해서 EPathElement의 속성으로 등록시킨다.
EPathElement의 속성 등록이 끝나면 foreach 반복문이 나온다. 두번째 반복문은 EPath에 포함되어 있는 경로 정보인 Node 객체를 XML 요소로 변환하는 부분이다. 이 foreach문은 Node 객체인 n에 EPath 객체인 p의 NPath에서 순서대로 하나씩 가지고 온다. n에 p.NPath의 첫 번째 Node 객체가 들어가면 NodeElement에 "Node"라는 이름으로 XML 엘레먼트를 생성하고 n의 TagIndex와 TagName을 각각 "TagIndex"라는 이름의 AttbTagIndex와 "TagName"이라는 이름의 AttbTagName의 Value에 저장한다. AttbTagIndex와 AttbTagName이 저장되면 NodeElement에 setAttributeNode메서드로 등록하며 반복문을 끝내기 전에 NodeElement를 EPathElement에 등록한다. p.NPath의 Node요소가 전부 등록될때까지 반복한다.
Node의 등록이 끝나면 EPathElement는 전부 완성이 되며 이것을 호출자에게 되돌려 주기 위한 ElementResult에 저장한다. 그 후에 EPathBox의 모든 EPath가 ElementResult에 저장될 때까지 첫번째 foreach문을 반복하고 첫번째 foreach문이 끝나면 ElementResult를 리턴한다.
- WrapperCreater의 createWrapper메서드임.
Method Array createWrapper(XMLDocument XMLDoc) Array ArrayElement XMLElement EPathElement, NodeElement XMLAttribute AttbName, AttbTarget, AttbTagIndex, AttbTagName foreach EPath p in EPathBox do EPathElement ← XMLDoc.createElement("EPath") AttbName ← XMLDoc.createAttribute("Name") AttbTarget ← XMLDoc.createAttribute("TargetAddress") AttbName.Value ← p.EPathName AttbTarget.Value ← p.TargetAddress EPathElement.setAttributeNode(AttbName) EPathElement.setAttributeNode(AttbTarget) foreach Node n in p.NPath do NodeElement ← XMLDoc.createElement("Node") AttbTagIndex ← XMLDoc.createAttribute("TagIndex") AttbTagName ← XMLDoc.createAttribute("TagName") AttbTagIndex.Value ← n.TagIndex AttbTagName.Value ← n.TagName NodeElement.setAttributeNode(attbTagIndex) NodeElement.setAttributeNode(attbTagName) EPathElement.appendChild(NodeElement) next ArrayElement.add(EPathElement) next return ArrayElement end Method
경로 정보에 대한 추출을 위한 페이지 정보나 정보의 이름 등으로 구성되어 있는 EPath는 Node를 순서대로 저장하는 NPath 배열과 EPath의 이름, EPath를 사용할 수 있는 웹페이지의 주소로 속성을 정의하고 있다.
EPath의 메서드에는 Node 객체를 생성하는 정적 메서드인 createNode와 생성된 Node 객체를 저장하는 표 14의 appendNode메서드가 있다. createNode메서드는 Node의 TagIndex에 저장되는 ti와 Node의 TagName에 저장되는 tn으로 구성된 두개의 매개변수를 취한다. 표 15는 EPath의 createNode메서드를 나타내고, appendNode는 단순히 매개변수인 n을 NPath에 넣는 기능을 한다.
- EPath의 appendNode 메서드임.
Method void appendNode(Node n) NPath.add(n) end Method
- EPath의 createNode 메서드임.
Method static Node createNode(int ti, String tn) Node TempNode ← new Node() TempNode.TagIndex ← ti TempNode.TagName ← tn return TempNode end Method
경로 정보를 구성하는 Node 객체는 두 개의 속성으로 간단하게 이루어져있으며, EPath에 의해 생성되고 저장된다. 그리고 Node 객체의 TagIndex는 HTML 태그의 순위 값을 나타내며 TagName은 해당 TagIndex가 가리키는 HTML 태그명을 나타낸다.
끝으로 아래 표 16은 래퍼 생성과 래퍼를 이용한 정보 추출 알고리즘의 수행에서 본 발명에서 정의하지 않은 벤더들에 의해 제공되는 객체와 기본적인 기능으로 제공되는 객체에 대해 간략하게 기술하여 보인 것이다.
Figure 112006021448874-pat00003
상기에서 본 발명의 특정한 실시예가 설명 및 도시되었지만, 본 발명이 웹쇼핑몰의 상품정보뿐만 아니라 웹사이트의 임의의 HTML 문서에서 임의의 항목에 대한 경로 추출 및 래퍼 생성도 가능함은 당연하다. 이와 같은 변형된 실시예들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안되며, 본 발명에 첨부된 청구범위 안에 속한다고 해야 할 것이다.
따라서, 본 발명에서는 모바일 웹서버에서 GUI에 기반하여 임의의 HTML 문서에서 특정 웹 정보에 대한 인터넷 상의 경로와 요소를 미리 추출하여 웹 정보 경로인 래퍼를 생성함으로써, 모바일단말기의 사용자가 특정 정보를 원할 경우 이러한 래퍼를 이용하여 해당 웹 정보를 보다 신속하게 추출함과 아울러 모바일단말기에게 적합한 형태로 웹 정보를 제공할 수 있는 이점이 있다.

Claims (7)

  1. 인터넷 웹사이트에 수록된 웹 정보를 추출하여 래퍼를 생성하는 모바일 웹서버에 있어서,
    소정의 웹사이트에 게시된 각 웹 정보의 경로 및 요소를 추출하기 위한 GUI 화면이 디스플레이되는 표시수단;
    상기 표시수단에 디스플레이된 GUI 화면상에 URL 주소와 웹 정보의 경로 및 요소 추출을 위한 각종 명령어와 항목을 입력 선택하는 입력수단;
    상기 GUI 화면상에 입력된 URL주소에 따라 웹브라우저를 구동하여 해당 웹사이트에 접속하고, 웹관리자가 선택한 검색 경로를 따라 특정 웹 정보에 접근한 후 추출된 웹 정보의 경로를 이용하여 래퍼를 생성하는 래퍼생성기;
    상기 래퍼생성기로부터 웹 정보에 대한 HTML 문서를 제공받아 파싱한 후 웹관리자의 선택 항목에 따른 웹 정보의 경로를 HTML 문서의 태그를 이용하여 추출하여 래퍼생성기로 전달하는 웹정보경로추출기; 및
    상기 래퍼생성기에 의해 생성된, 웹 정보에 대한 항목을 추출하는데 필요한 HTML 문서상에서 루트 노드로부터의 항목까지의 HTML 태그들의 시퀀스로 구성된 경로 정보인 래퍼가 저장되는 래퍼데이터베이스;를 구비한 것을 특징으로 하는 모바일 웹서버에서의 사용자인터페이스 기반의 범용 웹 정보 추출을 위한 래퍼 생성장치.
  2. 제 1 항에 있어서, 상기 래퍼생성기는
    상기 웹 정보의 경로 및 요소를 추출하기 위한 사용자 프로그램으로 GUI 환경을 제공하는 UI 매니저; 상기 UI 매니저에 포함되어 래퍼를 생성하기 위한 정보를 수집하여 웹정보경로추출기를 통해 웹 정보의 경로를 추출하기 위한 래퍼관리자; 및 상기 래퍼관리자에 의해 수집된 정보를 이용하여 웹 정보의 경로인 래퍼를 생성하는 래퍼생성자;를 포함하는 것을 특징으로 하는 모바일 웹서버에서의 사용자인터페이스 기반의 범용 웹 정보 추출을 위한 래퍼 생성장치.
  3. 제 2 항에 있어서,
    상기 UI 매니저는, 접근하고자 하는 웹사이트의 URL주소를 입력하는 입력창; 상기에서 입력된 웹사이트의 URL주소로 접근하여 웹페이지를 불러옴과 아울러 웹사이트의 URL주소를 래퍼로 설정하는 명령버튼; 상기 웹사이트의 URL주소의 입력에 따라 웹브라우저가 동작하여 웹페이지를 디스플레이하는 표시창; 상기 웹사이트 내의 검색엔진의 URL주소를 표시하는 주소창; 상기 웹사이트 내의 검색엔진의 URL주소를 래퍼로 설정하는 명령버튼; 상기 웹사이트 내의 웹 정보의 URL주소를 표시하는 주소창; 상기 웹사이트 내의 웹 정보의 URL주소를 래퍼로 설정하는 명령버튼; 상기 웹사이트 내의 각 웹 정보별로 경로를 추출하기 위한 메뉴바; 및 상기 추출된 웹 정보별 경로를 이용하여 래퍼를 생성하는 래퍼발행버튼;을 포함하는 것을 특징으로 하는 모바일 웹서버에서의 사용자인터페이스 기반의 범용 웹 정보 추출을 위한 래퍼 생성장치.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 래퍼데이터베이스에 저장되는 래퍼는, 웹사이트의 URL주소, 웹사이트의 검색 URL주소, 웹 정보의 URL주소, 및 웹 정보의 항목 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 모바일 웹서버에서의 사용자인터페이스 기반의 범용 웹 정보 추출을 위한 래퍼 생성장치.
  5. 인터넷 웹사이트에 수록된 웹 정보를 모바일단말기로 제공하기 위한 모바일 웹서버의 웹 정보 추출방법에 있어서,
    웹 정보의 경로를 추출하기 위한 UI 매니저를 구동하여 GUI 화면을 디스플레이시키는 제 1단계;
    디스플레이된 상기 GUI 화면상에 웹 정보를 획득하고자 하는 해당 웹사이트의 URL주소를 입력하는 제 2단계;
    상기 URL주소가 입력되면 모바일 웹서버는 해당 웹사이트에 접속하여 UI 매니저상에 웹페이지를 다운로드하여 디스플레이하는 제 3단계;
    상기 디스플레이된 웹사이트에서 제공하는 검색엔진을 이용하여 특정 웹 정보가 수록된 웹페이지에 접근한 후 UI 매니저를 이용하여 웹 정보의 URL주소를 선택 저장하는 제 4단계;
    상기 웹 정보의 URL주소를 저장한 후 웹정보경로추출기를 이용하여 웹 정보 중 특정 항목에 대한 경로를 HTML 문서의 태그를 이용하여 추출하는 제 5단계; 및
    상기 항목별 경로 정보를 모두 추출하였으면, 래퍼생성기를 이용하여 항목 경로인 래퍼를 생성한 후 생성된 래퍼를 래퍼데이터베이스에 저장하는 제 6단계;를 구비하는 것을 특징으로 하는 모바일 웹서버에서의 사용자인터페이스 기반의 범용 웹 정보 추출을 위한 래퍼 생성방법.
  6. 제 5 항에 있어서,
    상기 제 6단계에서 생성된 래퍼는, 웹사이트의 URL주소, 웹사이트의 검색 URL주소, 웹 정보의 URL주소 및 웹 정보의 항목 중 적어도 하나 이상을 포함하는 것을 특징으로 하는 모바일 웹서버에서의 사용자인터페이스 기반의 범용 웹 정보 추출을 위한 래퍼 생성방법.
  7. 제 5 항에 있어서,
    상기 제 5단계에서 웹 정보의 경로를 추출하는 과정은,
    웹 정보에 대한 웹페이지가 GUI 화면상에 디스플레이된 상태에서 UI 매니저의 추출메뉴를 선택하는 단계; 상기 GUI 화면에 디스플레이된 웹 정보에서, 추출하고자 하는 항목인 특정 문자열을 입력수단을 이용하여 블록으로 지정하는 단계; 상기 특정 항목의 문자열을 블록으로 지정한 후 추출메뉴를 선택하여 블록으로 지정한 문자열과 동일한 항목을 선택하는 단계; 및 상기 항목이 선택되면 웹정보경로추출기는 HTML 문서의 태그를 이용하여 웹 정보의 항목 경로 정보를 추출하는 단계;를 포함하는 것을 특징으로 하는 모바일 웹서버에서의 사용자인터페이스 기반의 범 용 웹 정보 추출을 위한 래퍼 생성방법.
KR1020060027545A 2006-03-27 2006-03-27 모바일 웹서버에서의 사용자인터페이스 기반의 범용 웹정보 추출을 위한 래퍼 생성장치 및 그 방법 KR100792109B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060027545A KR100792109B1 (ko) 2006-03-27 2006-03-27 모바일 웹서버에서의 사용자인터페이스 기반의 범용 웹정보 추출을 위한 래퍼 생성장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060027545A KR100792109B1 (ko) 2006-03-27 2006-03-27 모바일 웹서버에서의 사용자인터페이스 기반의 범용 웹정보 추출을 위한 래퍼 생성장치 및 그 방법

Publications (2)

Publication Number Publication Date
KR20070096659A KR20070096659A (ko) 2007-10-02
KR100792109B1 true KR100792109B1 (ko) 2008-01-04

Family

ID=38803469

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060027545A KR100792109B1 (ko) 2006-03-27 2006-03-27 모바일 웹서버에서의 사용자인터페이스 기반의 범용 웹정보 추출을 위한 래퍼 생성장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR100792109B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101223864B1 (ko) * 2009-09-15 2013-01-18 에스케이플래닛 주식회사 인터넷 쇼핑몰 검색 시스템 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000037595A (ko) * 1998-12-01 2000-07-05 정선종 온라인 상점 상의 제품 정보 자동 색인 방법 및 시스템
KR20010009983A (ko) * 1999-07-15 2001-02-05 안병엽 웹 정보 추출 방법 및 시스템
KR20010082966A (ko) * 2000-02-22 2001-08-31 백윤주 관련 웹 사이트 제공 방법 및 시스템
KR20020043993A (ko) * 2000-12-05 2002-06-14 오길록 패턴정보를 이용한 상품정보 추출 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000037595A (ko) * 1998-12-01 2000-07-05 정선종 온라인 상점 상의 제품 정보 자동 색인 방법 및 시스템
KR20010009983A (ko) * 1999-07-15 2001-02-05 안병엽 웹 정보 추출 방법 및 시스템
KR20010082966A (ko) * 2000-02-22 2001-08-31 백윤주 관련 웹 사이트 제공 방법 및 시스템
KR20020043993A (ko) * 2000-12-05 2002-06-14 오길록 패턴정보를 이용한 상품정보 추출 장치 및 방법

Also Published As

Publication number Publication date
KR20070096659A (ko) 2007-10-02

Similar Documents

Publication Publication Date Title
Hassan et al. Architecture recovery of web applications
CN101488151B (zh) 一种聚合Web站点内容的系统和方法
EP2987088B1 (en) Client side page processing
CN101122921B (zh) 基于ajax与html标记形成树形显示结构的方法
US20080010249A1 (en) Relevant term extraction and classification for Wiki content
Frischmuth et al. Ontowiki–an authoring, publication and visualization interface for the data web
CN1408093A (zh) 一种能够运行在不同格式的厂商站点上的电子购物代理
US20080134019A1 (en) Processing Data And Documents That Use A Markup Language
KR101951719B1 (ko) 그래픽 인터페이스 기반으로 이벤트 동작을 프로그래밍 하는 웹 레포팅 디자인 시스템
WO2006051958A1 (ja) 情報配信システム
WO2013002083A1 (en) Method and system for creating and using web feed display templates
CN104823158A (zh) 用于简化的知识工程的方法与系统
CN113377373A (zh) 基于解析引擎的页面加载方法、装置、计算机设备及介质
CN106951495A (zh) 用于呈现信息的方法和装置
Roudaki et al. Specification and discovery of web patterns: a graph grammar approach
Engel et al. Exploiting HCI pattern collections for user interface generation
WO2006051955A1 (ja) サーバ装置及び名前空間発行方法
Stroulia et al. Constructing XML-speaking wrappers for WEB Applications: Towards an Interoperating WEB
Dinku React. js vs. Next. js
KR100792109B1 (ko) 모바일 웹서버에서의 사용자인터페이스 기반의 범용 웹정보 추출을 위한 래퍼 생성장치 및 그 방법
CN114968235A (zh) 一种页面表单生成方法、装置、计算机设备及存储介质
Li et al. A Web application framework for end-user-initiative development with a visual tool
Rahaman et al. Development of Web Applications by Integrating Frontend and Backend Tools
WO2005098666A1 (en) Processing data and documents that use a markup language
Rachovski et al. Models and methodologies for automated creating of webpage mobile versions

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
FPAY Annual fee payment

Payment date: 20121130

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131202

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141216

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151228

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20171229

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20191230

Year of fee payment: 13