Skip to main content
QUICK REVIEW

[논문 리뷰] Archiving Deferred Representations Using a Two-Tiered Crawling Approach

Justin F. Brunelle, Michele C. Weigle|arXiv (Cornell University)|2015. 08. 10.
Web Data Mining and Analysis참고 문헌 5인용 수 3
한 줄 요약

이 논문은 클라이언트 측 자바스크립트에 의존하는 렌더링을 필요로 하는 연기된 표현을 처리하기 위해 분류기 기반의 이중 레이어 웹 크롤링 전략을 제안한다. 이 전략은 연기된 표현은 PhantomJS를 사용해 완전한 렌더링을 수행하고, 비연기된 자원은 더 빠른 Heritrix로 크롤링한다. 이 방식은 순수한 PhantomJS 크롤링 대비 5.2배 빠른 성능을 달성하며, Heritrix 단독 사용 대비 크롤링 범위를 1.8배 확장하여 성능을 희생시키지 않은 채 보존 완전성을 크게 향상시킨다.

ABSTRACT

Web resources are increasingly interactive, resulting in resources that are increasingly difficult to archive. The archival difficulty is based on the use of client-side technologies (e.g., JavaScript) to change the client-side state of a representation after it has initially loaded. We refer to these representations as deferred representations. We can better archive deferred representations using tools like headless browsing clients. We use 10,000 seed Universal Resource Identifiers (URIs) to explore the impact of including PhantomJS -- a headless browsing tool -- into the crawling process by comparing the performance of wget (the baseline), PhantomJS, and Heritrix. Heritrix crawled 2.065 URIs per second, 12.15 times faster than PhantomJS and 2.4 times faster than wget. However, PhantomJS discovered 531,484 URIs, 1.75 times more than Heritrix and 4.11 times more than wget. To take advantage of the performance benefits of Heritrix and the URI discovery of PhantomJS, we recommend a tiered crawling strategy in which a classifier predicts whether a representation will be deferred or not, and only resources with deferred representations are crawled with PhantomJS while resources without deferred representations are crawled with Heritrix. We show that this approach is 5.2 times faster than using only PhantomJS and creates a frontier (set of URIs to be crawled) 1.8 times larger than using only Heritrix.

연구 동기 및 목표

  • 클라이언트 측 자바스크립트에 의존해 완전히 렌더링되는 연기된 표현을 보존하는 데 도전 과제를 해결하기 위해.
  • 기존 크롤러(예: Heritrix, wget)와 자바스크립트 실행 기능을 갖춘 크롤러(예: PhantomJS) 간의 크롤링 속도 및 크롤링 범위 크기 측면에서의 성능 상충 관계를 측정하기 위해.
  • 성능 오버헤드를 최소화하면서도 연기된 표현 내 임bedded 자원의 탐색을 극대화하는 이중 레이어 크롤링 전략을 개발하고 검증하기 위해.
  • 자바스크립트 기반 자원을 대상으로 헤드리스 브라우징을 적극적으로 활용함으로써 완전한 미멘토 생성을 보장함으로써 보존 품질을 향상시키기 위해.

제안 방법

  • DOM 특징을 기반으로 연기된 표현을 포함하는 웹 자원을 예측하는 분류기를 훈련시켜 79%의 정확도를 달성하였다.
  • 이중 레이어 전략은 연기된 것으로 분류된 자원을 PhantomJS로 라우팅하여 완전한 클라이언트 측 렌더링과 URI 탐색을 수행하고, 비연기된 자원은 빠른 속도를 위해 Heritrix로 크롤링한다.
  • 크롤링 성능 평가를 위해 10,000개의 시드 URI로 구성된 데이터셋을 사용하여 크롤링 시간, 크롤링 범위 크기, 임베디드 자원 탐색을 측정하였다.
  • 기존 크롤러가 놓치는 동적 로딩된 자원을 파악하기 위해 PhantomJS를 사용해 자바스크립트를 실행하고 URI를 탐색하였다.
  • 크롤링 성능 상충 관계를 정량화하기 위해 wget, Heritrix, PhantomJS 세 가지 크롤러 간의 크롤링 범위 크기와 크롤링 시간을 비교하였다.
  • 실제 데이터를 활용해 시뮬레이션된 이중 레이어 크롤링을 검증하여 단일 크롤러 전략 대비 향상된 성능과 완전성을 입증하였다.

실험 결과

연구 질문

  • RQ1크롤링 파이프라인에 PhantomJS를 포함할 경우 Heritrix 및 wget 대비 크롤링 범위 크기와 크롤링 속도에 어떤 영향을 미치는가?
  • RQ2분류기가 연기된 표현을 포함하는 자원을 정확하게 예측하여 PhantomJS의 선택적 사용을 가능하게 할 수 있는가?
  • RQ3모든 자원에 PhantomJS를 사용하는 것과 비교해, 연기된 자원에만 PhantomJS를 사용할 경우 성능에 어떤 영향을 미치는가?
  • RQ4Heritrix 단독 사용 대비 이중 레이어 전략에서 PhantomJS와 Heritrix를 조합했을 때 크롤링 범위 크기는 얼마나 커지는가?
  • RQ5PhantomJS를 사용할 경우 세션 전용 매개변수 등으로 인해 중복 URI가 얼마나 증가하는가?

주요 결과

  • PhantomJS는 자바스크립트를 실행하고 동적으로 로드된 콘텐츠를 탐지할 수 있어 531,484개의 URI를 발견했으며, 이는 Heritrix 대비 1.75배, wget 대비 4.11배 많았다.
  • Heritrix는 1초당 2.065개의 URI를 크롤링하여 PhantomJS 대비 12.15배, wget 대비 2.4배 더 빠른 속도를 기록하여 가장 빠른 크롤러로 확인되었다.
  • PhantomJS를 연기된 표현에만 사용하고 비연기된 자원은 Heritrix로 처리하는 이중 레이어 전략은 순수한 PhantomJS 크롤링 대비 5.2배 빠른 성능을 달성하였다.
  • 이중 레이어 전략에서 크롤링 범위 크기는 Heritrix 단독 사용 대비 1.8배 더 크게 확장되었으며, 이는 URI 탐색 능력 향상이 뚜렷하게 나타났음을 시사한다.
  • PhantomJS는 URI당 평균 19.70개의 더 많은 임베디드 자원을 발견하여, 동적 콘텐츠를 캡처하는 데서 뛰어난 성능을 보였다.
  • PhantomJS에 의해 발견된 URI 중 53%는 세션 전용 매개변수를 제거한 후 중복으로 확인되어 크롤링 파이프라인 내 중복 제거가 필요함을 시사한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.