KR100880709B1 - 자바스크립트 함수 자동 분석 방법 및 상기 방법을 이용한능동형 웹 수집 로봇 시스템 - Google Patents

자바스크립트 함수 자동 분석 방법 및 상기 방법을 이용한능동형 웹 수집 로봇 시스템 Download PDF

Info

Publication number
KR100880709B1
KR100880709B1 KR1020080039810A KR20080039810A KR100880709B1 KR 100880709 B1 KR100880709 B1 KR 100880709B1 KR 1020080039810 A KR1020080039810 A KR 1020080039810A KR 20080039810 A KR20080039810 A KR 20080039810A KR 100880709 B1 KR100880709 B1 KR 100880709B1
Authority
KR
South Korea
Prior art keywords
tag
javascript function
module
javascript
web
Prior art date
Application number
KR1020080039810A
Other languages
English (en)
Inventor
남기효
조은희
정문권
김용재
심효진
심미선
김대유
정화연
Original Assignee
(주)위너다임
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)위너다임 filed Critical (주)위너다임
Priority to KR1020080039810A priority Critical patent/KR100880709B1/ko
Application granted granted Critical
Publication of KR100880709B1 publication Critical patent/KR100880709B1/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/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1246Job translation or job parsing, e.g. page banding by handling markup languages, e.g. XSL, XML, HTML
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45529Embedded in an application, e.g. JavaScript in a Web browser
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Tourism & Hospitality (AREA)
  • Human Resources & Organizations (AREA)
  • General Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 자바스크립트 함수 자동 분석 방법 및 상기 방법을 이용한 능동형 웹 수집 로봇 시스템에 관한 것으로, 보다 상세하게는, 다양한 웹 환경에서 URL 주소 수집을 통해 이루어지는 웹 수집 로봇을 개발하는데 있어서 개발자에 의해 만들어진 자바스크립트 함수로 링크가 연결되어 있는 경우 해당 URL 정보를 수집할 수 없으며, 이로 인해 URL 정보의 수집에 있어서 많은 웹페이지들의 누락이 발생할 수 있는 종래의 웹 수집 로봇 시스템의 한계를 극복하고자, 자동으로 자바스크립트 함수를 분석 및 처리함으로써 URL 정보를 용이하고 정확하게 수집할 수 있도록 하는, 자바스크립트 함수 자동 분석 방법 및 상기 방법을 이용한 능동형 웹 수집 로봇 시스템에 관한 것이다.
본 발명의 자바스크립트 함수 자동 분석 방법은, 자바스크립트 함수를 자동으로 처리하기 위한 자바스크립트 함수 자동 분석 방법에 있어서, a1) 수집된 웹페이지에 포함된 자바스크립트 함수 링크를 자동으로 처리하기 위해 요구되는 태그를 재구성하는 단계(S21); 및 a2) 상기 a1) 단계(S21)에서 재구성된 태그를 웹 브라우저 객체에 삽입하고 해당 자바스크립트 함수의 실행을 통해 URL 주소를 획득하는 단계(S22); 를 포함하여 이루어지는 것을 특징으로 한다.
능동형 웹 수집 로봇, 자바스크립트 함수, 자동 분석, 자동 처리

Description

