KR20230174123A - 룰셋 기반의 웹사이트 크롤링을 위한 클라우드 서버 - Google Patents

룰셋 기반의 웹사이트 크롤링을 위한 클라우드 서버 Download PDF

Info

Publication number
KR20230174123A
KR20230174123A KR1020220106686A KR20220106686A KR20230174123A KR 20230174123 A KR20230174123 A KR 20230174123A KR 1020220106686 A KR1020220106686 A KR 1020220106686A KR 20220106686 A KR20220106686 A KR 20220106686A KR 20230174123 A KR20230174123 A KR 20230174123A
Authority
KR
South Korea
Prior art keywords
crawling
web page
parsing
result
rule set
Prior art date
Application number
KR1020220106686A
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 주식회사 메로
Publication of KR20230174123A publication Critical patent/KR20230174123A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

실시예에 따른 룰셋 기반의 웹사이트 크롤링을 위한 클라우드 서버는, 관리자 단말로부터 키워드에 대응되는 웹사이트 크롤링 요청을 수신하는 수신부;
스토리지 서버로부터, 상기 웹사이트 크롤링 대상이 되는 복수의 웹사이트 각각에 대해 기 정의된 제1 룰셋을 독출하고, 상기 제1 룰셋을 기초로 상기 제1 웹페이지 상의 데이터에 대한 제1 크롤링의 수행 결과를 파싱함으로써, 제1 파싱 결과를 획득하는 제1 크롤링 관리부;
상기 복수의 웹사이트 각각에 대해 상기 제1 파싱 결과에 대응되는 제2 웹페이지 상의 데이터에 대한 제2 크롤링의 수행 결과를 획득하고, 상기 스토리지 서버로부터, 상기 복수의 웹사이트 각각에 대해 기 정의된 제2 룰셋을 독출하고, 상기 제2 룰셋을 기초로 상기 제2 웹페이지 상의 데이터에 대한 상기 제2 크롤링의 수행 결과를 파싱함으로써, 제2 파싱 결과를 획득하는 제2 크롤링 관리부; 및
상기 복수의 웹사이트 각각에 대해 획득된 상기 제2 파싱 결과를 상기 관리자 단말로 전송하는 전송부;를 포함할 수 있다.

Description

룰셋 기반의 웹사이트 크롤링을 위한 클라우드 서버{Cloud server for crawling websites based on ruleset}
본 발명은 룰셋 기반의 웹사이트 크롤링을 위한 클라우드 서버에 관한 것으로, 보다 구체적으로, 클라우드 서버가 룰셋 기반의 웹사이트 크롤링을 수행하도록 함으로써, 클라우드 서버의 동작 수행을 위한 관리자의 동작이 간편해지고, 이로 인한 시스템 유지 및 보수 관리가 보다 용이해지도록 하는 방법을 제공하기 위한, 룰셋 기반의 웹사이트 크롤링을 위한 클라우드 서버에 관한 것이다.
웹페이지 정보를 수집하기 위한 소프트웨어를 크롤러(스파이더 또는 봇(Bot))라고 하며, 구글 또는 네이버 등의 검색엔진은 크롤러를 이용하여 전 세계의 웹사이트를 수집하고 저장하고 있다.
현재의 웹사이트 크롤링(crawling) 방식은 응용 프로그램 인터페이스(API; Application Program Interface)를 사용하여 호출되는 값을 받아오거나 웹사이트의 각 페이지로 직접 접근하여 해당 페이지 내 데이터를 모으는 방식으로 구현되고 있다.
이와 같은 종래의 웹 사이트 직접 접근 방식은 일정 시간 내 빈번한 접근 시도가 이루어지며, 특히, 관리자가 비교를 원하는 여러 사이트에 각각 접근하여 데이터를 수집하고, 각 크롤러를 동작시켜 각 사이트에서 수집한 데이터를 비교, 분석하는 과정을 거쳐야 하므로, 조회 과정이 번거롭고 불편한 문제가 있었다.
이와 더불어, 최근, 인터넷 환경에서 특정 개인이나 단체를 향한 악성 컨텐츠가 점차 증가하고 있는 현상이 증가하고 있다. 특히, 연예인이나 정치인 등
사회에서 영향력 있는 인물 등 이외에도, 명예와 영향력을 이용해 컨텐츠를 생산하고 수입을 획득하는 유튜버, 크리에이터와 같은 인플루언서가 증가하고 있다. 이러한, 인플루언서들은 그들의 명예와 영향력이 생계 및 수익과 직결되는 중요한 문제가 되기 때문에, 악성 컨텐츠에 상당히 민감하며, 법적으로 강경하게 대응하는 경우가 많은 현실을 감안해, 이들의 니즈를 실현시켜줄 수 있는 플랫폼 제공에 대한 니즈도 증가하고 있다.
본 발명은 전술한 문제점을 해결하기 위해 도출된 것으로, 관리자가 한번만 크롤링 요청을 해도, 모든 각 웹사이트에 대한 크롤링에 필요한 정보를 룰셋의 형태로 미리 스토리지 서버(3)에 저장해두고, 클라우드 서버(2)가 크롤링 수행시, 해당 룰셋을 참조하여 자동으로 크롤링을 수행하도록 함으로써, 모든 각 웹사이트에 대한 병행적인 크롤링이 수행되어, 관리자의 시스템 유지 및/또는 보수가 보다 용이해지는 이점이 있게 된다.
본 발명은 또한, 악성 컨텐츠에 대한 크롤링을 룰셋 기반의 병행 크롤링 시스템에 접목시켜 최근 증가하고 있는 악성 컨텐츠에 대응과 관련된 니즈를 실현시켜주고, 이와 관련된 관리자의 시스템 유지 및/또는 보수 또한 보다 용이해지도록 하는 데에 그 목적이 있다.
실시예에 따른 룰셋 기반의 웹사이트 크롤링을 위한 클라우드 서버는, 관리자 단말로부터 키워드에 대응되는 웹사이트 크롤링 요청을 수신하는 수신부;
스토리지 서버로부터, 상기 웹사이트 크롤링 대상이 되는 복수의 웹사이트 각각에 대해 기 정의된 제1 룰셋을 독출하고, 상기 제1 룰셋을 기초로 상기 복수의 웹사이트 각각의 제1 웹페이지 상의 데이터에 대한 제1 크롤링의 수행 결과를 파싱함으로써, 제1 파싱 결과를 획득하는 제1 크롤링 관리부;
상기 복수의 웹사이트 각각에 대해 상기 제1 파싱 결과에 대응되는 제2 웹페이지 상의 데이터에 대한 제2 크롤링의 수행 결과를 획득하고, 상기 스토리지 서버로부터, 상기 복수의 웹사이트 각각에 대해 기 정의된 제2 룰셋을 독출하고, 상기 제2 룰셋을 기초로 상기 제2 웹페이지 상의 데이터에 대한 상기 제2 크롤링의 수행 결과를 파싱함으로써, 제2 파싱 결과를 획득하는 제2 크롤링 관리부; 및
상기 복수의 웹사이트 각각에 대해 획득된 상기 제2 파싱 결과를 상기 관리자 단말로 전송하는 전송부;를 포함할 수 있다.
상기 제1 룰셋은 상기 제1 웹페이지 상의 데이터에 대한 상기 제1 크롤링의 수행 결과를 획득하기 위한 제1-1 룰셋과 상기 획득된 상기 제1 크롤링의 수행 결과를 파싱한 상기 제1 파싱 결과를 획득하기 위한 제1-2 룰셋을 포함할 수 있다.
상기 제1-1 룰셋은,
상기 복수의 웹사이트 각각의 URL, HTTP 메소드, 파싱 방식, 및 제1 크롤링 영역 중 적어도 일부의 항목을 포함하도록 기 정의된 것일 수 있다.
상기 1-2 룰셋은,
상기 복수의 웹사이트 각각의 스크립트 형식, 제2 웹페이지의 URL, 및 상기 제2 웹페이지의 URL의 개수 중 적어도 일부의 항목을 포함하도록 기 정의된 것일 수 있다.
상기 제1 파싱 결과는,
상기 제2 웹페이지의 URL과 상기 제2 웹페이지의 URL의 개수를 포함할 수 있다.
상기 제2 룰셋은,
상기 제2 크롤링의 수행 결과를 파싱한 상기 제2 파싱 결과를 획득하기 위해 본문 제목, 본문 내용, 본문 작성 시간, 본문 작성자, 댓글 내용, 댓글 작성 시간, 댓글 작성자, 및 이미지 중 적어도 일부의 항목을 포함하도록 기 정의된 것일 수 있다.
상기 키워드에 대응되는 웹사이트 크롤링 요청은 상기 키워드에 대응되는 악성 컨텐츠를 수집하기 위한 요청을 포함할 수 있다.
또한, 본 발명에 따르면, 관리자가 한번만 크롤링 요청을 해도, 모든 각 웹사이트에 대한 크롤링에 필요한 정보를 룰셋의 형태로 미리 스토리지 서버(3)에 저장해두고, 클라우드 서버(2)가 크롤링 수행시, 해당 룰셋을 참조하여 동작하도록 함으로써, 모든 각 웹사이트가 병행적으로 크롤링이 수행되도록 함으로써, 관리자의 유지 및/또는 보수가 보다 용이해지는 이점이 있게 된다.
본 발명의 실시예에 따르면, 악성 컨텐츠에 대한 크롤링을 룰셋 기반의 병행 크롤링 시스템에 접목시켜 최근 증가하고 있는 악성 컨텐츠에 대응과 관련된 니즈를 실현시켜주고, 이와 관련된 관리자의 시스템 유지 및/또는 보수 또한 보다 용이해질 수 있게 된다.
도 1은 실시예에 따른 룰셋 기반의 웹사이트 크롤링 시스템의 시스템도이다.
도 2는 실시예에 따른 룰셋 기반의 웹사이트 크롤링을 위한 클라우드 서버(2)의 동작을 설명하는 순서도이다.
도 3a는 제1-1 룰셋(31-1)의 예시이고, 도 3b는 제1-2 룰셋(31-2)의 예시이며, 도 3c는 제2 룰셋(32)의 예시이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
도 1은 실시예에 따른 룰셋 기반의 웹사이트 크롤링 시스템의 시스템도이고, 도 2는 실시예에 따른 룰셋 기반의 웹사이트 크롤링을 위한 클라우드 서버(2)의 동작을 설명하는 순서도이며, 도 3a 내지 도 3c는 도 2의 동작을 설명하기 위해 참조되는 도면이다.
이하, 도 1 내지 도 2, 그리고 도 3a 내지 도 3c를 함께 참조하여 설명한다.
도 1에 도시한 바와 같이, 실시예에 따른 룰셋 기반의 웹사이트 크롤링 시스템은 관리자 단말(1), 클라우드 서버(2), 및 스토리지 서버(3)를 포함할 수 있다.
관리자 단말(1)은 관리자로부터 키워드를 입력받아 웹사이트 크롤링 요청을 생성하여 클라우드 서버(2)로 전송하고, 클라우드 서버(2)로부터 크롤링 결과를 제공받아 출력할 수 있다.
클라우드 서버(2)는 관리자 단말(1), 스토리지 서버(3), 및 웹서버(4)와의 통신을 수행한다.
실시예에 따라, 클라우드 서버(2)는 AWS(Amazon Web Services), GCP(Google Cloud Platform)등의 클라우드 서비스를 이용할 수 있다.
실시예에 따라, 클라우드 서버(2)는 SaaS(Software as a Service) 형태의 웹
서비스인 클라우드형 크롤러에 기반하여 동작을 수행할 수 있다.
실시예에 따라, 클라우드 서버(2)는 수신부(21), 제1 크롤링 관리부(22), 통합 리스트 생성부(23), 제2 크롤링 관리부(24), 및/또는 전송부(25)를 포함할 수 있으며, 각 동작의 자세한 내용에 대해서는 후술한다.
스토리지 서버(3)는 웹사이트 크롤링 대상이 되는 복수의 웹사이트별 데이터 수집과 관련된 명령어들의 집합인 마스터 룰셋(30)을 미리 저장할 수 있다.
실시예에 따라, 웹사이트 크롤링 대상이 되는 복수의 웹사이트는 관리자 단말(1)로부터 전송된 크롤링 대상이 되는 복수의 웹사이트 설정(또는 지정) 요청에 기초해 미리 설정될 수 있다.
실시예에 따라, 복수의 웹사이트별로 구분된 마스터 룰셋(30)은, 관리자 단말(1)의 설정 요청에 기초해 기 설정(또는 지정)된 복수의 웹사이트별로 구분된 룰셋 생성(또는 작성) 요청에 기초해 생성된 후 스토리지 서버(3)에 저장될 수 있다.
실시예에 따른 마스터 룰셋(30)은 JSON 포맷, XPath 포맷 등에 기초해 작성될 수 있으나, 이는 실시예이며 다른 포맷에 기초해 작성되어 저장될 수 있다.
실시예에 따라, 복수의 웹사이트별 데이터 검색 및/또는 수집(스크랩핑) 방식이 다양하므로, 이에 기초해 마스터 룰셋(30)은 복수의 웹사이트별 각각 상이하게 제작되는 것이 바람직하다.
실시예에 따라, 각각의 마스터 룰셋(30)은 제1 웹페이지 상의 데이터에 대한 제1 크롤링의 기능 수행을 정의하기 위한 제1 룰셋(31)과 제1 웹페이지와 연계된 제2 웹페이지 상의 데이터에 대한 제2 크롤링의 기능 수행을 정의하기 위한 제2 룰셋(32)을 포함할 수 있다.
실시예에 따라, 제1 웹페이지는 제1 크롤링 관리부(22)에 의한 제1 크롤링 수행에 기초해 웹사이트 상에서 최초로 출력(검색/접근)되기 위한 웹페이지이고, 제2 웹페이지는 제2 크롤링 관리부(24)에 의한 제2 크롤링 수행에 기초해 제1 웹페이지 상에 기재된(위치한) 제2 웹페이지의 경로 정보(URL)에 대응되어 출력(검색/접근)되기 위한 웹페이지일 수 있다. 참고로, 본 발명에서 제1 웹페이지 및/또는 제2 웹페이지는 하나 또는 복수 개 일 수 있다.
실시예에 따라, 제2 웹페이지의 경로 정보(URL)은 제1 웹페이지 상에서 하이퍼링크 형태로 기재되고, 제2 웹페이지는 하이퍼링크에 연결되어 출력될 수 있다.
실시예에 따라, 제1 룰셋(31)은 제1 크롤링의 수행 결과를 획득하기 위한 제1-1 룰셋(31-1)과 획득된 제1 크롤링의 수행 결과를 파싱한 제1 파싱 결과를 획득하기 위한 제1-2 룰셋(31-2)을 포함할 수 있다.
실시예에 따라, 도 3a를 참조하면, 제1-1 룰셋(31-1)은 각각의 웹사이트의 URL(예> “app.dcomsode.com,”), HTTP 메소드(예> “POST”/”GET”), 파싱 방식(예> “API”/”DOM”), 및 제1 크롤링 영역(예> “SearchKeyword”/”BoardID”/”PageNO”) 중 적어도 일부의 항목을 포함하도록 기 정의된 것일 수 있다.
실시예에 따라, HTTP 메소드는 POST 또는 GET 중 어느 하나의 값으로 미리 설정될 수 있다.
실시예에 따라, 웹사이트별, 데이터를 SAX(simple API for XML: Simple application program interface for Extensible Markup Language)기반으로 파싱하는 방식 또는 DOM(Document Object Model)기반으로 파싱하는 방식 중 어느 하나의 값으로 미리 설정될 수 있다.
실시예에 따라, 제1 크롤링 영역은, 제1 크롤링이 수행되기 위한 제1 웹페이지 상의 대상 영역으로, 검색 키워드, 게시판ID, 및 웹페이지번호 중 적어도 일부의 항목에 대응되는 값이 미리 설정될 수 있다.
도 3a를 예를 들면, 검색 키워드에 대응되는 제1 웹페이지 상의 각 게시판ID를 포함한 영역을 제1 크롤링 수행 대상으로 정의한 것일 수 있다.
다만, 이는 실시예이며, 대상 영역은 제1 웹페이지의 모든 영역이거나, 일부 영역에 대한 설정에 기초하는 등 다양하게 정의될 수 있다.
실시예에 따라, 도 3b를 참조하면, 제1-2 룰셋(31-2)는 각각의 웹사이트의 스크립트 형식(예>”JSON”/”XML”), 제2 웹페이지의 URL, 및 제2 웹페이지의 URL의 개수(예>20) 중 적어도 일부의 항목을 포함하도록 기 정의된 것일 수 있다.
실시예에 따라, 스크립트 형식은, JSON 또는 XML 중 어느 하나의 값으로 미리 설정될 수 있다.
실시예에 따라, 제1-2 룰셋(31-2)은 제1 크롤링의 수행 결과 중 일부 정보를 추출(또는 선택)하기 위해 기 정의된 것일 수 있다.
실시예에 따라, 제2 룰셋(32)은, 제2 크롤링의 수행 결과를 파싱한 제2 파싱 결과를 획득하기 위한 것일 수 있다. 예를 들어, 도 3c를 참조하면 제2 룰셋(32)은 본문 제목, 본문 내용, 본문 작성 시간, 본문 작성자, 댓글 내용, 댓글 작성 시간, 댓글 작성자, 및 이미지 중 적어도 일부의 항목을 포함하도록 기 정의된 것일 수 있다.
실시예에 따라, 제2 룰셋(32)은 제2 크롤링의 수행 결과 중 일부 정보를 추출(또는 선택)하기 위해 기 정의된 것일 수 있다.
다만, 상기 항목은 예시이며, 본 발명은 이에 제한되지 않는다.
이하, 실시예에 따른 룰셋 기반의 웹사이트 크롤링을 위한 클라우드 서버(2)의 동작을 설명한다.
먼저, 수신부(21)는 관리자 단말(1)로부터 키워드에 대응되는 웹사이트 크롤링 요청을 수신할 수 있다(s1). 구체적으로, 관리자 단말(1)이 관리자로부터 키워드를 입력받으면, 관리자 단말(1)은 키워드에 대응되는 웹사이트 크롤링 요청을 생성하여 클라우드 서버(2)로 전송하고, 클라우드 서버(2)는 이를 수신할 수 있다.
실시예에 따라, 키워드는 웹사이트 크롤링 수행 대상이 되는 사람명(예>아이유), 별칭, 애칭 등을 포함할 수 있다.
실시예에 따라, 키워드에 대응되는 웹사이트 크롤링 요청은, 웹사이트의 웹페이지 상의 모든 데이터 중 키워드와 연관된 정형 및/또는 비정형 데이터를 수집하기 위한 요청일 수 있다.
실시예에 따라, 키워드에 대응되는 웹사이트 크롤링 요청은 웹사이트의 웹페이지 상의 모든 데이터 중 키워드와 연관된 악성 컨텐츠를 수집하기 위한 요청일 수 있다.
실시예에 따라, 악성 컨텐츠는 텍스트(예> 악성 댓글), 영상 등을 포함할 수 있다.
제1 크롤링 관리부(22)는 스토리지 서버(3)로부터, 상기 웹사이트 크롤링 대상이 되는 복수의 웹사이트 각각에 대해 기 정의된 제1 룰셋(31)을 독출하고, 상기 제1 룰셋(31)을 기초로 상기 복수의 웹사이트 각각의 제1 웹페이지 상의 데이터에 대한 상기 제1 크롤링의 수행 결과를 파싱함으로써, 제1 파싱 결과를 획득할 수 있다(s2).
구체적으로, 제1 크롤링 관리부(22)는 제1-1 룰셋을 이용해 각 대응되는 웹사이트의 제1 웹페이지 상의 데이터에 대한 제1 크롤링의 수행 결과를 획득하고, 제1-2 룰셋을 이용해 상기 획득된 상기 제1 크롤링의 수행 결과를 파싱한 상기 제1 파싱 결과를 획득할 수 있다.
실시예에 따라, 제1 크롤링의 수행 결과는 제1 웹페이지 상의 전체 데이터/일부 데이터를 포함할 수 있다. 즉, 입력된 키워드 '아이유'와 관련된 모든 데이터를 포함하도록 제1-1 룰셋이 작성되거나, 일부 데이터(예>게시판, 일부 페이지, 특정 위치의 영역, 데이터 타입 제한 등)만을 포함하도록 제1-1 룰셋이 작성될 수 있다.
실시예에 따라, 제1 크롤링의 수행 결과는 입력된 키워드와 관련된 악성 컨텐츠(예> '아이유'와 관련된 악성 댓글)을 포함하도록 제1-1 룰셋이 작성될 수 있다.
예를 들어, 제1 크롤링 관리부(22)는 도 3a와 같은 제1-1 룰셋을 참조해 해당 웹사이트의 경우, API 파싱 방식으로, HTTP 메소드는 POST 방식으로, 해당 웹사이트의 URL을 참조하며, 수신부(21)로부터 전송받은 요청사항에 포함된 키워드(예>'아이유')를 이용해, 복수의 전체 제1 웹페이지 중 '아이유'와 관련된 데이터가 게재된 '게시판ID'를 포함한 데이터를 제1 크롤링 수행 결과로 획득할 수 있다. 다만, 이는 일례이고, '아이유'와 관련된 제1 웹페이지 상의 모든 데이터를 크롤링할 수도 있다.
실시예에 따라, 제1 파싱 결과는, 제2 웹페이지의 URL과 제2 웹페이지의 URL의 개수를 포함할 수 있다.
예를 들어, 제1 크롤링 관리부(22)는 도 3b와 같은 제1-2 룰셋을 참조해, 제1 크롤링한 수행 결과를 JSON과 XML의 스크립트 형식과 REGEX(정규표현식) 형식 언어를 이용하며, 제2 웹페이지의 URL과 제2 웹페이지들의 URL의 개수를 포함하는 제1 파싱 결과를 획득할 수 있다.
실시예에 따라, 제1 크롤링 관리부(22)는 제1 크롤링 수행 결과 중 일부 정보를 추출(또는 선택)하여 제1 파싱 결과를 획득할 수 있다.
실시예에 따라, 제1 크롤링 관리부(22)는 제1-2 룰셋 및/또는 XPath(XML Path Language)를 참조해 제1 크롤링 수행 결과로부터 제2 웹페이지의 URL을 판단할 수 있다. XPath는 W3C의 표준으로 확장 생성 언어의 문서의 구조를 통해 경로 위에 지정한 구문을 사용하여 항목을 배치하고 처리하는 방식을 기술하는 언어로 제2 웹페이지의 URL을 판단하도록 할 수 있다.
실시예에 따라, 통합 리스트 생성부(23)는 복수의 웹사이트 각각에 대해 획득된 상기 제1 파싱 결과를 통합한 통합 리스트를 생성할 수 있다(s3)
구체적으로, 복수의 웹사이트별로 구분된 제2 웹페이지의 URL 및 제2 웹페이지의 URL의 개수가 리스트화된 통합 리스트를 생성하여 저장할 수 있다.
실시예에 따르면, 이와 같은 통합 리스트를 관리자 단말(1)로 전송할 수 있고, 이에 따라, 관리자는 해당 정보를 한눈에 쉽게 파악할 수 있고, 이에 따라 각 웹사이트에 대한 유지, 보수, 및/또는 관리가 보다 용이해지게 된다. 실시예에 따라, 통합 리스트의 업데이트 상황이 프로그레스 바나 아이콘 등으로 표기되어 관리자 단말(1)로 전송됨으로써, 관리자의 유지 보수가 보다 용이해지게 된다. 구체적으로, 통합리스트상에서 제2 크롤링 수행을 위한 대상 URL 및 대상 URL의 개수가 업데이트되고, 해당 정보가 관리자 단말(1)로 전송되면, 관리자 단말(1)에서 해당 정보를 손쉽게 파악할 수 있게 된다. 예를 들어, 전체 제2 웹페이지의 URL의 개수(및/또는 URL) 중 현재 제2 크롤링을 수행해야할 제2 웹페이지의 URL의 개수(및/또는 URL) 및/또는 이미 제2 크롤링이 수행된 제2 웹페이지의 URL의 개수(및/또는 URL) 등을 관리자 단말(1)에서 아이콘이나 프로그레스 바 등으로 미리 확인할 수 있게 된다. 또한, 통합 리스트를 제2 크롤링 관리부(24)에서 참조할 수 있도록 함으로써, 제2 크롤링 관리부(24)가 제2 크롤링 수행 시, 수행 대상이 되는 제2 웹페이지의 URL을 보다 용이하게 파악할 수 있게 된다.
실시예에 따라, 제2 크롤링 관리부(24)는 상기 복수의 웹사이트 각각에 대해 상기 제1 파싱 결과에 대응되는 제2 웹페이지 상의 데이터에 대한 제2 크롤링의 수행 결과를 획득할 수 있다(s4). 즉, 제2 크롤링 관리부(24)는 대응되는 각 웹사이트에 대한 제2 웹페이지의 URL과 제2 웹페이지의 URL의 개수를 참조해 제2 웹페이지 상의 데이터에 대한 제2 크롤링의 수행 결과를 획득할 수 있다. 실시예에 따라, 제2 크롤링 관리부(24)는 통합 리스트 상에서 대응되는 각 웹사이트에 대한 제2 웹페이지의 URL과 제2 웹페이지의 URL의 개수를 참조해 제2 웹페이지 상의 데이터에 대한 제2 크롤링의 수행 결과를 획득할 수 있다.
이 때, 예를 들어, 키워드(예>'아이유')와 관련된 제2 웹페이지 상의 모든 데이터를 크롤링할 수 있다.
실시예에 따라, 키워드와 관련된 제2 웹페이지 상의 악성 컨텐츠(예> '아이유'와 관련된 악성 댓글)을 크롤링할 수 있다.
그리고, 제2 크롤링 관리부(24)는 상기 스토리지 서버(3)로부터, 상기 복수의 웹사이트 각각에 대해 기 정의된 제2 룰셋(32)을 독출하고, 제2 룰셋을 참조해 제2 크롤링의 수행 결과를 파싱한 제2 파싱 결과를 획득할 수 있다(s5).
실시예에 따라, 제2 크롤링 관리부(24)는 제2 크롤링 수행 결과 중 일부 정보를 추출(또는 선택)하여 제2 파싱 결과를 획득할 수 있다.
예를 들어, 도 3c와 같은 제2 룰셋을 참조해, 제2 크롤링의 수행 결과를 파싱하여 본문 제목, 본문 내용, 본문 작성 시간, 본문 작성자, 댓글 내용, 댓글 작성 시간, 댓글 작성자, 및 이미지 중 적어도 하나의 항목에 대응되는 데이터를 획득할 수 있다.
전송부(25)는 복수의 웹사이트 각각에 대해 획득된 제2 파싱 결과를 관리자 단말(1)로 전송할 수 있다(s6). 관리자 단말(1)은 복수의 웹사이트별 제2 파싱 결과를 디스플레이부(미도시)를 통해 관리자에게 제공할 수 있다.
이상 설명된 실시 형태는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터로 판독가능한 기록매체에 기록될 수 있다. 상기 컴퓨터로 판독가능한 기록매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.
상기 컴퓨터로 판독가능한 기록매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터로 판독가능한 기록매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 실행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 명세서의 양상들은 전체적으로 하드웨어, 전체적으로 소프트웨어 (펌웨어, 상주 소프트웨어, 마이크로 코드 등을 포함 함) 또는 컴퓨터 판독 가능 프로그램 코드가 구현 된 하나 이상의 컴퓨터 판독 가능 매체에 구현 된 컴퓨터 프로그램 제품의 형태를 취할 수 있다.
이상에서 실시예들에 설명된 특징, 구조, 효과 등은 본 발명의 하나의 실시예에 포함되며, 반드시 하나의 실시예에만 한정되는 것은 아니다. 나아가, 각 실시예에서 예시된 특징, 구조, 효과 등은 실시예들이 속하는 분야의 통상의 지식을 가지는 자에 의해 다른 실시예들에 대해서도 조합 또는 변형되어 실시 가능하다. 따라서 이러한 조합과 변형에 관계된 내용들은 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.
또한, 이상에서 실시예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 실시예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (7)

  1. 관리자 단말로부터 키워드에 대응되는 웹사이트 크롤링 요청을 수신하는 수신부;
    스토리지 서버로부터, 상기 웹사이트 크롤링 대상이 되는 복수의 웹사이트 각각에 대해 기 정의된 제1 룰셋을 독출하고, 상기 제1 룰셋을 기초로 상기 복수의 웹사이트 각각의 제1 웹페이지 상의 데이터에 대한 제1 크롤링의 수행 결과를 파싱함으로써, 제1 파싱 결과를 획득하는 제1 크롤링 관리부;
    상기 복수의 웹사이트 각각에 대해 상기 제1 파싱 결과에 대응되는 제2 웹페이지 상의 데이터에 대한 제2 크롤링의 수행 결과를 획득하고, 상기 스토리지 서버로부터, 상기 복수의 웹사이트 각각에 대해 기 정의된 제2 룰셋을 독출하고, 상기 제2 룰셋을 기초로 상기 제2 웹페이지 상의 데이터에 대한 상기 제2 크롤링의 수행 결과를 파싱함으로써, 제2 파싱 결과를 획득하는 제2 크롤링 관리부; 및
    상기 복수의 웹사이트 각각에 대해 획득된 상기 제2 파싱 결과를 상기 관리자 단말로 전송하는 전송부;를 포함하는,
    룰셋 기반의 웹사이트 크롤링을 위한 클라우드 서버.
  2. 제 1항에 있어서,
    상기 제1 룰셋은 상기 제1 웹페이지 상의 데이터에 대한 상기 제1 크롤링의 수행 결과를 획득하기 위한 제1-1 룰셋과 상기 획득된 상기 제1 크롤링의 수행 결과를 파싱한 상기 제1 파싱 결과를 획득하기 위한 제1-2 룰셋을 포함하는,
    룰셋 기반의 웹사이트 크롤링을 위한 클라우드 서버.
  3. 제 2항에 있어서,
    상기 제1-1 룰셋은,
    상기 복수의 웹사이트 각각의 URL, HTTP 메소드, 파싱 방식, 및 제1 크롤링 영역 중 적어도 일부의 항목을 포함하도록 기 정의된,
    룰셋 기반의 웹사이트 크롤링을 위한 클라우드 서버.
  4. 제 2항에 있어서,
    상기 1-2 룰셋은,
    상기 복수의 웹사이트 각각의 스크립트 형식, 상기 제2 웹페이지의 URL, 및 상기 제2 웹페이지의 URL의 개수 중 적어도 일부의 항목을 포함하도록 기 정의된,
    룰셋 기반의 웹사이트 크롤링을 위한 클라우드 서버.
  5. 제 1항에 있어서,
    상기 제1 파싱 결과는,
    상기 제2 웹페이지의 URL과 상기 제2 웹페이지의 URL의 개수를 포함하는,
    룰셋 기반의 웹사이트 크롤링을 위한 클라우드 서버.
  6. 제 1항에 있어서,
    상기 제2 룰셋은,
    상기 제2 크롤링의 수행 결과를 파싱한 상기 제2 파싱 결과를 획득하기 위해 본문 제목, 본문 내용, 본문 작성 시간, 본문 작성자, 댓글 내용, 댓글 작성 시간, 댓글 작성자, 및 이미지 중 적어도 일부의 항목을 포함하도록 기 정의된,
    룰셋 기반의 웹사이트 크롤링을 위한 클라우드 서버.
  7. 제 1항에 있어서,
    상기 키워드에 대응되는 웹사이트 크롤링 요청은 상기 키워드에 대응되는 악성 컨텐츠를 수집하기 위한 요청을 포함하는,
    룰셋 기반의 웹사이트 크롤링을 위한 클라우드 서버.

