KR101569984B1 - 웹 스크래핑 추출 데이터 설정 방법 - Google Patents

웹 스크래핑 추출 데이터 설정 방법 Download PDF

Info

Publication number
KR101569984B1
KR101569984B1 KR1020140005693A KR20140005693A KR101569984B1 KR 101569984 B1 KR101569984 B1 KR 101569984B1 KR 1020140005693 A KR1020140005693 A KR 1020140005693A KR 20140005693 A KR20140005693 A KR 20140005693A KR 101569984 B1 KR101569984 B1 KR 101569984B1
Authority
KR
South Korea
Prior art keywords
data
scenario
action element
setting
extracting
Prior art date
Application number
KR1020140005693A
Other languages
English (en)
Other versions
KR20150085716A (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 KR1020140005693A priority Critical patent/KR101569984B1/ko
Publication of KR20150085716A publication Critical patent/KR20150085716A/ko
Application granted granted Critical
Publication of KR101569984B1 publication Critical patent/KR101569984B1/ko

Links

Images

Classifications

    • 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
    • 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/448Execution paradigms, e.g. implementations of programming paradigms

Abstract

본 발명은 웹 스크래핑 추출 데이터 설정 방법에 관한 것으로, 액션 엘리먼트 목록창(110)과, 사용자에 의해 현재 선택된 액션 엘리먼트가 출력되는 시나리오 보드창(120)과, 웹브라우저의 속성이 선택 및 출력되는 액션 엘리먼트 속성 입력창(130) 및 웹브라우저(140)가 각각 출력되는 GUI 방식의 웹스크래핑 설정 프로그램(100)을 구동하는 프로그램 구동 단계(S100)와; 사용자가 상기 액션 엘리먼트 목록창(110)의 액션 엘리먼트 버튼을 선택하여 시나리오 보드창(120)에 등록하는 액션 엘리먼트 선택 단계(S200)와; 액션 엘리먼트 선택 단계(S100)에서 시나리오 보드창(120)에 등록된 액션 엘리먼트에 의해 웹브라우저(140)의 현재페이지에 출력되는 데이터와 속성 값을 선택 및 입력하여 데이터추출 시나리오를 작성하는 시나리오 작성 단계(S300) 및; 데이터추출 단계(S300)에서 추출된 데이터와 시나리오 설정 정보를 파일로 저장하는 설정 저장 단계(S400)로 이루어지고, 설정 저장 단계(S400)에서 저장된 시나리오 설정 파일을 이용하여 웹스크래핑 메인프로그램의 데이터 추출 설정이 추가 및 삭제 또는 변경되며, 상기와 같은 본 발명에 의해 웹 스크래핑 또는 웹 오토메이션 관련 메인프로그램의 데이터 추출 설정을 GUI 상에서 속성 추가 방식을 이용하여 일반인도 쉽게 변경하거나 구성할 수 있다.

Description

웹 스크래핑 추출 데이터 설정 방법{Setup Method for Web Scraping Data Extraction}
본 발명은 웹 스크래핑 추출 데이터 설정 방법에 관한 것으로, 더욱 상세하게는 웹사이트에서 필요한 정보를 자동으로 수집하여 추출하고, 수집된 정보들을 비교분석하거나 필요 시 사용할 수 있도록 제공되는 웹 스크래핑 추출 데이터 설정 방법에 관한 것이다.
웹 스크래핑(web scraping)은 프로그램에 의해 자동으로 웹 시스템에 접속하여 데이터를 화면에 나타낸 후, 필요한 자료를 추출하여 가져오는 기술이나 프로그램을 말한다.
이렇게 웹 스크래핑에 의해 추출된 데이터들은 다른 프로그램이나 데이터베이스에 저장하였다가 필요할 때, 수시로 열람하거나 사용이 가능하고, 이렇게 추출된 데이터들을 이용하여 비교분석 자료로도 활용된다.
이와 같은 웹 스크래핑 프로그램들은 웹 사이트에서 필요한 정보를 수집해오는 기술과, 일정한 포맷으로 변환하는 기술과 스크래핑 구동 기술이 그 핵심이며, 이러한 웹 스크래핑 프로그램들은 서버에 설치되어 구동되거나 클라이언트에 설치되어 구동되고, 또는 서버와 클라이언트에 혼합 설치되어 구동되는 방식을 취한다.
이러한 웹 스크래핑 기술은 주로 개인의 금융자산에 대한 정보를 일괄로 조회하거나 거래 내역 등을 통합하여 관리하는 데에 사용되거나, 또는 여행사, 항공사, 호텔 및 물류 서비스, 날씨, 뉴스 등의 정보들을 수집하는 용도로도 활용된다.
종래의 웹 스크래핑 프로그램은 웹사이트의 반복 또는 데이터 수집을 위해 인력을 투입 또는 프로그래머가 직접 http 프로토콜 레이어나 내장된 웹 브라우저를 이용하여 자동화 시스템이 구현된다.
그러나 데이터를 수집(추출) 하기 위해서는 원시소스인 html 코드를 스트링 파싱(parsing)이나 정규표현(regular expression)을 이용하여 파싱을 하더라도 타겟이 되는 웹 사이트의 디자인이 변경되면 데이터를 수집하지 못하는 문제가 있고, 이 경우 웹 스크래핑 프로그램의 코드를 재작성하여야 하는데, 이러한 작업들은 전문 프로그래머를 필요로 하며, 따라서 필요시에 사용자가 웹 스크래핑 코드를 바로 수정하기 어려운 문제가 있다.
또한 이와 같은 방법은 프로그램 코드의 가독성이 떨어지며 디버깅(debugging)이 매우 불편하다는 문제도 있다.
KR 10-2013-0094935 A KR 10-2010-0132576 A KR 10-2002-0068566 A KR 10-0633534 B1
본 발명은 상기와 같은 종래의 웹 스크래핑 추출 데이터 설정 방법이 가지는 문제점을 해결하기 위해 안출된 것으로, 본 발명은 웹 스크래핑 또는 웹 오토메이션 관련 프로그램을 작성할 때 전문 프로그래머를 필요로 하지 않으며 GUI를 이용한 속성 추가방식을 통한 시나리오를 작성하는 것만으로도 일반인도 전문 웹 스크래핑 프로그램을 작성할 수 있는 웹 스크래핑 추출 데이터 설정 방법을 제공하는 데에 그 목적이 있다.
상기와 같은 본 발명의 목적은 웹 스크래핑 데이터 추출방법을, 내비게이션 버튼과, URL 추출 버튼, 데이터 추출 버튼, 속성값 추출 버튼을 포함하는 액션 엘리먼트 목록창과, 사용자에 의해 현재 선택된 액션 엘리먼트가 출력되는 시나리오 보드창과, 시나리오 보드창에 등록된 액션 엘리먼트에 따라 웹브라우저의 속성이 선택 및 출력되는 액션 엘리먼트 속성 입력창 및 웹브라우저가 각각 출력되는 GUI 방식의 웹스크래핑 설정 프로그램을 구동하는 프로그램 구동 단계와; 사용자가 액션 엘리먼트 목록창의 액션 엘리먼트 버튼을 선택하여 시나리오 보드창에 등록하는 액션 엘리먼트 선택 단계와; 액션 엘리먼트 선택 단계에서 시나리오 보드창에 등록된 액션 엘리먼트에 의해 웹브라우저의 현재페이지에 출력되는 데이터와 속성 값을 선택 및 입력하여 데이터추출 시나리오를 작성하는 시나리오 작성 단계 및; 시나리오 작성 단계에서 추출된 데이터와 시나리오 설정 정보를 파일로 저장하는 설정 저장 단계로 이루어지고, 설정 저장 단계에서 저장된 시나리오 설정 파일을 이용하여 웹스크래핑 메인프로그램의 데이터 추출 설정이 추가 및 삭제 또는 변경되도록 구성하는 것에 의해 달성된다.
이때 설정 저장 단계에서는 시나리오 설정 파일을 단독 실행이 가능한 실행파일로 저장되고, 사용자가 상기 시나리오 설정 파일을 단독 실행하여 상기 메인프로그램의 시나리오 설정을 변경하는 것으로 실시될 수 있다.
그리고 시나리오 작성 단계는 웹브라우저의 현재페이지에 출력되는 하나의 데이터를 추출하는 단일데이터 추출 단계와, 웹브라우저의 현재페이지 중 표에 기재된 복수의 데이터를 추출하는 복수데이터 추출 단계 및 웹브라우저의 현재페이지 엘리먼트 ID, 태그명과 옵셋 및 X, Y좌표 데이터가 추출되는 속성값 추출 단계로 실시될 수 있다.
또한 단일데이터 추출 단계와 복수데이터 추출 단계는 DOM 인덱스를 이용하여 사용자에 의해 선택된 기준점의 텍스트 데이터가 추출되면, 선택된 기준점 텍스트 데이터의 하위 트리의 데이터가 자동 추출되는 것으로 실시될 수 있다.
한편, 내비게이션 버튼은 시나리오 데이터가 추출될 웹브라우저를 선택하는 액션 엘리먼트이고, URL 추출 버튼은 선택된 웹브라우저의 현재페이지에서 다음 단계로 안내될 URL주소를 자동으로 추출하는 액션 엘리먼트이며, 데이터추출 버튼은 웹브라우저의 현재페이지의 데이터를 추출하는 액션 엘리먼트이고, 속성값 추출 버튼은 사용자에 의해 웹브라우저의 현재페이지의 엘리먼트 ID, 태그명과 옵셋 및 X, Y좌표 중에서 선택되는 각각의 속성값을 추출하는 액션 엘리먼트로 실시될 수 있다.
본 발명은 웹 스크래핑 또는 웹 오토메이션 관련 프로그램의 데이터 추출 설정(시나리오)을 변경할 때, 메인프로그램의 소스코드를 변경하기 위한 전문 프로그래머의 도움이 필요하지 않고, 사용자가 GUI를 이용하여 액션 엘리먼트 선택에 따른 속성 추가방식을 이용함으로써 원하는 데이터 추출 방식을 간단하게 설정할 수 있다.
또한 본 발명은 설정된 시나리오 설정 파일(바이너리 파일, 스크립트 파일)이 단독 실행 가능한 포맷으로 저장되기 때문에 사용자가 시나리오 설정 파일을 메인 프로그램(웹 스크래핑 프로그램)이 설치된 컴퓨터(PC)에서 실행시키는 것만으로도 시나리오 설정이 추가 또는 변경된다.
도 1은 본 발명에 따른 웹 스크래핑 추출 데이터 설정 방법의 예를 보인 구성도,
도 2는 본 발명에 따른 웹스크래핑 설정 프로그램의 구동 화면의 예를 구성도,
도 3은 본 발명에 따른 내비게이션 액션 엘리먼트 버튼을 시나리오 보드창에 등록한 액션 엘리먼트 속성 입력창의 예를 보인 구성도,
도 4(a)는 본 발명에 따른 URL 액션 엘리먼트 버튼을 시나리오 보드창에 등록한 액션 엘리먼트 속성 입력창의 예를 보인 구성도,
도 4(b)는 도 4(a)에서 URL 데이터가 추출되어 저장되는 예를 보인 구성도,
도 5는 본 발명에 따른 시나리오 작성 단계의 예를 보인 구성도,
도 6(a)은 본 발명에 따른 단일데이터 추출 액션 엘리먼트 버튼을 시나리오 보드창에 등록한 액션 엘리먼트 속성 입력창의 예를 보인 구성도,
도 6(b)은 도 6(a)에서 단일데이터가 추출되어 저장되는 예를 보인 구성도,
도 7은 본 발명에 따른 복수데이터 추출 액션 엘리먼트 버튼을 시나리오 보드창에 등록한 액션 엘리먼트 속성 입력창의 예를 보인 구성도,
도 8은 본 발명에 따른 속성값 추출 액션 엘리먼트 버튼을 시나리오 보드창에 등록한 액션 엘리먼트 속성 입력창의 예를 보인 구성도,
도 9(a, b)는 도 8에 따른 속성값 추출 옵션이 선택된 액션 엘리먼트 속성 입력창의 예를 보인 구성도이다.
이하에서는 바람직한 실시예를 도시한 첨부 도면을 통해 본 발명의 구성과 작용을 더욱 상세히 설명한다.
본 발명은 웹 스크래핑 또는 웹 오토메이션 프로그램이 필요한 웹 페이지에 대한 반복적인 행위, 서핑, 데이터 추출 등에 대한 부분을 전문 프로그래머의 도움이 없이도 가능할 수 있도록 GUI를 이용하여 웹브라우저에 행해지는 행위에 해당되는 액션 엘리먼트(Action Element)를 추가하여 하나의 시나리오를 구성하는 방법에 관한 것으로, 본 발명은 도 1에 도시된 바와 같이 프로그램 구동 단계(S100), 액션 엘리먼트 선택 단계(S200), 시나리오 작성 단계(S300) 및 설정 저장 단계(S400)로 이루어진다. 이하에서는 각각의 단계에 대해 상세히 설명한다.
(1) 프로그램 구동 단계(S100)
이 단계는 웹 스크래핑 또는 웹 오토메이션 관련 프로그램(이하 '메인프로그램')의 데이터 추출 설정의 추가 및 삭제 또는 변경이 요구될 때, 사용자의 PC에서 웹스크래핑 설정 프로그램(100)을 구동하는 단계로서, 이러한 웹스크래핑 설정 프로그램(100)은 일반적으로 널리 알려진 C언어, ASP, PHP, JSP 등과 같은 컴퓨터 프로그래밍 언어 중 어느 하나의 프로그래밍 언어로 프로그래밍되며 단독적으로 실행된다.
이와 같은 웹스크래핑 설정 프로그램(100)을 사용자가 실행하게 되면, 컴퓨터 모니터(도시되지 않음)에는 도 2에 도시된 바와 같이 액션 엘리먼트 목록창(110), 시나리오 보드창(120), 액션 엘리먼트 속성창(130) 및 웹브라우저(140)가 각각 GUI(Graphical User Interface) 방식으로 메인화면에 출력된다.
이때 액션 엘리먼트 목록창(110)에는 내비게이션 버튼(111)과, URL 추출 버튼(112), 데이터 추출 버튼(113) 및 속성값 추출 버튼(114)이 포함되는데, 내비게이션 버튼(111)은 시나리오 데이터가 추출될 웹브라우저를 선택하는 액션 엘리먼트이고, URL 추출 버튼(112)은 선택된 웹브라우저의 현재페이지에서 다음 단계로 안내될 URL주소를 자동으로 추출하는 액션 엘리먼트이며, 데이터추출 버튼(113)은 웹브라우저의 현재페이지의 데이터를 추출하는 액션 엘리먼트이고, 속성값 추출 버튼(114)은 사용자에 의해 웹브라우저의 현재페이지의 엘리먼트 ID, 태그명과 옵셋 및 X, Y좌표 중에서 선택되는 각각의 속성값을 추출하는 액션 엘리먼트이며 위 액션 엘리먼트들에 대한 상세한 설명은 후술한다.
이러한 액션 엘리먼트 버튼들은 사용자가 마우스 버튼으로 클릭(click)하거나, 마우스로 액션 엘리먼트 버튼을 드래그 앤 드롭(drag and drop)하면, 시나리오 보드창(120)에 해당 액션 엘리먼트가 간단하게 등록되며, 등록된 액션 엘리먼트에서 해당 내용의 작업을 진행하여 데이터 추출 시나리오를 자유롭게 추가 및 삭제 또는 변경하게 된다.
한편, 시나리오 보드창(120) 사용자가 선택한 액션 엘리먼트를 활성화시키고, 현재 활성화 되어 있는 액션 엘리먼트를 사용자에게 안내하는 기능을 하며, 액션 엘리먼트 속성창(130)은 후술하는 시나리오 작성 단계(S300)에서 단일데이터와 복수데이터 및 웹브라우저 현재페이지의 속성 값 등이 출력됨과 동시에 필요에 따라 사용자가 속성을 선택 또는 입력하도록 안내하는 기능을 한다.
(2) 액션 엘리먼트 선택 단계(S200)
이 단계는 사용자가 상기 프로그램 구동 단계(S100)에 의해 웹스크래핑 설정 프로그램(100)을 구동한 다음, 메인화면에 출력되는 액션 엘리먼트 목록창(110)의 액션 엘리먼트 버튼 중 어느 하나를 선택하여 시나리오 보드창(120)에 등록하는 단계이다.
이때 사용자가 선택한 액션 엘리먼트에 따라 액션 엘리먼트 속성창(130)에는 웹브라우저(140)의 현재페이지의 해당 속성 값이 자동으로 출력되는데, 예를 들어 내비게이션 버튼(111)이 시나리오 보드창(120)에 등록되면, 도 3에 도시된 바와 같이 웹브라우저(140)의 현재페이지 주소(URL)가 출력되는 리스트가 액션 엘리먼트 속성창(130)에 출력된다.
그리고 URL 추출 버튼(112)이 시나리오 보드창(120)에 등록되면, 도 4(a)에 도시된 바와 같이 웹브라우저(140)의 현재페이지의 링크 URL이 자동으로 추출되기 위한 리스트가 액션 엘리먼트 속성창(130)에 출력되며, 이때 사용자가 웹브라우저(140)에 출력되는 링크 버튼(링크1, 링크2)을 선택하면, 도 4(b)에 도시된 바와 같이 URL이 자동으로 추출되면서 저장된다.
이와 같은 내비게이션 버튼(111)과 URL 추출 버튼(112)을 선택되는 경우에는 사용자가 시나리오를 작성하는 것이 아닌, 웹브라우저(140) 현재페이지의 정보를 추출하는 것이므로 후술하는 시나리오 작성 단계(S300)로 진행되는 대신, 다시 액션 엘리먼트를 선택하기 위한 액션 엘리먼트 선택 단계(S200)로 루프구문에 의해 복귀된다.
이에 반해, 사용자가 데이터 추출 버튼(113)과 속성값 추출 버튼(114)을 선택하여 각각 시나리오 보드창(120)에 등록하면, 다이얼로그, 체크박스, 버튼 등의 옵션 리스트가 출력되면서 후술하는 시나리오 작성 단계(S300)로 진행되고, 이 경우에는 사용자가 출력된 옵션 리스트에 대응하여 기준점데이터(문자열, 행렬, 좌표 등)를 선택하면, 해당 조건의 데이터가 자동으로 입력되는 방식에 의해 시나리오가 작성된다.
그리고 시나리오 작성 단계(S300)에서 시나리오 작성이 완료되면, 다시 액션 엘리먼트 선택 단계(S200)로 복귀하여 액션 엘리먼트를 재선택할 수 있도록 루프구문에 의해 메인화면으로 복귀되며, 이에 의해 사용자는 필요에 따라 액션 엘리먼트는 다수 중복 선택하여 다양한 시나리오를 작성하게 된다.
(3) 시나리오 작성 단계(S300)
이 단계는 액션 엘리먼트 선택 단계(S200)에서 사용자가 액션 엘리먼트 버튼을 클릭하거나 드래그 앤 드롭하여 시나리오 보드창(120)에 등록한 다음, 웹브라우저(140)의 현재페이지에서 필요한 데이터와 속성 등을 추출하여 웹 스크래핑 프로그램에서 구동될 시나리오(설정)를 작성하는 단계이다.
이와 같은 시나리오 작성 단계(S300)는 도 5에 도시된 바와 같이 웹브라우저의 현재페이지에 출력되는 하나의 데이터를 추출하는 단일데이터 추출 단계(S310)와, 웹브라우저의 현재페이지 중 표에 기재된 복수의 데이터를 추출하는 복수데이터 추출 단계(S320) 및 웹브라우저의 현재페이지 엘리먼트 ID, 태그명과 옵셋 및 X, Y좌표 데이터가 추출되는 속성값 추출 단계(S330)로 이루어진다.
이때 단일데이터 추출 단계(S310)와 복수데이터 추출 단계(S320)는 DOM 인덱스를 이용하여 사용자에 의해 선택된 기준점의 텍스트 데이터가 추출되면, 선택된 기준점 텍스트 데이터의 하위 트리의 데이터가 자동 추출된다.
기존의 웹스크래핑 프로그램에서는 데이터 추출시 정규표현이나 스트링 인덱싱을 이용한 추출 방식을 사용하는데, 이 경우에는 데이터 수정이 어렵고, 또한 데이터 추출 성능이 담보되지 못하는 문제가 있다.
따라서 본 발명에서는 DOM 인덱스 방식으로 데이터를 추출하게 되는데, DOM 트리(tree)의 기준점 텍스트와 태그의 옵셋(offset) 등을 사용자가 선택하게 되면, 기준점 텍스트와 태그의 옵셋을 기준으로 데이터를 추출하고, 이에 의해 데이터 수정이 용이하면서도 안정적인 데이터 추출 능력이 담보된다.
여기서 DOM(문서 객체 모델, Document Object Model) 인덱스는 객체 지향 모델로서 구조화된 문서를 표현하는 방식을 말하는데, 이러한 DOM은 트리 형식으로 데이터가 구분되고 저장되며, 따라서 DOM 트리의 상위 트리 데이터 또는 트리 내의 하나의 데이터가 사용자에 의해 기준점 텍스트로 선택되고 나면, 해당 트리 내의 다른 데이터들을 자동으로 추출해내는 것이 가능하고, 이에 대해서는 아래와 같이 단일데이터를 추출하는 경우와 복수데이터를 추출하는 경우 및 속성값을 추출하는 경우의 3가지 경우로 나누어 설명한다.
(a) 단일데이터를 추출하는 경우
사용자가 데이터 추출 버튼(113) 중, 단일데이터 추출 버튼(113A)을 선택하여 웹브라우저(140)에 출력되는 단일데이터를 추출하는 경우에는 도 6(a)에 도시된 바와 같이 액션 엘리먼트 속성창(130)에 기준점 텍스트, 태그, 옵셋, 이름 등의 리스트가 출력되고, 각각의 리스트에는 사용자에 의해 선택된 데이터가 입력되는 입력창(도면부호 없음)이 출력된다. 그리고 기준점 텍스트 입력창과 옵셋 입력창 각각에는 사용자가 마우스로 클릭하여 선택할 수 있는 버튼(도면부호 없음)이 출력되며, 이 중에서 사용자는 기준점 텍스트 입력창의 버튼을 먼저 마우스로 클릭하여 마우스의 입력 상태를 변경하고, 그런 다음 웹브라우저(140)의 현재페이지에서 출력되는 문자열(전화번호, 이름, 주소 등) 기준점 텍스트가 선택하면, 자동으로 해당 입력창에 기준점 텍스트가 입력된다.
또한 기준점 텍스트가 입력되고 나면, 다시 사용자는 옵셋 입력창 버튼을 마우스로 클릭하여 마우스의 입력 상태를 변경하고, 다시 기준점 텍스트에서 선택된 문자열의 입력값을 선택하면, 액션 엘리먼트 속성창(130)의 태그와 옵셋 입력창에 각각 해당 정보가 자동 입력된다.
이렇게 기준점 텍스트, 태그, 옵셋의 정보가 각각 입력되고 나면, 사용자는 이름 입력창을 선택하여 해당 데이터의 이름을 입력하여 저장하면, 도 6(b)과 같은 프로그래밍 구문으로 데이터가 각각 저장된다. 그리고 해당 정보가 임시 저장된 다음, 메인화면으로 복귀되어 다른 액션 엘리먼트의 선택 대기 상태가 된다.
(b) 복수데이터를 추출하는 경우
사용자가 데이터 추출 버튼(113) 중, 복수데이터 추출 버튼(113B)을 선택하여 웹브라우저(140)에 출력되는 복수데이터를 추출하는 경우에는, 도 7에 도시된 바와 같이 액션 엘리먼트 속성창(130)에 기준점 텍스트, 태그, 옵셋, 이름 등의 리스트가 출력되는데, 단일데이터 출력 방법과 같이 사용자가 먼저 기준점 텍스트 입력창 버튼을 클릭하여 마우스를 활성화 시킨 다음, 웹브라우저(140)의 표나 서식 데이터 중에서 어느 하나의 데이터를 기준점 데이터로 선택하고, 이에 의해 기준점 텍스트 입력창에는 사용자에 의해 선택된 기준점 데이터가 자동으로 입력된다.
그런 다음 옵셋 입력창 버튼을 클릭하여 표나 서식 데이터 중에서 추출될 데이터를 선택하면, 해당 열을 기준으로 종, 횡열의 데이터가 자동으로 추출되면서, 태그와 옵셋 입력창이 자동 입력되며, 사용자는 이름 입력창을 선택하여 추출된 데이터의 통합 이름을 입력한다.
그리고 사용자는 확장 속성 입력창에서 앞서 자동 추출된 전체의 데이터 중에서 특정 열의 데이터만을 선택하여 저장할 수도 있는데, 이 경우에는 확장 속성 입력창에 구비되는 버튼(도면부호 없음)을 클릭한 다음, 추출될 데이터 열의 일부 데이터를 선택하는 것으로 해당 열의 데이터가 자동 추출되어 입력된다.
(c) 속성값을 추출하는 경우
사용자가 속성값 추출 버튼(114)을 선택하여 웹브라우저(140)에 출력되는 속성값을 추출하는 경우에는, 도 8에 도시된 바와 같이 액션 엘리먼트 속성창(130)에 엘레멘트 ID, 태그명과 옵셋 및 X, Y좌표 입력창(도면부호 없음)이 출력되고, 각각의 입력창에는 사용자가 선택 가능한 버튼(도면부호 없음)이 출력된다.
이때 엘레멘트 ID 및 태그명과 옵셋 입력창은 도 9(a)에 도시된 바와 같이 사용자가 웹브라우저(140)에서 요구하는 아이디(ID)와 패스워드(PW) 등의 입력 정보를 자동으로 입력하기 위한 문자열이 입력되고, X, Y좌표 입력창에는 로그인 버튼 등의 좌표 값 등이 입력된다.
이들 속성값에 의해 웹 스크래핑 메인프로그램이 구동되어 데이터가 수집될 때, 사용자의 로그인 정보 등이 자동 입력되면서 데이터 수집활동이 이루어지게 되며, 이와 같이 사용자에 의해 미리 입력된 로그인 정보를 프로그램이 자동 입력하여 해당 웹사이트에 자동 접속하도록 하는 방법은 이미 널리 알려져 있으므로 이에 대한 상세한 설명은 생략한다.
이와 같이 본 발명은 DOM 인덱스 트리 방식으로 저장된 데이터 중에서 상위 트리의 기준점 데이터가 선택됨과 동시에 해당 트리 내의 일부 데이터가 선택되는 것에 의해 해당 트리 내의 일부 또는 전체 데이터가 추출된다.
(4) 설정 저장 단계(S400)
이 단계는 사용자가 상기 시나리오 작성 단계(S300)를 통해 시나리오 작성이 완료되면, 메인화면에서 빠져나와 프로그램을 종료하기에 앞서 추출된 데이터와 시나리오 설정 정보들을 저장(내보내기, Export)하는 단계로서, 이때 본 발명은 시나리오 작성이 완료되어 사용자가 저장하기를 선택하면, 시나리오 설정 정보들은 바이너리 파일 및 스크립트 파일로 저장되며, 이때 본 발명에서는 단독 실행이 가능한 윈도우의 EXE 파일로 포맷되어 저장된다.
이에 의해 본 발명은 최종 저장된 시나리오 설정 정보 파일을 웹스크래핑 메인프로그램이 설치된 PC에서 독립적으로 실행하는 것으로 웹스크래핑 메인프로그램의 데이터 추출 설정이 추가 또는 변경된다.
이와 같은 본 발명은 웹 스크래핑 또는 웹 오토메이션 관련 프로그램에서 데이터를 추출하기 위한 시나리오(설정)를 추가하거나 변경할 때, 메인프로그램의 소스코드를 수정하지 않고, 전문지식이 없는 일반 사용자가 웹스크래핑 설정 프로그램을 구동시켜 GUI를 이용하여 액션 엘리먼트를 선택하여 속성을 추가하는 방식에 의해 데이터 추출 설정을 간단하게 변경하거나 추가할 수 있다.
그리고 본 발명은 시나리오 설정 정보는 단독 실행 파일로 저장되기 때문에 사용자가 시나리오 설정 파일을 컴퓨터(PC)에서 실행하여 메인 GUI 프로그램에서 설정된 시나리오대로 별도의 단독 바이너리 파일과 스크립트 파일을 복사하는 것만으로도 시나리오 작성자가 원하는 웹브라우져의 제어 및 데이터의 추출이 가능하게 되며, 내보내기(export)된 시나리오를 수정할 경우 메인 GUI 프로그램에서 스크립트 파일을 불러오게 되면 스크립트 파일에 저장된 시나리오가 로드 되며 수정 작업을 진행한 후 다시 내보내기하여 배포하면 된다.
100: 웹스크래핑 설정 프로그램 110: 액션 엘리먼트 목록창
111: 내비게이션 버튼 112: URL 추출 버튼
113: 데이터추출 버튼 113A: 단일데이터 추출 버튼
113B: 복수데이터 추출 버튼 114: 속성값 추출 버튼
120: 시나리오 보드창 130: 액션 엘리먼트 속성 입력창
140: 웹브라우저

Claims (5)

  1. 내비게이션 버튼(111)과, URL 추출 버튼(112), 데이터 추출 버튼(113), 속성값 추출 버튼(114)을 포함하는 액션 엘리먼트 목록창(110)과, 사용자에 의해 현재 선택된 액션 엘리먼트가 출력되는 시나리오 보드창(120)과, 상기 시나리오 보드창(120)에 등록된 액션 엘리먼트에 따라 웹브라우저의 속성이 선택 및 출력되는 액션 엘리먼트 속성 입력창(130) 및 웹브라우저(140)가 각각 출력되는 GUI 방식의 웹스크래핑 설정 프로그램(100)을 구동하는 프로그램 구동 단계(S100)와;
    사용자가 상기 액션 엘리먼트 목록창(110)의 액션 엘리먼트 버튼을 선택하여 상기 시나리오 보드창(120)에 등록하는 액션 엘리먼트 선택 단계(S200)와;
    상기 액션 엘리먼트 선택 단계(S100)에서 상기 시나리오 보드창(120)에 등록된 액션 엘리먼트에 의해 상기 웹브라우저(140)의 현재페이지에 출력되는 데이터와 속성 값을 선택 및 입력하여 데이터추출 시나리오를 작성하는 시나리오 작성 단계(S300) 및;
    상기 시나리오 작성 단계(S300)에서 추출된 데이터와 시나리오 설정 정보를 파일로 저장하는 설정 저장 단계(S400)로 이루어지고,
    상기 설정 저장 단계(S400)에서 저장된 시나리오 설정 파일을 이용하여 웹스크래핑 메인프로그램의 데이터 추출 설정이 추가 및 삭제 또는 변경되는 것을 특징으로 하는 웹 스크래핑 추출 데이터 설정 방법.
  2. 청구항 1에 있어서,
    상기 설정 저장 단계(S400)에서는 상기 시나리오 설정 파일을 단독 실행이 가능한 실행파일로 저장되고,
    사용자가 상기 시나리오 설정 파일을 단독 실행하여 상기 메인프로그램의 시나리오 설정을 변경하는 것을 특징으로 하는 웹 스크래핑 추출 데이터 설정 방법.
  3. 청구항 1 또는 청구항 2에 있어서,
    상기 시나리오 작성 단계(S300)는 상기 웹브라우저의 현재페이지에 출력되는 하나의 데이터를 추출하는 단일데이터 추출 단계(S310)와; 상기 웹브라우저의 현재페이지 중 표에 기재된 복수의 데이터를 추출하는 복수데이터 추출 단계(S320) 및 상기 웹브라우저의 현재페이지 엘리먼트 ID, 태그명과 옵셋 및 X, Y좌표 데이터가 추출되는 속성값 추출 단계(S330)를 포함하는 것을 특징으로 하는 웹 스크래핑 추출 데이터 설정 방법.
  4. 청구항 3에 있어서,
    상기 단일데이터 추출 단계(S310)와 상기 복수데이터 추출 단계(S320)는 DOM 인덱스를 이용하여 사용자에 의해 선택된 기준점의 텍스트 데이터가 추출되면, 선택된 기준점 텍스트 데이터의 하위 트리의 데이터가 자동 추출되는 것을 특징으로 하는 웹 스크래핑 추출 데이터 설정 방법.
  5. 청구항 1에 있어서,
    상기 내비게이션 버튼(111)은 시나리오 데이터가 추출될 웹브라우저를 선택하는 액션 엘리먼트이고, 상기 URL 추출 버튼(112)은 선택된 웹브라우저의 현재페이지에서 다음 단계로 안내될 URL주소를 자동으로 추출하는 액션 엘리먼트이며, 상기 데이터추출 버튼(113)은 웹브라우저의 현재페이지의 데이터를 추출하는 액션 엘리먼트이고, 상기 속성값 추출 버튼(114)은 사용자에 의해 웹브라우저의 현재페이지의 엘리먼트 ID, 태그명과 옵셋 및 X, Y좌표 중에서 선택되는 각각의 속성값을 추출하는 액션 엘리먼트인 것을 특징으로 하는 웹 스크래핑 추출 데이터 설정 방법.
KR1020140005693A 2014-01-16 2014-01-16 웹 스크래핑 추출 데이터 설정 방법 KR101569984B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140005693A KR101569984B1 (ko) 2014-01-16 2014-01-16 웹 스크래핑 추출 데이터 설정 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140005693A KR101569984B1 (ko) 2014-01-16 2014-01-16 웹 스크래핑 추출 데이터 설정 방법

Publications (2)

Publication Number Publication Date
KR20150085716A KR20150085716A (ko) 2015-07-24
KR101569984B1 true KR101569984B1 (ko) 2015-11-18

Family

ID=53875914

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140005693A KR101569984B1 (ko) 2014-01-16 2014-01-16 웹 스크래핑 추출 데이터 설정 방법

Country Status (1)

Country Link
KR (1) KR101569984B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101978898B1 (ko) 2018-04-23 2019-05-15 이용장 유저 디바이스의 특성값을 이용한 웹 스크래핑 방지 시스템 및 그 방법
US10635488B2 (en) 2018-04-25 2020-04-28 Coocon Co., Ltd. System, method and computer program for data scraping using script engine
KR20210126297A (ko) 2020-04-10 2021-10-20 (주)해나소프트 타깃 웹 사이트의 강제 복속을 통한 웹 데이터 선택적 임포팅 시스템
KR102420706B1 (ko) 2021-01-12 2022-07-15 (주)해나소프트 타깃 웹 페이지의 계층의 선별적 접근을 통한 타깃 데이터 수집 시스템
KR20220101924A (ko) 2021-01-12 2022-07-19 (주)해나소프트 액션 오더의 선택적 정렬을 통한 타깃 데이터 추출 시스템

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101722157B1 (ko) * 2016-01-06 2017-04-03 (주)포그리트 정보 수집 장치 및 이를 이용한 웹 사이트의 정보 수집 방법
KR101913780B1 (ko) * 2017-01-04 2018-11-02 (주)해나소프트 웹 데이터 수집 장치 및 방법
KR102277870B1 (ko) 2020-02-03 2021-07-14 이재영 랜덤 스크립트를 이용한 자동 로그인 방지 방법 및 이를 수행하기 위한 서버
US11836195B2 (en) * 2020-03-10 2023-12-05 Haenasoft Company, Limited System for selectively importing web data by arbitrarily setting action design
KR102575253B1 (ko) * 2021-04-07 2023-09-06 주식회사 카카오뱅크 스크래핑 자동화 방법 및 이를 수행하는 서버
KR102595303B1 (ko) 2021-04-20 2023-10-27 주식회사 스크립터스 웹 스크래핑 탐지 방법 및 이를 수행하기 위한 서버

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120317472A1 (en) 2011-06-07 2012-12-13 Profitero Ltd Creation of data extraction rules to facilitate web scraping of unstructured data from web pages

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120317472A1 (en) 2011-06-07 2012-12-13 Profitero Ltd Creation of data extraction rules to facilitate web scraping of unstructured data from web pages

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101978898B1 (ko) 2018-04-23 2019-05-15 이용장 유저 디바이스의 특성값을 이용한 웹 스크래핑 방지 시스템 및 그 방법
US10635488B2 (en) 2018-04-25 2020-04-28 Coocon Co., Ltd. System, method and computer program for data scraping using script engine
KR20210126297A (ko) 2020-04-10 2021-10-20 (주)해나소프트 타깃 웹 사이트의 강제 복속을 통한 웹 데이터 선택적 임포팅 시스템
KR102420706B1 (ko) 2021-01-12 2022-07-15 (주)해나소프트 타깃 웹 페이지의 계층의 선별적 접근을 통한 타깃 데이터 수집 시스템
KR20220101924A (ko) 2021-01-12 2022-07-19 (주)해나소프트 액션 오더의 선택적 정렬을 통한 타깃 데이터 추출 시스템

Also Published As

Publication number Publication date
KR20150085716A (ko) 2015-07-24

Similar Documents

Publication Publication Date Title
KR101569984B1 (ko) 웹 스크래핑 추출 데이터 설정 방법
US10318628B2 (en) System and method for creation of templates
Eaton Toytree: A minimalist tree visualization and manipulation library for Python
CN111259303B (zh) 一种web信息系统前端页面自动生成的系统及其方法
JP5089684B2 (ja) サービス・プログラムを生成する技術
US9330179B2 (en) Configuring web crawler to extract web page information
US8387006B1 (en) System and method for authoring a web page to be run-time editable
EP2151773B1 (en) Synchronous to asynchronous web page conversion
US10261757B2 (en) System and method for automated web processing service workflow building and application creation
US20140137006A1 (en) Graphical Overlay Related To Data Mining And Analytics
US20140006913A1 (en) Visual template extraction
KR101275871B1 (ko) SaaS 환경에서의 홈페이지 제작 시스템 및 방법, 그 방법을 컴퓨터에서 실행하기 위한 컴퓨터 프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체
US20150278190A1 (en) Web server system, dictionary system, dictionary call method, screen control display method, and demonstration application generation method
US10417317B2 (en) Web page profiler
Whiting et al. Creating an iPhone application for collecting continuous ABC data
US20170031887A1 (en) Contextual editing in a page rendering system
JP2018501551A (ja) 数式処理方法、装置、デバイス及びプログラム
CN104679642A (zh) 日志分析系统中的日志的与语言无关的处理方法和系统
US20200019383A1 (en) Data Analysis Process Assistance Device and Data Analysis Process Assistance Method
CN112861059A (zh) 可视化组件生成方法、装置、计算机设备及可读存储介质
KR101730070B1 (ko) SaaS 환경에서의 웹페이지 서비스 방법, 이를 위한 컴퓨터 프로그램, 그 기록매체
CN111061478A (zh) 一种页面表单修改方法、装置、设备及可读存储介质
US10362090B2 (en) Automating a process associated with a web based software application
US9311059B2 (en) Software development tool that provides context-based data schema code hinting
US10460015B1 (en) Assimilation in multi model webpage composition

Legal Events

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