자바스크립트 함수 자동 분석 방법 및 상기 방법을 이용한 능동형 웹 수집 로봇 시스템 {Auto-Analysing Method for Javascript Function and Active Web Collecting Robot System using the Same Method}
본 발명은 자바스크립트 함수 자동 분석 방법 및 상기 방법을 이용한 능동형 웹 수집 로봇 시스템에 관한 것이다. 보다 상세하게는, 본 발명은 웹 환경에 활용될 수 있는 웹 수집 로봇의 URL 주소를 수집 처리함에 있어서, 수집하고자 하는 웹사이트별로 사용자가 자바스크립트 함수 등의 사이트 분석에 대한 추가적인 작업이 요구되지 않도록, 소프트웨어에서 자바스크립트 함수가 사용되는 웹사이트 및 웹페이지에 대한 URL 주소 수집을 자동으로 처리하여 그 결과로 URL 주소를 획득하도록 하는, 자바스크립트 함수 자동 분석 방법 및 상기 방법을 이용한 능동형 웹 수집 로봇 시스템에 관한 것이다.
현재 일반인에게도 IT 기술은 실생활과 밀접한 관계에 있다. 특히 현대는 정보화 시대라고 불리는 만큼, 대부분의 현대인은 인터넷을 통해 검색을 수행하고 이를 통해 다양한 정보를 수집하는 것이 생활화되어 있다. 이와 같은 검색이 용이하게 수행되도록 하기 위해서, 검색 엔진들은 수많은 웹페이지들을 미리 방문하고 자 동으로 색인을 작성하는 작업을 수행한다. 색인 작업을 하기 위해서는 우선 색인의 대상이 될 웹문서를 수집해야 하며, 웹문서를 자동으로 수집해 주는 역할을 하는 프로그램이 바로 웹 수집 로봇으로, 일반적으로 스파이더 또는 크롤러 등의 용어로 불린다. 웹 수집 로봇은 어떤 웹페이지를 방문하여 해당 웹페이지를 수집하고, 해당 웹페이지에 링크되어 있는 다른 웹페이지로 자동으로 이동하여 수집 작업을 반복적으로 수행한다.
HTML 태그로만 되어 있는 단순한 웹페이지의 경우 수집 작업은 매우 간단하게 이루어진다. 그런데, 현재 많은 웹페이지에서는 HTML만으로 구성되어 있지 않고 플래시, 자바스크립트 등을 포함하고 있는 경우가 많다. 이 중 특히 자바스크립트의 경우, 종래의 웹 수집 로봇의 알고리즘으로 수집할 경우 메모리 해제가 되지 않거나 쓰레드에서 빠져나가지 못하는 등과 같은 문제점이 생겨, 수집이 용이하지 않은 문제점이 있었다.
종래에 웹 수집 로봇의 자바스크립트 함수 링크 처리 기술은, 사용자가 수집하고자 하는 웹사이트의 웹페이지에서 사용되고 있는 자바스크립트 분석을 직접 수동으로 처리하도록 되어 있다. 즉 사이트 분석에 대한 소요 시간이 많을 뿐 아니라, 분석이 완료되더라도 해당 분석은 해당 사이트에 제한되기 때문에 융통성을 가지지 못한다. 더구나 상술한 바와 같이 천문학적으로 많고 또 시시각각으로 증가하는 수많은 웹페이지에 대하여 이와 같은 작업을 수동으로 수행한다는 것은 엄청나 게 비효율적임이 자명하다.
한국등록특허 제0571302호("프로그램적으로 링크된 웹 리소스의 주소정보를 수집하는 방법 및 그 장치", 이하 선행기술)에서는, 웹 페이지를 포함하는 문서들에서 주소정보 생성코드를 해석하여 웹 리소스(resource)의 주소정보를 추출하는 방법 및 그 장치를 개시하고 있다. 상기 선행기술에서는 웹 수집 로봇이 어떤 웹문서에서 동적 주소, 즉 자바스크립트 등과 같은 언어로 작성된 주소를 발견할 경우, 웹브라우저를 통해 간접 수행을 하거나 스크립트를 직접 수행하여 결과를 추출하고, 이렇게 생성된 주소 정보를 저장함으로써 동적 링크된 웹문서에 대해서도 주소 정보를 자동으로 추출할 수 있게 하고 있다. 그런데, 상기 선행기술은 다운로드받은 웹페이지의 소스를 그대로 이용하여 자바스크립트 함수를 수행하도록 되어 있어, 다중 동적 링크 등과 같은 경우 올바른 주소 정보를 생성하지 못할 가능성이 있다. 또한, 올바른 주소 정보가 생성되지 않음으로써 메모리의 해제가 제대로 이루어지지 못하는 등의 문제가 발생할 수 있어, 시스템이 불안정해질 가능성 또한 있다.
본 발명은 상기한 바와 같은 종래 기술의 문제점을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 자바스크립트 함수를 처리하기 위해 사용자의 웹사이트 추가 분석 작업 및 웹사이트의 특성에 구애받지 않고, 자동으로 자바스크립트 함수를 처리하여 URL 주소를 획득하도록 하는, 자바스크립트 함수 자동 분석 방법 및 상기 방법을 이용한 능동형 웹 수집 로봇 시스템을 제공함에 있다.
상기한 바와 같은 목적을 달성하기 위한 본 발명의 자바스크립트 자동 분석 방법을 이용한 능동형 웹 수집 로봇 시스템은, 자바스크립트 함수를 자동으로 처리하기 위한 능동형 웹 수집 로봇 시스템에 있어서, 수집하고자 하는 웹페이지 추가, 열람, 삭제를 제어하는 등록 GUI(10); 웹페이지의 수집 결과를 화면, 이메일, SMS 등으로 출력하는 출력 GUI(11); 웹페이지의 수집 실행을 제어하는 수집 GUI(12); 상기 등록 GUI(10), 상기 출력 GUI(11) 및 상기 수집 GUI(12)로부터 받은 명령을 통해 각 등록, 출력 및 수집 기능을 제어하는 관리 모듈(13); 수집한 URL 정보를 화면, 이메일, SMS를 포함하는 출력 포맷으로 출력하는 출력 모듈(14); URL 주소 수집을 위해 임의의 웹사이트에 접근하여 수집할 페이지를 탐색하고 저장하는 웹페이지 다운로드 모듈(15); 상기 웹페이지 다운로드 모듈(15)이 접근한 대상 웹페이지의 URL 링크들을 수집 처리하는 URL 수집 모듈(16); 상기 웹페이지 다운로드 모 듈(15)이 접근한 대상 웹페이지의 자바스크립트 함수 처리를 위해 웹페이지 소스 내의 태그를 재구성하는 태그 재구성 모듈(17); 상기 태그 재구성 모듈(17)에 의하여 재구성된 태그를 이용한 자바스크립트 함수 실행을 통해 URL 주소를 획득하는 자바 스크립트 함수 실행 모듈(18); 수집하고자 하는 웹사이트 정보 및 수집된 URL 주소를 저장하는 웹페이지 수집 데이터베이스(19); 를 포함하여 이루어지며, 서버 컴퓨터를 포함하는 연산처리수단에 내장되어 상기 연산처리수단에 의하여 작동되는 것을 특징으로 한다.
또한, 본 발명의 자바스크립트 함수 자동 분석 방법은, 다운로드받은 웹페이지 소스 내의 태그를 재구성하는 태그 재구성 모듈(17) 및 상기 태그 재구성 모듈(17)에 의하여 재구성된 태그를 이용한 자바스크립트 함수 실행을 통해 URL 주소를 획득하는 자바 스크립트 함수 실행 모듈(18)을 포함하여 이루어져 자바스크립트 함수를 자동으로 처리하는 능동형 웹 수집 로봇 시스템에 의하여 수행되는 자바스크립트 함수 자동 분석 방법에 있어서, a1) 상기 태그 재구성 모듈(17)이, 수집된 웹페이지에 포함된 자바스크립트 함수 링크를 자동으로 처리하기 위해 요구되는 태그를 재구성하는 단계(S21); 및 a2) 상기 자바 스크립트 함수 실행 모듈(18)이, 상기 a1) 단계(S21)에서 재구성된 태그를 웹 브라우저 객체에 삽입하고 해당 자바스크립트 함수의 실행을 통해 URL 주소를 획득하는 단계(S22); 를 포함하여 이루어지는 것을 특징으로 한다.
이 때, 상기 a1) 태그를 재구성하는 단계(S21)는, b1) 상기 태그 재구성 모 듈(17)이, 웹페이지의 소스의 HTML 소스 부분과 스크립트 소스 부분으로 분리하는 단계(S31); b2) 상기 태그 재구성 모듈(17)이, 상기 b1) 단계(S31)에서 분리된 HTML 소스 부분에서 데이터 태그를 추출하는 단계(S32); b3) 상기 태그 재구성 모듈(17)이, 상기 b1) 단계(S31)에서 분리된 HTML 소스 부분에서 추출된 데이터 태그의 앨러먼트를 재구성하는 단계(S33); b4) 상기 태그 재구성 모듈(17)이, 상기 b1) 단계(S31)에서 분리된 스크립트 소스 부분에서 링크 호출된 자바 스크립트 함수를 추출하는 단계(S34); b5) 상기 태그 재구성 모듈(17)이, 상기 b3) 단계(S33)에서 재구성된 데이터 태그 소스들과 상기 b4) 단계(S34)에서 추출된 자바스크립트 함수 소스들을 조합하는 단계(S35); 및 b6) 상기 태그 재구성 모듈(17)이, 상기 b5) 단계(S35)에서 조합되어 생성된 소스 태그를 HTML 파싱을 통하여 경량화하는 단계(S36); 를 포함하여 이루어지는 것을 특징으로 한다. 이 때, 상기 데이터 태그는 <INPUT>, <FORM>, <SELECT> 및 <OPTION> 중 선택되는 어느 하나 이상인 것을 특징으로 한다.
또한 이 때, 상기 a2) URL 주소를 획득하는 단계(S22)는, c1) 상기 자바 스크립트 함수 실행 모듈(18)이, 웹 브라우저 객체를 생성하는 단계(S41); c2) 상기 자바 스크립트 함수 실행 모듈(18)이, 상기 a1) 단계(S21)에서 재구성된 태그를 상기 c1) 단계에서 생성된 웹 브라우저 객체에 삽입하는 단계(S42); c3) 상기 자바 스크립트 함수 실행 모듈(18)이, 상기 c2) 단계(S42)에서 상기 웹 브라우저 객체에 삽입된 자바스크립트 함수를 실행하는 단계(S43); 및 c4) 상기 자바 스크립트 함수 실행 모듈(18)이, 상기 c3) 단계(S43)에서 실행된 자바스크립트 함수의 처리 결과 로 발생된 URL을 획득하는 단계(S44); 를 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 의하면, 다운로드받은 웹페이지 소스를 그대로 이용하지 않고 호출된 자바스크립트 함수 실행에 필요한 태그들로 재구성한 소스를 자바스크립트 함수 실행 처리에 이용하게 되어, 자동으로 자바스크립트 함수의 처리가 가능해짐으로써, 능동적인 웹 수집 로봇을 구성할 수 있는 효과가 있을 뿐만 아니라, 자바스크립트 함수 실행에 있어서의 오류 발생 가능성을 최소화할 수 있는 효과가 있다.
본 발명에 의하면 자동으로 자바스크립트 함수가 처리되므로, 종래에는 수동으로 수행되었던 웹사이트 추가 분석 작업에 대한 소요 시간을 완전히 없앨 수 있어 인력과 시간 등의 자원이 크게 절약되는 큰 효과가 있다.
또한, 이에 따라 본 발명에 의하면, 통상적으로 자바스크립트 함수들이 각 웹사이트별로 명칭, 정의 및 동작이 달라지기 때문에 종래에 일반적인 처리가 불가능했던 문제점을 극복하고, 웹사이트에 제한받지 않고 주소 수집을 수행할 수 있는 효과가 있다.
이하, 상기한 바와 같은 구성을 가지는 본 발명에 의한 자바스크립트 함수 자동 분석 방법 및 상기 방법을 이용한 능동형 웹 수집 로봇 시스템을 첨부된 도면 을 참고하여 상세하게 설명한다.
도 1은 본 발명의 실시예에 의한 웹 수집 로봇 시스템의 기능 구조를 나타내는 블록도이다. 상기 도 1에 도시한 바와 같이, 본 발명의 웹 수집 로봇 시스템은 크게 GUI, 실행 모듈, 데이터베이스 등으로 나눌 수 있다. 이하게 각 부에 대해 보다 상세히 설명한다.
본 발명의 웹 로봇 시스템의 GUI(Graphical User Interface)는 등록 GUI(10), 출력 GUI(11) 및 수집 GUI(12)를 포함하여 이루어진다. 상기 등록 GUI(10)는 수집하고자 하는 웹페이지 추가, 열람, 삭제를 제어하는 기능을 가지고, 상기 출력 GUI(11)는 웹페이지의 수집 결과를 화면, 이메일, SMS 등의 여러 포맷으로 출력하는 기능을 가지며, 상기 수집 GUI(12)는 웹페이지의 수집 실행을 제어하는 기능을 가진다.
본 발명의 웹 로봇 시스템의 실행 모듈은 관리 모듈(13), 출력 모듈(14), 웹페이지 다운로드 모듈(15), URL 수집 모듈(16), 태그 재구성 모듈(17), 자바스크립트 함수 실행 모듈(18), 웹페이지 수집 DB(19)를 포함하여 이루어진다. 상기 각 실행 모듈들의 기능을 설명하면 다음과 같다. 상기 관리 모듈(13)은 상기 각 GUI들(10, 11, 12)로부터 받은 명령을 통해 각 기능을 제어하고, 상기 웹페이지 다운로드 모듈(15)은 실질적으로 웹페이지를 다운로드받는다. 상기 URL 수집 모듈(16)에서 해당 웹페이지 내의 링크들이 추출되어 URL 주소가 수집되며, 링크 중 자바스크립트 함수 링크는 따로 추출되어 상기 태그 재구성 모듈(17)로 입력되어 자바스 크립트 함수 링크가 처리될 수 있도록 태그가 재구성된다. 이와 같이 재구성된 태그는 상기 자바스크립트 함수 실행 처리 모듈(18)로 인가되어, 자바스크립트 함수의 실행을 통해 해당 URL 주소를 획득하게 되며, 이와 같이 획득되어 수집된 URL 주소는 상기 출력 모듈(14)에서 화면, 이메일, SMS 등으로 출력되게 된다.
마지막으로, 상기 웹페이지 수집 데이터베이스(20)는 수집하고자 하는 웹사이트 및 웹페이지의 주소 및 관련 내용을 저장하고, 수집된 URL 주소들을 저장 및 관리하는 역할을 한다.
도 2는 본 발명의 구성요소를 통한 자동 자바스크립트 함수 처리 방법의 전체적인 순서를 도시한 것이다. 본 발명의 자바스크립트 함수 자동 처리 방법은 크게 두 단계로 이루어진다. 즉, 자바스크립트 함수 링크를 자동으로 처리하기 위해 요구되는 태그들을 재구성하는 단계(S21)와, 재구성된 태그가 웹 브라우저 객체에 삽입된 후, 해당 자바스크립트 함수의 실행을 통해 URL 주소가 획득되는 단계(S22)이다. 여기에서, 본 발명의 자바스트립트 함수 자동 처리 방법은 상기 도 1에 도시된 웹 로봇 시스템에 의하여 수행되는 것이 가장 이상적이겠으나, 물론 상기 도 1에 도시된 웹 로봇 시스템에 한정되는 것은 아니다. 보다 상세히 설명하자면, 하기에 설명되는 본 발명의 자바스크립트 함수 자동 처리 방법은, 상기 도 1의 구성 요소 중 태그 재구성 모듈(17) 및 자바스크립트 함수 실행 처리 모듈(18)만 포함된다면 어떤 형태의 웹 로봇 시스템에 의하여 이루어져도 무방하다. 이하에서 각 단계에 대하여 보다 상세히 설명한다.
도 3은 도 2의 태그를 재구성하는 단계(S21)의 상세 단계를 도시한 순서도이다. 상기 태그를 재구성하는 단계(S21)는 도 1에 도시된 상기 태그 재구성 모듈(17)에서 이루어지게 된다. 상기 태그를 재구성하는 단계(S21)에서는, 해당 자바스크립트 함수를 실행하는데 있어서 필요한 태그들만이 추출되어 재구성됨으로써, 이를 통해 자동으로 자바스크립트 함수를 실행 처리할 수 있게 된다. 본 발명은 특히 웹페이지 소스를 직접 사용하는 대신 필요 태그만을 추출하여 재구성하여 사용하므로, 실행 시 메모리나 부하를 크게 절약할 수 있을 뿐만 아니라, 필요없는 태그들을 생략함으로써 오류 발생 가능성을 최소화할 수 있게 된다.
도 3의 각 단계를 보다 상세히 설명한다. 먼저 상기 태그 재구성 모듈(17)은, 수집된 웹페이지 소스 중 HTML 소스 부분과 스크립트 소스 부분을 분리(S31)한다. 이와 같이 분리된 HTML 소스 중 <INPUT>, <FORM>, <SELECT>, <OPTION>에 해당하는 데이터 태그들을 추출(S32)하고, 추출된 데이터 태그를 데이터 태그의 엘리먼트 중 type, method, name, value, src, action 값으로 재구성(S33)한다. 또한, 스크립트 소스 부분에서는 링크 호출된 자바스크립트 함수만을 추출(S34)한다. 상기 태그 재구성 모듈(17)은, 이와 같이 상기 HTML 소스 부분에서 추출되어 재구성된 부분의 소스들과, 상기 추출된 자바스크립트 함수 소스들, 즉 추출된 모든 요소들을 조합(S35)한 후, 상기 조합된 태그를 HTML 파싱을 통해 경량화(S36)한다. 이와 같은 작업을 통해 생성된 소스는 자바스크립트 실행 처리 중에 발생할 수 있는 에러를 예방하고, 자바스크립트 함수 실행 시의 처리 속도를 증가시키게 된다.
도 4는 도 2의 자바스크립트 함수 실행 처리를 통해 URL 주소를 획득하는 단계(S22)의 상세 단계를 도시한 순서도이다. 상기 URL 주소를 획득하는 단계(S22)는 도 1에 도시된 상기 자바스크립트 함수 실행 처리 모듈(18)에서 이루어지게 된다.
도 4의 각 단계를 보다 상세히 설명한다. 먼저 상기 자바스크립트 함수 실행 처리 모듈(18)은, 웹브라우저 객체를 생성(S41)하는데, 이 때 상기 웹브라우저 객체는 마이크로소프트 사의 인터넷 익스플로러에서 제공하는 'Active Script Engine'을 사용하여 쉽게 생성할 수 있으며, 물론 다른 스크립트 엔진을 사용하여 생성하여도 무방하다. 다음으로 상기 자바스크립트 함수 실행 처리 모듈(18)은, 상기 태그 재구성 단계(S21) 단계에서 재구성되어 생성된 태그 소스를 상기 웹 브라우저 객체에 삽입(S42)한 후, 자바스크립트 함수를 실행, 즉 자바스크립트 이벤트를 발생(S43)시켜서, 해당 웹 URL주소를 획득하게 된다(S44). 여기서, 자바스크립트를 실행할 때 발생하는 이벤트는 자바스크립트 함수와 웹 소스 코드를 웹 브라우저 객체에 넣고 자바스크립트 함수를 실행시켰을 경우 웹 브라우저가 이동되면서 발생되는 이벤트를 말한다.
도 5는 도 3의 태그 재구성 단계의 실시예를 도시한 것으로, 보다 상세히 설명하면 "javascript:abcFunc('ListFrm','view','8391')"라는 자바스크립트 함수 링크가 추출될 경우의 태그 재구성 실시예이다. 즉, "javascript:abcFunc('ListFrm','view','8391')" 라는 자바스크립트 함수 링크가 추출되었을 때, 재구성 전 단계의 원래 소스(S51)는 도 3과 같은 태그 재구성 단계를 거쳐, 자동으로 자바스크립트 함수 실행 처리에 입력되는 재구성 소스(S52)가 된다. 도 5에 도시된 바와 같이 원래 소스(S51)와 재구성 소스(S52)를 비교하여 보면, 재구성 소스(S52)는 자바스크립트 실행에 반드시 필요한 태그들로만 구성되어 있는 것을 알 수 있다. 따라서 실행 시 에러 발생률이 저감되고, 처리 속도가 증대되며, 시스템 메모리 및 부하가 절약될 수 있음을 자명하게 알 수 있다.
본 발명은 상기한 실시예에 한정되지 아니하며, 적용범위가 다양함은 물론이고, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이다.
도 1은 본 발명의 실시예에 의한 웹 수집 로봇 시스템의 기능 구조도.
도 2는 본 발명의 실시예에 의한 자동 자바스크립트 함수 처리 전체 순서도.
도 3은 본 발명의 실시예에 의한 태그 재구성 순서도.
도 4는 본 발명의 실시예에 의한 자바스크립트 함수 실행 처리 순서도.
도 5는 본 병명의 실시예에 의한 웹페이지의 태그 재구성의 예.
**도면의 주요부분에 대한 부호의 설명**
10: 등록 GUI 11: 출력 GUI
12: 수집 GUI 13: 관리 모듈
14: 출력 모듈 15: 웹페이지 다운로드 모듈
16: URL 수집 모듈 17: 태그 재구성 모듈
18: 자바스크립트 함수 실행 모듈 19: 웹페이지 수집 데이터베이스

