KR102072066B1 - 사스 기반의 웹 크롤링 시스템 - Google Patents
사스 기반의 웹 크롤링 시스템 Download PDFInfo
- Publication number
- KR102072066B1 KR102072066B1 KR1020200000388A KR20200000388A KR102072066B1 KR 102072066 B1 KR102072066 B1 KR 102072066B1 KR 1020200000388 A KR1020200000388 A KR 1020200000388A KR 20200000388 A KR20200000388 A KR 20200000388A KR 102072066 B1 KR102072066 B1 KR 102072066B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- unit
- web
- range
- function menu
- Prior art date
Links
Images
Classifications
-
- 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/901—Indexing; Data structures therefor; Storage structures
-
- 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/954—Navigation, e.g. using categorised browsing
-
- 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/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 사스 기반의 웹 크롤링 시스템에 관한 것으로, 해결하고자 하는 기술적 과제는 수집할 데이터를 사용자 인터페이스 측면에서 손쉽게 선택하고 수집하는데 있다.
일례로, 웹 크롤링을 통해 데이터를 추출할 웹 사이트의 URL을 입력 받는 URL 입력부; 상기 URL 입력부를 통해 입력된 URL의 웹 사이트에 포함된 각 웹 페이지를 다수의 작업 창을 통해 표시하는 작업 창 표시부; 상기 작업 창 내 추출 가능한 데이터 영역을 표시하고, 상기 데이터 영역에서 데이터를 선택 받아 추출 대상 데이터로 설정하고, 상기 작업 창의 웹 페이지들에서 반복적으로 추출할 데이터 범위를 정의하고, 상기 작업 창 내 링크 데이터를 선택하여 데이터를 추출할 웹 페이지 간을 연결하여 상기 작업 창에 각각 표시하는 워크 플로우 설정부; 및 상기 워크 플로우 설정부를 통해 설정 및 정의된 사항에 따른 웹 크롤링을 실행하여 프로젝트 별 크롤링 결과를 제공하는 웹 크롤링 실행부를 포함하는 사스 기반의 웹 크롤링 시스템을 개시한다.
일례로, 웹 크롤링을 통해 데이터를 추출할 웹 사이트의 URL을 입력 받는 URL 입력부; 상기 URL 입력부를 통해 입력된 URL의 웹 사이트에 포함된 각 웹 페이지를 다수의 작업 창을 통해 표시하는 작업 창 표시부; 상기 작업 창 내 추출 가능한 데이터 영역을 표시하고, 상기 데이터 영역에서 데이터를 선택 받아 추출 대상 데이터로 설정하고, 상기 작업 창의 웹 페이지들에서 반복적으로 추출할 데이터 범위를 정의하고, 상기 작업 창 내 링크 데이터를 선택하여 데이터를 추출할 웹 페이지 간을 연결하여 상기 작업 창에 각각 표시하는 워크 플로우 설정부; 및 상기 워크 플로우 설정부를 통해 설정 및 정의된 사항에 따른 웹 크롤링을 실행하여 프로젝트 별 크롤링 결과를 제공하는 웹 크롤링 실행부를 포함하는 사스 기반의 웹 크롤링 시스템을 개시한다.
Description
본 발명의 실시예는 사스 기반의 웹 크롤링 시스템에 관한 것이다.
웹 페이지 정보를 수집하기 위한 소프트웨어를 크롤러(또는 스파이더)라고 하며, 구글 또는 네이버 등의 검색엔진은 크롤러를 이용하여 전 세계의 웹사이트를 수집하고 저장하고 있다.
이때, 크롤러는 사용자의 OS에 설치되어 데이터를 수집하는 설치형과 SaaS(Software as a Service)형태의 웹 서비스인 클라우드형으로 구분할 수 있다.
설치형 크롤러의 경우 가격이 저렴하나 데이터를 수집하기 위해 PC가 켜져 있어야 하므로 정전이나 사용자가 PC를 끄는 경우 데이터 수집이 불가능하다. 또한 하나의 IP를 사용하므로 IP가 차단될 확률이 높고 PC의 사양이나 네트워크 속도가 제한적이므로 대량의 데이터를 빠르게 수집할 수 없다.
SaaS(Software as a Service)형태의 클라우드형 크롤러의 경우 클라우드 서비스를 이용하여 서버의 성능을 높이거나(Scale-Up) 서버 수를 늘릴 수 있어(Scale-Out) 데이터 수집 속도가 빠르고 무제한에 가까운 IP를 사용할 수 있으며 접속지역제한이 있는 국가 웹 페이지에서도 데이터를 수집할 수 있으나, 사용법이 어려워 프로그램 개발자 또는 연구목적의 학생 외에는 개인적인 용도로 사용하는 이가 없다.
본 발명의 실시예는, 수집할 데이터를 사용자 인터페이스 측면에서 손쉽게 선택하고 수집할 수 있는 사스 기반의 웹 크롤링 시스템을 제공한다.
본 발명의 실시예에 따른 사스 기반의 웹 크롤링 시스템은, 웹 크롤링을 통해 데이터를 추출할 웹 사이트의 URL을 입력 받는 URL 입력부; 상기 URL 입력부를 통해 입력된 URL의 웹 사이트에 포함된 각 웹 페이지를 다수의 작업 창을 통해 표시하는 작업 창 표시부; 상기 작업 창 내 추출 가능한 데이터 영역을 표시하고, 상기 데이터 영역에서 데이터를 선택 받아 추출 대상 데이터로 설정하고, 상기 작업 창의 웹 페이지들에서 반복적으로 추출할 데이터 범위를 정의하고, 상기 작업 창 내 링크 데이터를 선택하여 데이터를 추출할 웹 페이지 간을 연결하여 상기 작업 창에 각각 표시하는 워크 플로우 설정부; 및 상기 워크 플로우 설정부를 통해 설정 및 정의된 사항에 따른 웹 크롤링을 실행하여 프로젝트 별 크롤링 결과를 제공하는 웹 크롤링 실행부를 포함한다.
또한, 상기 워크 플로우 설정부는, 최초 기능 선택 시 상기 작업 창 표시부를 통해 로딩된 상기 작업 창을 활성화시키고, 상기 작업 창 내 추출 가능한 데이터 영역을 표시하고, 상기 데이터 영역에서 데이터를 선택 받아 추출 대상 데이터로 설정하는 추출 기능 메뉴부; 상기 데이터 영역에서 선택 가능한 데이터가 행과 열로 배열되되, 서로 같은 열의 데이터 간에는 서로 같은 구조와 패턴을 갖고, 서로 다른 열의 데이터 간에는 서로 다른 구조와 패턴을 갖도록 배열되는 경우, 상기 작업 창 내에서 최초 2개의 연속 선택된 데이터가 서로 다른 열이면서 서로 같은 행에 속하는지, 상기 작업 창 내에서 최초 2개의 연속 선택된 데이터가 서로 같은 열이면서 서로 다른 행에 속하는지에 따라 미리 설정된 열과 행의 범위를 지정하고, 지정된 열과 행의 범위 내에 속한 데이터들을 상기 추출 대상 데이터로 설정하는 작업반복 기능 메뉴부; 최초 기능 선택 시 상기 작업 창 내 링크 데이터를 선택 가능하도록 표시하고, 링크 데이터의 선택 시 해당 링크 데이터에 따른 새로운 웹 페이지를 상세 페이지로서 표시하되 현재 웹 페이지와 연결하여 각 웹 페이지를 상기 작업 창에 표시하는 클릭 기능 메뉴부; 및 상기 추출 기능 메뉴부 및 상기 작업반복 기능 메뉴부를 통해 설정된 추출 대상 데이터를 상기 클릭 기능 메뉴부를 통해 생성된 웹 페이지 각각에 대하여 반복적으로 추출하기 위한 페이지네이션 기능 메뉴부를 포함할 수 있다.
또한, 상기 추출 기능 메뉴부는, 상기 작업 창 내 추출 가능한 데이터 영역에 대한 마우스 오버가 되면, 마우스 오버된 해당 데이터가 상기 추출 대상 데이터로 설정 가능한지 여부를 표시할 수 있다.
또한, 상기 작업반복 기능 메뉴부는, 상기 작업 창 내에서 최초 2개의 연속 선택된 데이터가 서로 다른 열이면서 서로 같은 행에 속하면, 2개의 연속 선택된 데이터에 따른 열의 범위를 지정한 후, 지정된 열의 범위 내에 있는 데이터 중 다른 행에 속하는 데이터가 선택되면 지정된 열의 범위 내에서 미리 설정된 행의 개수로 이루어진 행의 범위까지 추가 지정하여, 지정된 열과 행의 범위 내의 데이터들을 상기 추출 대상 데이터로 최종 설정하고, 상기 작업 창 내에서 최초 2개의 연속 선택된 데이터가 서로 같은 열이면서 서로 다른 행에 속하면, 2개의 연속 선택된 데이터가 속하는 열에서 대하여 미리 설정된 개수의 행으로 이루어진 행의 범위를 지정한 후, 상기 행의 범위 내에 있는 데이터 중 다른 열에 속하는 데이터가 선택되면 선택된 열의 개수로 이루어진 열의 범위까지 추가 지정하여 지정된 열과 행의 범위 내의 데이터들을 상기 추출 대상 데이터로 최종 설정할 수 있다.
또한, 상기 웹 크롤링 실행부는, 상기 작업반복 기능 메뉴부를 통해 지정되는 열과 행의 범위에 속한 데이터들을 임시 추출한 프리뷰와 열에 대한 편집 기능을 각각 제공하는 크롤링 프리뷰 수행부; 상기 프리뷰를 통해 표시되는 각 데이터들에 대한 웹 크롤링을 수행하는 크롤링 수행부; 및 상기 크롤링 수행부의 크롤링 진행상태, 크롤링 상세이력, 크롤링 결과물을 제공하는 크롤링 히스토리 제공부를 포함할 수 있다.
또한, 상기 페이지네이션 기능 메뉴부는, 상기 작업 창을 각각 활성화하고, 상기 작업 창에 표시되는 페이지 중 첫 번째 페이지부터 연속된 다수 개의 페이지를 선택 받고, 선택된 페이지들 단위로 상기 추출 기능 메뉴부 및 상기 작업반복 기능 메뉴부를 통해 설정된 추출 대상 데이터를 반복적으로 추출하도록 설정할 수 있다.
본 발명에 따르면, 수집할 데이터를 사용자 인터페이스 측면에서 손쉽게 선택하고 수집할 수 있는 사스 기반의 웹 크롤링 시스템을 제공할 수 있다.
도 1은 본 발명의 실시예에 따른 사스 기반의 웹 크롤링 시스템의 구성 방식을 설명하기 위한 개요도이다.
도 2는 본 발명의 실시예에 따른 사스 기반의 웹 크롤링 시스템의 아키텍쳐를 나타낸 블록도이다.
도 3은 본 발명의 실시예에 따른 사스 기반의 웹 크롤링 시스템의 전체 구성을 나타낸 블록도이다.
도 4는 본 발명의 실시예에 따른 워크 플로우 설정부의 상세 구성을 나타낸 블록도이다.
도 5는 본 발명의 실시예에 따른 웹 크롤링 실행부의 상세 구성을 나타낸 블록도이다.
도 6은 본 발명의 실시예에 따른 URL 입력부의 실행 화면을 나타낸 도면이다.
도 7 내지 도 17은 본 발명의 실시예에 따른 워크 플로우 설정부 및 웹 크롤링 실행부의 실행 화면을 나타낸 도면이다.
도 18은 본 발명의 실시예에 따른 웹 크롤링 실행부의 실행 화면을 나타낸 도면이다.
도 2는 본 발명의 실시예에 따른 사스 기반의 웹 크롤링 시스템의 아키텍쳐를 나타낸 블록도이다.
도 3은 본 발명의 실시예에 따른 사스 기반의 웹 크롤링 시스템의 전체 구성을 나타낸 블록도이다.
도 4는 본 발명의 실시예에 따른 워크 플로우 설정부의 상세 구성을 나타낸 블록도이다.
도 5는 본 발명의 실시예에 따른 웹 크롤링 실행부의 상세 구성을 나타낸 블록도이다.
도 6은 본 발명의 실시예에 따른 URL 입력부의 실행 화면을 나타낸 도면이다.
도 7 내지 도 17은 본 발명의 실시예에 따른 워크 플로우 설정부 및 웹 크롤링 실행부의 실행 화면을 나타낸 도면이다.
도 18은 본 발명의 실시예에 따른 웹 크롤링 실행부의 실행 화면을 나타낸 도면이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나 이상의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 본 발명의 실시예에 따른 사스 기반의 웹 크롤링 시스템의 구성 방식을 설명하기 위한 개요도이고, 도 2는 본 발명의 실시예에 따른 사스 기반의 웹 크롤링 시스템의 아키텍쳐를 나타낸 블록도이고, 도 3은 본 발명의 실시예에 따른 사스 기반의 웹 크롤링 시스템의 전체 구성을 나타낸 블록도이고, 도 4는 본 발명의 실시예에 따른 워크 플로우 설정부의 상세 구성을 나타낸 블록도이고, 도 5는 본 발명의 실시예에 따른 웹 크롤링 실행부의 상세 구성을 나타낸 블록도이고, 도 6은 본 발명의 실시예에 따른 URL 입력부의 실행 화면을 나타낸 도면이고, 도 7 내지 도 17은 본 발명의 실시예에 따른 워크 플로우 설정부의 실행 화면을 나타낸 도면이며, 도 18은 본 발명의 실시예에 따른 웹 크롤링 실행부의 실행 화면을 나타낸 도면이다.
도 1을 참조하면, 본 발명의 실시예에 따른 사스 기반의 웹 크롤링 시스템(100)은 URL 입력부(110), 작업 창 표시부(120), 워크 플로우 설정부(130) 및 웹 크롤링 실행부(140)를 포함한다.
상기 URL 입력부(110)는, 도 6에 도시된 바와 같이 웹 크롤링을 통해 데이터를 추출할 웹 사이트의 URL을 입력 받을 수 있다.
상기 URL 입력부(110)의 화면 로딩 전, 사용자 ID의 잔여 프로젝트 개수를 확인하여 생성 가능한 프로젝트 개수가 남아 있으면, 작업 화면을 로딩하고 URL 입력 창을 활성화시킬 수 있으며, 잔여 프로젝트 개수가 없으면, URL 입력 화면이 비활성화되고, 확인버튼 대신 'upgrade' 버튼이 표시된다.
이때, 프로젝트 생성 규칙으로는, 입력한 URL이 기존 프로젝트와 다르면 새로운 프로젝트로 'count+'가 된다. 또한, 기존의 프로젝트와 URL이 서로 다를 경우, 프로젝트 'count+'하는 시점은 데이터의 추출 설계를 완료한 후 'save run' 버튼 누르고, 웹 크롤링이 완료될 때가 된다.
상기 작업 창 표시부(120)는, URL 입력부(110)를 통해 입력된 URL의 웹 사이트에 포함된 각 웹 페이지를 도 7에 도시된 바와 같이 다수의 작업 창을 통해 표시할 수 있다.
이때, 초기 값(Default)은 작업 창이 로딩되면 작업 창이 비활성화되고, 'go to Top Page' 네모 박스가 생성될 수 있다. 이때, 'go to Top Page'는 현재 화면에서 초기 URL로 점프하는 기능을 갖는다.
상기 워크 플로우 설정부(130)는, 작업 창 내 추출 가능한 데이터 영역을 표시하고, 데이터 영역에서 데이터를 선택 받아 추출 대상 데이터로 설정하고, 작업 창의 웹 페이지들에서 반복적으로 추출할 데이터 범위를 정의하며, 작업 창 내 링크 데이터를 선택하여 데이터를 추출할 웹 페이지 간을 연결하여 작업 창에 각각 표시할 수 있다. 본 실시예에 따른 워크플로우 다이어그램과 메뉴 작동 방식은, 도 8에 도시된 바와 같이 메뉴를 클릭하면 아래로 메뉴가 추가되며, 사용자가 메뉴얼에 맞게 다이어그램을 이동해서 완성할 수 있다.
이러한 워크 플로우 설정부(130)는 추출 기능 메뉴부(131), 작업반복 기능 메뉴부(132), 클릭 기능 메뉴부(133) 및 페이지네이션 기능 메뉴부(134)를 포함할 수 있다.
상기 추출 기능 메뉴부(131)는, 도 9에 도시된 바와 같이 최초 기능 선택 시 작업 창 표시부(120)를 통해 로딩된 작업 창을 활성화시키고, 작업 창 내 추출 가능한 데이터 영역을 표시하고, 데이터 영역에서 데이터를 선택 받아 추출 대상 데이터로 설정할 수 있다.
좀 더 구체적으로, 추출 기능 메뉴부(131)는, 작업 창 내 추출 가능한 데이터 영역에 대한 마우스 오버가 되면, 마우스 오버된 해당 데이터가 추출 대상 데이터로 설정 가능한지 여부를 표시할 수 있다. 예를 들어, 작업 창 내 표시되는 데이터 영역에 마우스 커서(또는 마우스 펜)를 위치시키면 추출 가능한 데이터의 배경 색상을 반전하는 등 추출할 데이터인지를 표시하여 알려줄 수 있으며, 해당 데이터를 선택하면 추출 대상 데이터로 설정될 수 있다.
상기 작업반복 기능 메뉴부(132)는, 데이터 영역에서 선택 가능한 데이터가 행과 열로 배열되되, 서로 같은 열의 데이터 간에는 서로 같은 구조와 패턴을 갖고, 서로 다른 열의 데이터 간에는 서로 다른 구조와 패턴을 갖도록 배열되는 경우, 작업 창 내에서 최초 2개의 연속 선택된 데이터가 서로 다른 열이면서 서로 같은 행에 속하는지, 작업 창 내에서 최초 2개의 연속 선택된 데이터가 서로 같은 열이면서 서로 다른 행에 속하는지에 따라 미리 설정된 열과 행의 범위를 지정하고, 지정된 열과 행의 범위 내에 속한 데이터들을 상기 추출 대상 데이터로 설정할 수 있다.
좀 더 구체적으로 작업반복 기능 메뉴부(132)는, 작업 창 내에서 최초 2개의 연속 선택된 데이터가 서로 다른 열이면서 서로 같은 행에 속하면, 2개의 연속 선택된 데이터에 따른 열의 범위를 지정한 후, 지정된 열의 범위 내에 있는 데이터 중 다른 행에 속하는 데이터가 선택되면 지정된 열의 범위 내에서 미리 설정된 행의 개수로 이루어진 행의 범위까지 추가 지정하여, 지정된 열과 행의 범위 내의 데이터들을 추출 대상 데이터로 최종 설정함으로써 함으로써 컬럼(field)이 추가될 수 있다.
예를 들어, 도 10을 참조하면, 1-1 데이터와 1-2 데이터를 선택한 경우 이들은 서로 다른 열이면서 서로 같은 행에 속하므로, 서로 다른 데이터 구조와 패턴을 가질 수 있으며, 이러한 선택 시 1-1 데이터와 1-2 데이터를 도 10에 도시된 field 1, 2를 통해 먼저 표시될 수 있으며, 이러한 경우 1-1 데이터와 1-2 데이터에 따른 두 개의 열의 범위가 먼저 지정되고, 이후, 해당 열의 범위 내에 있는 다른 행에 속한 2-1 데이터를 선택하면 지정된 열의 범위 내에서 미리 설정된 행의 개수 예를 들어 10개의 행에 따른 10-1 데이터와 10-2 데이터 범위까지 추가 지정됨으로써, 지정된 열과 행의 범위 내에 데이터들이 추출 대상 데이터로서 최종 지정될 수 있다. 이렇게 지정된 데이터들은 도 10 에 도시된 프리뷰의 field 1, 2를 통해 모두 표시될 수 있다.
또한, 작업반복 기능 메뉴부(132)는, 작업 창 내에서 최초 2개의 연속 선택된 데이터가 서로 같은 열이면서 서로 다른 행에 속하면, 2개의 연속 선택된 데이터가 속하는 열에서 대하여 미리 설정된 개수의 행으로 이루어진 행의 범위를 지정한 후, 행의 범위 내에 있는 데이터 중 다른 열에 속하는 데이터가 선택되면 선택된 열의 개수로 이루어진 열의 범위까지 추가 지정하여 지정된 열과 행의 범위 내의 데이터들을 추출 대상 데이터로 최종 설정함으로써 작업반복(Loop)가 자동 생성될 수 있다.
예를 들어, 도 10을 참조하면, 1-1 데이터와 2-1 데이터를 선택한 경우 이들은 서로 같은 열이면서 서로 다른 행에 속하므로, 서로 같은 데이터 구조와 패턴을 가질 수 있으며, 이러한 선택 시 1-1 데이터와 2-1 데이터를 도 10에 도시된 field 1을 통해 먼저 표시될 수 있으며, 이러한 경우 1-1 데이터와 2-1 데이터에 따른 두 개의 행의 범위가 먼저 지정될 수 있으며, 예를 들어, 10개의 행에 따른 10-1 데이터 범위까지 지정되고, 이후, 해당 행의 범위 내에 있는 다른 열에 속한 2-2 데이터를 선택하면 지정된 열의 범위 예를 들어 2열의 데이터들까지 추가 지정함으로써, 지정된 열과 행의 범위 내에 데이터들이 추출 대상 데이터로서 최종 지정될 수 있다. 이렇게 지정된 데이터들은 도 10에 도시된 프리뷰의 field 1, 2를 통해 모두 표시될 수 있다.
상기 클릭 기능 메뉴부(133)는, 최초 기능 선택 시 작업 창 내 링크 데이터를 선택 가능하도록 표시하고, 링크 데이터의 선택 시 해당 링크 데이터에 따른 새로운 웹 페이지를 상세 페이지로서 표시하되 현재 웹 페이지와 연결하여 각 웹 페이지를 작업 창에 표시할 수 있다.
이러한 페이지네이션 기능 메뉴부(134)는, 작업 창을 각각 활성화하고, 상기 작업 창에 표시되는 페이지 중 첫 번째 페이지부터 연속된 다수 개의 페이지를 선택 받고, 선택된 페이지들 단위로 상기 추출 기능 메뉴부 및 작업반복 기능 메뉴부(132)를 통해 설정된 추출 대상 데이터를 반복적으로 추출하도록 설정할 수 있다.
이와 관련된 클릭 기능 메뉴 작동 방법은, 도 11을 참조하면 '워크 플로우' 메뉴 중 '클릭' 메뉴를 선택하면, 작업 창 활성화되어 파란색 상자가 생성되고, 작업 창에서 링크가 있는 추출 데이터 부분을 클릭하면 대기 상태('추출' 메뉴와 마찬가지로 같은 구조의 데이터들이 색깔이 바뀜)가 된다. 이때, 같은 구조의 데이터가 선택되면, 상세페이지로 넘어가면서, 상세페이지가 비 활성화되며, 다른 구조의 데이터가 선택되면 상세페이지 넘어가지 않으면서 에러 메시지가 표시될 수 있다.
한편, 상세페이지에 작업반복(Loop)가 적용될 경우, 프리뷰에는 마지막 뎁스(Depth)에서 추출(추출)되는 데이터를 보여줄 수 있다. 그리고, 다이어그램이 완성된 후, 도 12에 도시된 'Test Run' 버튼을 누르면 모든 뎁스(Depth)의 수집 데이터를 처음 5행만 보여주고, 데이터 수집 결과 확인할 수 있다. 또한, 데이터 프리뷰 확인 후, 도 12에 도시된 'save&run' 버튼을 누르면 크롤러가 웹 크롤링을 시작할 수 있다.
상기 페이지네이션 기능 메뉴부(134)는, 추출 기능 메뉴부(131) 및 작업반복 기능 메뉴부(132)를 통해 설정된 추출 대상 데이터를 클릭 기능 메뉴부(133)를 통해 생성된 웹 페이지 각각에 대하여 반복적으로 추출할 수 있다.
이러한 페이지네이션 메뉴 작동 방법은, 도 14를 참조하면, '워크 플로우' 메뉴 중 '페이지 넘김'을 선택하면, 워크플로우에 속이 빈 상자가 생성된다. 이때 작업 창이 비 활성화되고, '클릭' 메뉴를 선택하면, 파란색 상자가 생성되고, 작업 창이 활성화된다. 그리고, 페이지 맨 아래 페이지 넘김 번호 2개와, 다음 버튼을 선택함으로써 페이지 넘김을 정의할 수 있다. 이때, '페이지 넘김 + 클릭'이 선택될 경우 링크된 페이지로 넘어가지 않고 2개의 페이지 번호와 다음이 선택될 때까지 기다려야 하고, 사용자가 시스템의 메뉴얼에 따라 다이어그램을 수정해야 한다.
또한, 도 15를 참조하면, 'test run' 버튼을 선택하여 실행시키면, 프리뷰 창에서 전체 뎁스(Depth)에 대하여 수집된 데이터를 디스플레이하여 확인시켜 주며 이후 'save & run' 버튼을 누르면 크롤링하고 있음을 'loading spinner'를 통해 보여줄 수 있다.
또한, 도 16을 참조하면, '추출' 클릭 후 추출하고자 하는 데이터 선택(선택 후 메뉴 동작 원리 설명은 상술한 내용과 동일하므로 생략함)하고, 작업반복(Loop)가 자동으로 생성되어 '페이지 넘김, 클릭' 선택한 후 페이지 넘김 설정하기 위해 3번 선택 후 다이어그램 메뉴얼에 맞게 수정할 수 있다.
또한, 도 17을 참조하면, '클릭' 버튼을 선택하고, 같은 구조의 2개 데이터가 선택되면 작업반복(Loop)가 자동으로 생성되고, 상세페이지로 이동하며, '추출' 버튼 선택 후 추출하고자 하는 데이터를 선택(선택 후 메뉴 동작 원리에 대한 설명은 상술한 내용과 동일하므로 생략함)하고, '최초 페이지' 버튼을 선택하면, 메인페이지로 이동한다. 이때, 작업 창이 비 활성화되며, '페이지 넘김, 클릭' 버튼 선택 후 페이지 넘김 설정하기 위해 3번 선택한다.
이때, '페이지 넘김 + 클릭'은 상세페이지로 넘어가지 않으며, 페이지 설정을 위해 페이지 넘버 2개와 다음 1개가 선택될 때까지 대기한다. '클릭' 버튼을 선택한 후 같은 구조의 데이터를 2개 선택(2번)하면, 작업반복(Loop)가 자동 생성되고 상세페이지로 넘어가며, '추출' 버튼 클릭 후 추출할 데이터를 선택하면 프리뷰에 해당 데이터들이 보여질 수 있다.
상기 웹 크롤링 실행부(140)는, 워크 플로우 설정부(130)를 통해 설정 및 정의된 사항에 따른 웹 크롤링을 실행하여 프로젝트 별 크롤링 결과를 제공할 수 있다. 이를 위해 웹 크롤링 실행부(140)는 크롤링 프리뷰 수행부(141), 크롤링 수행부(142) 및 크롤링 히스토리 제공부(143)을 포함할 수 있다.
상기 크롤링 프리뷰 수행부(141)는, 도 7, 도 8, 도 10에 도시된 바와 같이 작업반복 기능 메뉴부(132)를 통해 지정되는 열과 행의 범위에 속한 데이터들을 임시 추출한 프리뷰와 열에 대한 편집 기능을 각각 제공할 수 있다.
상기 크롤링 수행부(142)는, 프리뷰를 통해 표시되는 각 데이터들에 대한 웹 크롤링을 수행(시작)할 수 있다.
상기 크롤링 히스토리 제공부(143)는, 크롤링 수행부(142)의 크롤링 진행상태, 크롤링 상세이력, 크롤링 결과물을 제공할 수 있다. 예를 들어, 도 18에 도시된 바와 같이 프로젝트 별 최종실행시간, 다음실행시간, 해당 프로젝트를 위한 웹 사이트의 URL 정보, 크롤링 진행상황, 결과물(다운받을 수 있음)에 대한 각종 정보를 제공 및 확인할 수 있다.
이상에서 설명한 것은 본 발명에 의한 사스 기반의 웹 크롤링 시스템을 실시하기 위한 하나의 실시예에 불과한 것으로서, 본 발명은 상기 실시예에 한정되지 않고, 이하의 특허청구범위에서 청구하는 바와 같이 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.
100: 사스 기반의 웹 크롤링 시스템
110: URL 입력부
120: 작업 창 표시부
130: 워크 플로우 설정부
131: 추출 기능 메뉴부
132: 작업반복 기능 메뉴부
133: 클릭 기능 메뉴부
134: 페이지네이션 기능 메뉴부
140: 웹 크롤링 실행부
141: 크롤링 프리뷰 수행부
142: 크롤링 수행부
143: 크롤링 히스토리 제공부
110: URL 입력부
120: 작업 창 표시부
130: 워크 플로우 설정부
131: 추출 기능 메뉴부
132: 작업반복 기능 메뉴부
133: 클릭 기능 메뉴부
134: 페이지네이션 기능 메뉴부
140: 웹 크롤링 실행부
141: 크롤링 프리뷰 수행부
142: 크롤링 수행부
143: 크롤링 히스토리 제공부
Claims (6)
- 웹 크롤링을 통해 데이터를 추출할 웹 사이트의 URL을 입력 받는 URL 입력부;
상기 URL 입력부를 통해 입력된 URL의 웹 사이트에 포함된 각 웹 페이지를 다수의 작업 창을 통해 표시하는 작업 창 표시부;
상기 작업 창 내 추출 가능한 데이터 영역을 표시하고, 상기 데이터 영역에서 데이터를 선택 받아 추출 대상 데이터로 설정하고, 상기 작업 창의 웹 페이지들에서 반복적으로 추출할 데이터 범위를 정의하고, 상기 작업 창 내 링크 데이터를 선택하여 데이터를 추출할 웹 페이지 간을 연결하여 상기 작업 창에 각각 표시하는 워크 플로우 설정부; 및
상기 워크 플로우 설정부를 통해 설정 및 정의된 사항에 따른 웹 크롤링을 실행하여 프로젝트 별 크롤링 결과를 제공하는 웹 크롤링 실행부를 포함하는 것을 특징으로 하는 사스 기반의 웹 크롤링 시스템.
- 제1 항에 있어서,
상기 워크 플로우 설정부는,
최초 기능 선택 시 상기 작업 창 표시부를 통해 로딩된 상기 작업 창을 활성화시키고, 상기 작업 창 내 추출 가능한 데이터 영역을 표시하고, 상기 데이터 영역에서 데이터를 선택 받아 추출 대상 데이터로 설정하는 추출 기능 메뉴부;
상기 데이터 영역에서 선택 가능한 데이터가 행과 열로 배열되되, 서로 같은 열의 데이터 간에는 서로 같은 구조와 패턴을 갖고, 서로 다른 열의 데이터 간에는 서로 다른 구조와 패턴을 갖도록 배열되는 경우, 상기 작업 창 내에서 최초 2개의 연속 선택된 데이터가 서로 다른 열이면서 서로 같은 행에 속하는지, 상기 작업 창 내에서 최초 2개의 연속 선택된 데이터가 서로 같은 열이면서 서로 다른 행에 속하는지에 따라 미리 설정된 열과 행의 범위를 지정하고, 지정된 열과 행의 범위 내에 속한 데이터들을 상기 추출 대상 데이터로 설정하는 작업반복 기능 메뉴부;
최초 기능 선택 시 상기 작업 창 내 링크 데이터를 선택 가능하도록 표시하고, 링크 데이터의 선택 시 해당 링크 데이터에 따른 새로운 웹 페이지를 상세 페이지로서 표시하되 현재 웹 페이지와 연결하여 각 웹 페이지를 상기 작업 창에 표시하는 클릭 기능 메뉴부; 및
상기 추출 기능 메뉴부 및 상기 작업반복 기능 메뉴부를 통해 설정된 추출 대상 데이터를 상기 클릭 기능 메뉴부를 통해 생성된 웹 페이지 각각에 대하여 반복적으로 추출하기 위한 페이지네이션 기능 메뉴부를 포함하는 것을 특징으로 하는 사스 기반의 웹 크롤링 시스템.
- 제2 항에 있어서,
상기 추출 기능 메뉴부는,
상기 작업 창 내 추출 가능한 데이터 영역에 대한 마우스 오버가 되면, 마우스 오버된 해당 데이터가 상기 추출 대상 데이터로 설정 가능한지 여부를 표시하는 것을 특징으로 하는 사스 기반의 웹 크롤링 시스템.
- 제2 항에 있어서,
상기 작업반복 기능 메뉴부는,
상기 작업 창 내에서 최초 2개의 연속 선택된 데이터가 서로 다른 열이면서 서로 같은 행에 속하면, 2개의 연속 선택된 데이터에 따른 열의 범위를 지정한 후, 지정된 열의 범위 내에 있는 데이터 중 다른 행에 속하는 데이터가 선택되면 지정된 열의 범위 내에서 미리 설정된 행의 개수로 이루어진 행의 범위까지 추가 지정하여, 지정된 열과 행의 범위 내의 데이터들을 상기 추출 대상 데이터로 최종 설정하고,
상기 작업 창 내에서 최초 2개의 연속 선택된 데이터가 서로 같은 열이면서 서로 다른 행에 속하면, 2개의 연속 선택된 데이터가 속하는 열에서 대하여 미리 설정된 개수의 행으로 이루어진 행의 범위를 지정한 후, 상기 행의 범위 내에 있는 데이터 중 다른 열에 속하는 데이터가 선택되면 선택된 열의 개수로 이루어진 열의 범위까지 추가 지정하여 지정된 열과 행의 범위 내의 데이터들을 상기 추출 대상 데이터로 최종 설정하는 것을 특징으로 하는 사스 기반의 웹 크롤링 시스템.
- 제4 항에 있어서,
상기 웹 크롤링 실행부는,
상기 작업반복 기능 메뉴부를 통해 지정되는 열과 행의 범위에 속한 데이터들을 임시 추출한 프리뷰와 열에 대한 편집 기능을 각각 제공하는 크롤링 프리뷰 수행부;
상기 프리뷰를 통해 표시되는 각 데이터들에 대한 웹 크롤링을 수행하는 크롤링 수행부; 및
상기 크롤링 수행부의 크롤링 진행상태, 크롤링 상세이력, 크롤링 결과물을 제공하는 크롤링 히스토리 제공부를 포함하는 것을 특징으로 하는 사스 기반의 웹 크롤링 시스템
- 제2 항에 있어서,
상기 페이지네이션 기능 메뉴부는,
상기 작업 창을 각각 활성화하고, 상기 작업 창에 표시되는 페이지 중 첫 번째 페이지부터 연속된 다수 개의 페이지를 선택 받고, 선택된 페이지들 단위로 상기 추출 기능 메뉴부 및 상기 작업반복 기능 메뉴부를 통해 설정된 추출 대상 데이터를 반복적으로 추출하도록 설정하는 것을 특징으로 하는 사스 기반의 웹 크롤링 시스템.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200000388A KR102072066B1 (ko) | 2020-01-02 | 2020-01-02 | 사스 기반의 웹 크롤링 시스템 |
US16/952,800 US20210209175A1 (en) | 2020-01-02 | 2020-11-19 | Web crawling system based on software as service |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200000388A KR102072066B1 (ko) | 2020-01-02 | 2020-01-02 | 사스 기반의 웹 크롤링 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102072066B1 true KR102072066B1 (ko) | 2020-01-31 |
Family
ID=69369243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200000388A KR102072066B1 (ko) | 2020-01-02 | 2020-01-02 | 사스 기반의 웹 크롤링 시스템 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20210209175A1 (ko) |
KR (1) | KR102072066B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021182657A1 (ko) * | 2020-03-10 | 2021-09-16 | (주)해나소프트 | 액션 디자인 임의 설정을 통한 웹 데이터 선택적 임포팅 시스템 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180109043A (ko) * | 2016-02-23 | 2018-10-05 | 구글 엘엘씨 | 디지털 컨텐츠 가시성 검출 |
KR101913780B1 (ko) | 2017-01-04 | 2018-11-02 | (주)해나소프트 | 웹 데이터 수집 장치 및 방법 |
KR101954813B1 (ko) | 2019-01-30 | 2019-06-11 | 주식회사 해시스크래퍼 | 하이브리드 크롤링을 통해 데이터를 수집하는 방법, 장치 및 그를 이용한 서버 |
-
2020
- 2020-01-02 KR KR1020200000388A patent/KR102072066B1/ko active IP Right Grant
- 2020-11-19 US US16/952,800 patent/US20210209175A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180109043A (ko) * | 2016-02-23 | 2018-10-05 | 구글 엘엘씨 | 디지털 컨텐츠 가시성 검출 |
KR101913780B1 (ko) | 2017-01-04 | 2018-11-02 | (주)해나소프트 | 웹 데이터 수집 장치 및 방법 |
KR101954813B1 (ko) | 2019-01-30 | 2019-06-11 | 주식회사 해시스크래퍼 | 하이브리드 크롤링을 통해 데이터를 수집하는 방법, 장치 및 그를 이용한 서버 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021182657A1 (ko) * | 2020-03-10 | 2021-09-16 | (주)해나소프트 | 액션 디자인 임의 설정을 통한 웹 데이터 선택적 임포팅 시스템 |
Also Published As
Publication number | Publication date |
---|---|
US20210209175A1 (en) | 2021-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10579238B2 (en) | Flexible screen layout across multiple platforms | |
KR101456506B1 (ko) | 웹 어플리케이션 저작도구 및 저작 방법 | |
KR101569984B1 (ko) | 웹 스크래핑 추출 데이터 설정 방법 | |
US20100070886A1 (en) | Web widget component for a rapid application development tool | |
JP5318291B2 (ja) | プログラマブル表示器の画面作成システム | |
EP3805909B1 (en) | Display control device, display control method, and display control program | |
KR101275871B1 (ko) | SaaS 환경에서의 홈페이지 제작 시스템 및 방법, 그 방법을 컴퓨터에서 실행하기 위한 컴퓨터 프로그램이 기록된, 컴퓨터로 판독 가능한 기록 매체 | |
WO2019074125A1 (ja) | ウェブブラウザの操作を伴う業務プロセスを自動化するためのシステム、方法及びプログラム | |
KR102072066B1 (ko) | 사스 기반의 웹 크롤링 시스템 | |
US20140040724A1 (en) | Method and system for website creation | |
JP6910494B1 (ja) | 情報処理プログラム、情報処理装置及び情報処理方法 | |
CN104899044A (zh) | 一种移动终端上的流程性操作实现方法及装置 | |
JP2010015292A (ja) | 強調表示追加方法、表示制御プログラム、及びサーバ | |
Bainbridge et al. | A renewed look at Greenstone: Entering the Third Decade | |
US8484615B2 (en) | Software framework to build an executable scheme in a GUI environment | |
KR20140022137A (ko) | N-스크린 적용을 위한 웹 어플리케이션 ui 저작 장치 및 그 저작 방법 | |
CN106293741B (zh) | 一种为应用商店生成非专属页面的方法和装置 | |
KR20140114968A (ko) | 애플리케이션 개발 환경 제공 프로그램을 기록한 것을 특징으로 하는 컴퓨터로 판독 가능한 기록매체 | |
Holovaty et al. | The Django Administration Site | |
Martin et al. | Developer Mode | |
Al-Kaf | An Adaptable iOS Mobile Application for Mobile Data Collection | |
Opute | ExtGWT Rich Internet Application Cookbook | |
KR20140114974A (ko) | 애플리케이션 개발 환경 제공 프로그램을 기록한 것을 특징으로 하는 컴퓨터로 판독 가능한 기록매체 | |
KR20140114966A (ko) | 애플리케이션 개발 환경 제공 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체 | |
KR20140114975A (ko) | 애플리케이션 개발 환경 제공 프로그램을 기록한 것을 특징으로 하는 컴퓨터로 판독 가능한 기록매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |