메인 콘텐츠로 건너뛰기

페이지 넘기기(무한 스크롤)

최소 1년 전에 업데이트됨

무한 스크롤링(endless scrolling)은 자바스크립트 또는 AJAX가 있는 웹 사이트에서 사용자가 웹 페이지 하단으로 스크롤할 때 동적으로 추가 콘텐츠를 로드하는 데 자주 사용됩니다.

일반적으로 사이드바를 아래로 직접 드래그하면 "로딩" 기호가 표시되고 새 콘텐츠가 곧 페이지에 추가됩니다.

45.png

Octoparse는 페이지를 수동으로 스크롤하는 것과 동일한 방법으로 무한 스크롤 기능을 수행합니다. Octoparse에서 스크롤할 페이지, 스크롤 횟수, 스크롤 시간 간격을 설정하기만 하면 됩니다.

본 튜토리얼은 Octoparse에서 무한 스크롤을 처리하는 방법을 보여줍니다.

본 튜토리얼에서는 아래 URL을 사용하였습니다.

참고: 이 튜토리얼은 전체 페이지를 스크롤하기 위한 것입니다. 페이지의 부분 영역만 스크롤하면 되는 경우 웹 페이지의 지정된 영역 내에서 스크롤을 확인하십시오.


1) 자동 인식 알고리즘

  • [팁] 패널에서 [웹 페이지 데이터 자동 인식]을 선택합니다.

1.png
  • 스크롤 설정 수정

페이지 스크롤 추가 아래에서 편집을 클릭하고 스크롤 모드, 반복 시간 및 대기 시간을 설정합니다. 그런 다음 Confirm(확인)을 클릭하여 설정을 저장합니다.

2.png

팁:

1. 페이지 끝으로 스크롤: 이 경우 Octoparse는 페이지 중간에 멈추지 않고 계속 아래로 스크롤 합니다. 하단에 도달할 때만 페이지에 요소만 로드할 때 이 옵션을 사용하는 것이 도움이 될 것입니다.

2. 한 화면에서 스크롤: Octoparse는 매번 한 화면만 스크롤 합니다. 한 페이지를 계속 스크롤 할 때 페이지에 내용이 로드되는 경우 이 옵션을 사용하는 것을 추천합니다.

(한 화면에 대한 스크롤은 모든 웹 사이트에 사용할 수 있지만 페이지 하단으로 스크롤 하면 특정 웹 사이트에서는 작동하지 않을 수 있습니다.

3. 반복(Repeats)에 스크롤 횟수를 입력합니다. 필요한 모든 정보를 로드하는 데 필요한 스크롤 수를 확인하기 위해 대상 웹 페이지를 미리 수동으로 스크롤 해볼 수 있습니다.

4. 두 스크롤 사이의 적절한 대기 시간을 선택합니다. 로드하는 데 걸리는 페이지 대기 시간을 더 길게 설정할 수 있습니다.

  • 설정을 사용하여 워크플로우 생성

4.png

아래와 같은 워크플로우가 생성됩니다.

114.png
  • Scroll Page(스크롤 페이지)를 클릭하여 스크롤 설정을 확인하거나 수정할 수 있습니다.

scrol.png

참고: 스크롤 횟수과 두 스크롤 사이의 적절한 간격을 설정해야 합니다.

  • 루프 아이템이 모든 요소를 제대로 찾을 수 있는지 확인합니다.

루프 아이템의 설정으로 이동하여 모든 요소가 있는지 확인할 수 있습니다. 루프 모드의 Variable List(변수 목록)의 XPath가 정확한지 확인하십시오.

6.png

2) 무한 스크롤 수동 설정

스크롤을 설정하여 웹 페이지로 이동하거나 아이템을 클릭하거나 아래로 스크롤할 새 루프 항목을 추가할 수 있습니다.

  • 항목을 클릭하고 모두 선택을 클릭한 다음 각 URL을 루프 클릭을 선택합니다.

생성된 루프 항목은 각 제품 URL을 클릭하여 데이터를 가져옵니다.

1.gif
  • 웹 페이지로 이동 후 스크롤하기 설정(웹 페이지로 이동/아이템 클릭과 스크롤 콤비네이션)

- 웹 페이지로 이동을 클릭합니다.

- Options(옵션)에서 페이지를 로드한 후 아래로 스크롤을 클릭합니다.

scroll_settings.png
  • 또는 Loop Item(아이템 순환)을 사용하여 스크롤을 설정할 수 있습니다(별도의 단계로).

- 워크플로우에 Loop Item(아이템 순환)을 추가하고 Loop Mode(루프 모드)Scroll Page(스크롤 페이지)로 설정합니다.

loop_mode.gif

또한 Loop Item(아이템 순환)Variable List(변수 목록)로 정확한 위치의 요소를 찾는지 확인합니다.

  • Loop Item(아이템 순환)을 클릭한 다음 Variable List(변수 목록)를 선택합니다.

  • 일치하는 XPath를 다음과 같이 입력합니다: //div[contains(@class, 'product-grid-item')]/div/a

120.png

참고: 페이지 스크롤 다운 & 루프 아이템에서 자세히 확인하십시오.


답변이 도움되었나요?