Claims (5)

  1. 자바스크립트 함수를 자동으로 처리하기 위한 능동형 웹 수집 로봇 시스템에 있어서,
    수집하고자 하는 웹페이지 추가, 열람, 삭제를 제어하는 등록 GUI(10);
    웹페이지의 수집 결과를 화면, 이메일, SMS를 포함하는 출력 포맷으로 출력하는 출력 GUI(11);
    웹페이지의 수집 실행을 제어하는 수집 GUI(12);
    상기 등록 GUI(10), 상기 출력 GUI(11) 및 상기 수집 GUI(12)로부터 받은 명령을 통해 각 등록, 출력 및 수집 기능을 제어하는 관리 모듈(13);
    수집한 URL 정보를 화면, 이메일, SMS를 포함하는 출력 포맷으로 출력하는 출력 모듈(14);
    URL 주소 수집을 위해 임의의 웹사이트에 접근하여 수집할 페이지를 탐색하고 저장하는 웹페이지 다운로드 모듈(15);
    상기 웹페이지 다운로드 모듈(15)이 접근한 대상 웹페이지의 URL 링크들을 수집 처리하는 URL 수집 모듈(16);
    상기 웹페이지 다운로드 모듈(15)이 접근한 대상 웹페이지의 자바스크립트 함수 처리를 위해 웹페이지 소스를 HTML 소스 부분과 스크립트 소스 부분으로 분리하고, HTML 소스 부분에서 추출된 데이터 태그의 엘리먼트를 재구성하고, 스크립트 소스 부분에서 링크 호출된 자바 스크립트 함수를 추출하여, 상기 엘리먼트가 재구성된 데이터 태그 및 상기 추출된 자바 스크립트 함수를 조합하여 태그를 재구성하는 태그 재구성 모듈(17);
    상기 태그 재구성 모듈(17)에 의하여 재구성된 태그를 이용한 자바스크립트 함수 실행을 통해 URL 주소를 획득하는 자바 스크립트 함수 실행 모듈(18);
    수집하고자 하는 웹사이트 정보 및 수집된 URL 주소를 저장하는 웹페이지 수집 데이터베이스(19);
    를 포함하여 이루어지며, 서버 컴퓨터를 포함하는 연산처리수단에 내장되어 상기 연산처리수단에 의하여 작동되는 것을 특징으로 하는 자바스크립트 자동 분석 방법을 이용한 능동형 웹 수집 로봇 시스템.
  2. 다운로드받은 웹페이지 소스 내의 태그를 재구성하는 태그 재구성 모듈(17) 및 상기 태그 재구성 모듈(17)에 의하여 재구성된 태그를 이용한 자바스크립트 함수 실행을 통해 URL 주소를 획득하는 자바 스크립트 함수 실행 모듈(18)을 포함하여 이루어져 자바스크립트 함수를 자동으로 처리하는 능동형 웹 수집 로봇 시스템에 의하여 수행되는 자바스크립트 함수 자동 분석 방법에 있어서,
    a1) 상기 태그 재구성 모듈(17)이, 수집된 웹페이지에 포함된 자바스크립트 함수 링크를 처리하기 위해 요구되는 태그를 재구성하는 단계(S21); 및
    a2) 상기 자바 스크립트 함수 실행 모듈(18)이, 상기 a1) 단계(S21)에서 재구성된 태그를 웹 브라우저 객체에 삽입하고 해당 자바스크립트 함수의 실행을 통해 URL 주소를 획득하는 단계(S22);
    를 포함하여 이루어지되,
    상기 a1) 태그를 재구성하는 단계(S21)는
    b1) 상기 태그 재구성 모듈(17)이, 웹페이지의 소스의 HTML 소스 부분과 스크립트 소스 부분으로 분리하는 단계(S31);
    b2) 상기 태그 재구성 모듈(17)이, 상기 b1) 단계(S31)에서 분리된 HTML 소스 부분에서 데이터 태그를 추출하는 단계(S32);
    b3) 상기 태그 재구성 모듈(17)이, 상기 b1) 단계(S31)에서 분리된 HTML 소스 부분에서 추출된 데이터 태그의 엘리먼트를 재구성하는 단계(S33);
    b4) 상기 태그 재구성 모듈(17)이, 상기 b1) 단계(S31)에서 분리된 스크립트 소스 부분에서 링크 호출된 자바 스크립트 함수를 추출하는 단계(S34);
    b5) 상기 태그 재구성 모듈(17)이, 상기 b3) 단계(S33)에서 재구성된 데이터 태그 소스들과 상기 b4) 단계(S34)에서 추출된 자바스크립트 함수 소스들을 조합하는 단계(S35); 및
    b6) 상기 태그 재구성 모듈(17)이, 상기 b5) 단계(S35)에서 조합되어 생성된 소스 태그를 HTML 파싱을 통하여 경량화하는 단계(S36);
    를 포함하여 이루어지며,
    상기 a2) URL 주소를 획득하는 단계(S22)는
    c1) 상기 자바 스크립트 함수 실행 모듈(18)이, 웹 브라우저 객체를 생성하는 단계(S41);
    c2) 상기 자바 스크립트 함수 실행 모듈(18)이, 상기 a1) 단계(S21)에서 재구성된 태그를 상기 c1) 단계에서 생성된 웹 브라우저 객체에 삽입하는 단계(S42);
    c3) 상기 자바 스크립트 함수 실행 모듈(18)이, 상기 c2) 단계(S42)에서 상기 웹 브라우저 객체에 삽입된 자바스크립트 함수를 실행하는 단계(S43); 및
    c4) 상기 자바 스크립트 함수 실행 모듈(18)이, 상기 c3) 단계(S43)에서 실행된 자바스크립트 함수의 처리 결과로 발생된 URL을 획득하는 단계(S44);
    를 포함하여 이루어지는 것을 특징으로 하는 자바스크립트 함수 자동 분석 방법.
  3. 삭제
  4. 제 2항에 있어서, 상기 데이터 태그는
    W3C 지정 웹 표준 권고안에 정의된 태그인 <INPUT>, <FORM>, <SELECT> 및 <OPTION> 중 선택되는 어느 하나 이상인 것을 특징으로 하는 자바스크립트 함수 자동 분석 방법.
  5. 삭제
