무한 스크롤링(endless scrolling)은 자바스크립트 또는 AJAX가 있는 웹 사이트에서 사용자가 웹 페이지 하단으로 스크롤할 때 동적으로 추가 콘텐츠를 로드하는 데 자주 사용됩니다.
일반적으로 사이드바를 아래로 직접 드래그하면 "로딩" 기호가 표시되고 새 콘텐츠가 곧 페이지에 추가됩니다.
Octoparse는 페이지를 수동으로 스크롤하는 것과 동일한 방법으로 무한 스크롤 기능을 수행합니다. Octoparse에서 스크롤할 페이지, 스크롤 횟수, 스크롤 시간 간격을 설정하기만 하면 됩니다.
본 튜토리얼은 Octoparse에서 무한 스크롤을 처리하는 방법을 보여줍니다.
본 튜토리얼에서는 아래 URL을 사용하였습니다.
참고: 이 튜토리얼은 전체 페이지를 스크롤하기 위한 것입니다. 페이지의 부분 영역만 스크롤하면 되는 경우 웹 페이지의 지정된 영역 내에서 스크롤을 확인하십시오.
1) 자동 인식 알고리즘
[팁] 패널에서 [웹 페이지 데이터 자동 인식]을 선택합니다.
스크롤 설정 수정
페이지 스크롤 추가 아래에서 편집을 클릭하고 스크롤 모드, 반복 시간 및 대기 시간을 설정합니다. 그런 다음 Confirm(확인)을 클릭하여 설정을 저장합니다.
팁: 1. 페이지 끝으로 스크롤: 이 경우 Octoparse는 페이지 중간에 멈추지 않고 계속 아래로 스크롤 합니다. 하단에 도달할 때만 페이지에 요소만 로드할 때 이 옵션을 사용하는 것이 도움이 될 것입니다. 2. 한 화면에서 스크롤: Octoparse는 매번 한 화면만 스크롤 합니다. 한 페이지를 계속 스크롤 할 때 페이지에 내용이 로드되는 경우 이 옵션을 사용하는 것을 추천합니다. (한 화면에 대한 스크롤은 모든 웹 사이트에 사용할 수 있지만 페이지 하단으로 스크롤 하면 특정 웹 사이트에서는 작동하지 않을 수 있습니다. 3. 반복(Repeats)에 스크롤 횟수를 입력합니다. 필요한 모든 정보를 로드하는 데 필요한 스크롤 수를 확인하기 위해 대상 웹 페이지를 미리 수동으로 스크롤 해볼 수 있습니다. 4. 두 스크롤 사이의 적절한 대기 시간을 선택합니다. 로드하는 데 걸리는 페이지 대기 시간을 더 길게 설정할 수 있습니다. |
설정을 사용하여 워크플로우 생성
아래와 같은 워크플로우가 생성됩니다.
Scroll Page(스크롤 페이지)를 클릭하여 스크롤 설정을 확인하거나 수정할 수 있습니다.
참고: 스크롤 횟수과 두 스크롤 사이의 적절한 간격을 설정해야 합니다.
루프 아이템이 모든 요소를 제대로 찾을 수 있는지 확인합니다.
루프 아이템의 설정으로 이동하여 모든 요소가 있는지 확인할 수 있습니다. 루프 모드의 Variable List(변수 목록)의 XPath가 정확한지 확인하십시오.
2) 무한 스크롤 수동 설정
스크롤을 설정하여 웹 페이지로 이동하거나 아이템을 클릭하거나 아래로 스크롤할 새 루프 항목을 추가할 수 있습니다.
항목을 클릭하고 모두 선택을 클릭한 다음 각 URL을 루프 클릭을 선택합니다.
생성된 루프 항목은 각 제품 URL을 클릭하여 데이터를 가져옵니다.
웹 페이지로 이동 후 스크롤하기 설정(웹 페이지로 이동/아이템 클릭과 스크롤 콤비네이션)
- 웹 페이지로 이동을 클릭합니다.
- Options(옵션)에서 페이지를 로드한 후 아래로 스크롤을 클릭합니다.
또는 Loop Item(아이템 순환)을 사용하여 스크롤을 설정할 수 있습니다(별도의 단계로).
- 워크플로우에 Loop Item(아이템 순환)을 추가하고 Loop Mode(루프 모드)를 Scroll Page(스크롤 페이지)로 설정합니다.
또한 Loop Item(아이템 순환)이 Variable List(변수 목록)로 정확한 위치의 요소를 찾는지 확인합니다.
Loop Item(아이템 순환)을 클릭한 다음 Variable List(변수 목록)를 선택합니다.
일치하는 XPath를 다음과 같이 입력합니다: //div[contains(@class, 'product-grid-item')]/div/a
참고: 페이지 스크롤 다운 & 루프 아이템에서 자세히 확인하십시오.