KR1020220106686A 2022-06-20 2022-08-25 룰셋 기반의 웹사이트 크롤링을 위한 클라우드 서버 KR20230174123A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20220075191 2022-06-20
KR1020220075191 2022-06-20

Publications (1)

Publication Number Publication Date
KR20230174123A true KR20230174123A (ko) 2023-12-27

Family

ID=89377996

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220106686A KR20230174123A (ko) 2022-06-20 2022-08-25 룰셋 기반의 웹사이트 크롤링을 위한 클라우드 서버

Country Status (1)

Country Link
KR (1) KR20230174123A (ko)

Similar Documents

Publication Publication Date Title
JP6141490B2 (ja) ウェブページ情報を抽出する方法およびシステム
US10817663B2 (en) Dynamic native content insertion
US7631007B2 (en) System and method for tracking user activity related to network resources using a browser
US8660976B2 (en) Web content rewriting, including responses
US8103652B2 (en) Indexing explicitly-specified quick-link data for web pages
US7631263B2 (en) Methods, systems, and computer program products for characterizing links to resources not activated
US20080104024A1 (en) Highlighting results in the results page based on levels of trust
US20160103861A1 (en) Method and system for establishing a performance index of websites
US20160103913A1 (en) Method and system for calculating a degree of linkage for webpages
US20120166961A1 (en) Method and system for presenting a navigation path for enabling retrieval of content
EP2933734A1 (en) Method and system for the structural analysis of websites
KR20190131778A (ko) 은닉 url에 포함된 정형 및 비정형 데이터의 수집을 위한 웹 크롤러 시스템
KR20190058141A (ko) 문서로부터 추출되는 데이터를 생성하는 방법 및 그 장치
CN106874502A (zh) 一种视频搜索的方法、装置及终端
JP2008134906A (ja) 業務プロセス定義生成方法、装置及びプログラム
KR20070057578A (ko) 인터넷 리소스에 태그 정보를 부가하여 공유 정보를제공하는 시스템, 장치, 방법 및 이를 구현할 수 있는컴퓨터로 읽을 수 있는 기록 매체
KR20110086791A (ko) 웹페이지에 대한 방문기록을 도식화하는 방법 및 시스템 그리고 상기 방문기록을 이용한 추가정보 제공 방법 및 시스템
US20160267163A1 (en) Triggering answer boxes
US11055365B2 (en) Mechanism for web crawling e-commerce resource pages
KR20170071389A (ko) 불특정 웹사이트의 새로운 게시글 분석 및 본문 추출을 통한 새 글 알림 시스템 및 방법
KR20230174123A (ko) 룰셋 기반의 웹사이트 크롤링을 위한 클라우드 서버
US9218418B2 (en) Search expression generation system
WO2018056299A1 (ja) 情報収集システム、情報収集方法、及び、記録媒体
US8180771B2 (en) Search activity eraser
KR101066225B1 (ko) 검색 서비스 시스템 및 이를 이용한 검색 서비스 방법