KR1020080039810A 2008-04-29 2008-04-29 자바스크립트 함수 자동 분석 방법 및 상기 방법을 이용한능동형 웹 수집 로봇 시스템 KR100880709B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080039810A KR100880709B1 (ko) 2008-04-29 2008-04-29 자바스크립트 함수 자동 분석 방법 및 상기 방법을 이용한능동형 웹 수집 로봇 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080039810A KR100880709B1 (ko) 2008-04-29 2008-04-29 자바스크립트 함수 자동 분석 방법 및 상기 방법을 이용한능동형 웹 수집 로봇 시스템

Publications (1)

Publication Number Publication Date
KR100880709B1 true KR100880709B1 (ko) 2009-02-02

Family

ID=40680855

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080039810A KR100880709B1 (ko) 2008-04-29 2008-04-29 자바스크립트 함수 자동 분석 방법 및 상기 방법을 이용한능동형 웹 수집 로봇 시스템

Country Status (1)

Country Link
KR (1) KR100880709B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011065739A2 (ko) * 2009-11-27 2011-06-03 주식회사 로그 로그 정보 제공 시스템 및 방법
CN104767803A (zh) * 2015-03-27 2015-07-08 浪潮集团有限公司 互联网数据采集方法
WO2022089276A1 (zh) * 2020-10-29 2022-05-05 华为技术有限公司 一种收藏处理的方法及相关装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990070968A (ko) * 1998-02-26 1999-09-15 홍오성 인터넷 자료 검색 및 데이터베이스화 방법
KR100571302B1 (ko) * 2005-12-30 2006-04-17 (주)첫눈 프로그램적으로 링크된 웹 리소스의 주소정보를 수집하는방법 및 그 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990070968A (ko) * 1998-02-26 1999-09-15 홍오성 인터넷 자료 검색 및 데이터베이스화 방법
KR100571302B1 (ko) * 2005-12-30 2006-04-17 (주)첫눈 프로그램적으로 링크된 웹 리소스의 주소정보를 수집하는방법 및 그 장치

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011065739A2 (ko) * 2009-11-27 2011-06-03 주식회사 로그 로그 정보 제공 시스템 및 방법
WO2011065739A3 (ko) * 2009-11-27 2011-09-22 주식회사 로그 로그 정보 제공 시스템 및 방법
CN104767803A (zh) * 2015-03-27 2015-07-08 浪潮集团有限公司 互联网数据采集方法
WO2022089276A1 (zh) * 2020-10-29 2022-05-05 华为技术有限公司 一种收藏处理的方法及相关装置

Similar Documents

Publication Publication Date Title
US11113456B2 (en) System and method for deep linking and search engine support for web sites integrating third party application and components
CN108304498B (zh) 网页数据采集方法、装置、计算机设备和存储介质
US10542123B2 (en) System and method for generating and monitoring feedback of a published webpage as implemented on a remote client
CN102597993B (zh) 利用统一资源标识符管理应用状态信息
CN109144567B (zh) 跨平台的网页渲染方法、装置、服务器及存储介质
CN105243159A (zh) 一种基于可视化脚本编辑器的分布式网络爬虫***
KR100784273B1 (ko) 통합문서를 이용한 웹서비스 운용 방법
US8839126B1 (en) Secure HTML components for building client-side user interface
JP4935399B2 (ja) セキュリティ運用管理システム、方法およびプログラム
CA2951659A1 (en) Methods for analyzing web sites using web services and devices thereof
Meng et al. bring2lite: a structural concept and tool for forensic data analysis and recovery of deleted SQLite records
CN101763432A (zh) 一种轻量级网页动态视图快速构建方法
CN112131837A (zh) 业务报告配置方法、装置、计算机设备和存储介质
CN112612943A (zh) 一种基于异步处理框架的具有自动测试功能的数据爬取方法
KR100880709B1 (ko) 자바스크립트 함수 자동 분석 방법 및 상기 방법을 이용한능동형 웹 수집 로봇 시스템
JP5604016B1 (ja) スクリプトのキャッシュ方法及びそれを適用した情報処理装置
CN103853717A (zh) 网络爬虫
CN109542501A (zh) 浏览器表格兼容方法、装置、计算机设备及存储介质
KR101282975B1 (ko) 문서 요소를 분리 구조화하여 표준화한 후 웹페이지를 재구성하는 웹화면 크롭 서버 장치
JP2019101889A (ja) テスト実行装置及びプログラム
Liu et al. Testing of AJAX-based Web applications using hierarchical state model
US8639732B2 (en) Method for storing and reading-out data handled by application operating on HTTP client, data storage program, and data read-out program
US12001324B2 (en) Operation pattern generation apparatus, operation pattern generation method and program
TW200813761A (en) System and method for downloading static web page
AU2018313995B2 (en) Systems and methods for providing globalization features in a service management application interface

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130108

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140124

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150108

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160113

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170110

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180116

Year of fee payment: 10