Abstract
Data types used for big-data analysis are very widely, such as news, blog, SNS, papers, patents, sensed data, and etc. Particularly, the utilization of web documents offering reliable data in real time is increasing gradually. And web crawlers that collect web documents automatically have grown in importance because big-data is being used in many different fields and web data are growing exponentially every year. However, existing web crawlers can't collect whole web documents in a web site because existing web crawlers collect web documents with only URLs included in web documents collected in some web sites. Also, existing web crawlers can collect web documents collected by other web crawlers already because information about web documents collected in each web crawler isn't efficiently managed between web crawlers. Therefore, this paper proposed a distributed web crawler. To resolve the problems of existing web crawler, the proposed web crawler collects web documents by RSS of each web site and Google search API. And the web crawler provides fast crawling performance by a client-server model based on RMI and NIO that minimize network traffic. Furthermore, the web crawler extracts core content from a web document by a keyword similarity comparison on tags included in a web documents. Finally, to verify the superiority of our web crawler, we compare our web crawler with existing web crawlers in various experiments.
빅데이터 분석을 위해 활용되는 데이터로는 뉴스, 블로그, SNS, 논문, 특허 그리고 센서로부터 수집된 데이터 등 매우 다양한 유형의 데이터가 있다. 특히, 신뢰성 있는 데이터를 실시간 제공하는 웹 문서의 활용이 점차 확산되고 있다. 그리고 빅데이터의 활용이 다양한 분야로 점차 확산되고 웹 데이터가 매년 기하급수적으로 증가하면서 웹 문서를 자동으로 수집하는 웹 크롤러의 중요성이 더욱 커지고 있다. 하지만, 기존 크롤러들은 일부 사이트에서 수집된 웹 문서에 포함된 URL만을 기반으로 웹 문서를 수집하기 때문에 사이트 전체 웹 문서를 수집할 수 없는 문제를 가진다. 또한, 수집된 웹 문서에 대한 정보를 효율적으로 관리하지 못하기 때문에 중복된 웹 문서를 수집하는 문제를 가진다. 그래서 본 논문에서는 웹 사이트의 RSS와 Google Search API를 통해 기존 웹 크롤러의 문제를 해결하고 RMI와 NIO을 활용해 서버와 클라이언트간 네트워크 연결을 최소화해 빠른 크롤링 기능을 제공하는 분산형 웹 크롤러를 제안한다. 또한, 제안하는 웹 크롤러는 웹 문서를 구성하는 태그들에 대한 키워드 유사도 비교를 통해, 분석에 활용되는 중요 콘텐츠만을 자동 추출하는 기능을 제공한다. 마지막으로, 기존 웹 크롤러와 제안하는 크롤러의 성능 평가 결과를 통해 제안하는 웹 크롤러의 우수성을 입증한다.