웹사이트를 본격적으로 스크래핑하려면, 여러 페이지를 이동하면서 각 페이지의 데이터를 추출해야 하는 경우가 많습니다. 이때 가장 먼저 해야 할 일은 해당 웹사이트가 어떤 방식의 페이지네이션(페이지 넘기기)을 사용하고 있는지 파악하는 것입니다.
대표적인 페이지네이션 방식에는 다음과 같은 유형이 있습니다.
‘다음’ 버튼을 사용하는 경우
‘다음’ 버튼 없이 번호 링크로 이동하는 경우
무한 스크롤 방식
‘더 보기’ 버튼을 사용하는 경우
이 튜토리얼에서는 그중에서도 페이지에 ‘다음’ 버튼이 없는 경우,
즉 아래 예시처럼 페이지 번호(1, 2, 3 …)를 직접 클릭해야 다음 페이지로 이동하는 방식의 페이지네이션을 만드는 방법을 다룹니다.
1. 페이지네이션 생성 및 XPath 수정하기
이 문제를 해결하는 핵심은 항상 ‘다음 페이지 번호’를 정확히 찾을 수 있는 XPath를 작성하는 것입니다.
전체 과정은 다음 두 단계로 나뉩니다.
1 단계:
현재 페이지 기준으로 다음 페이지로 이동해 주는 요소의 XPath를 작성/ 찾기
예:
현재 1페이지 → 2페이지 클릭
현재 2페이지 → 3페이지 클릭
이런 식으로 계속 진행
2 단계:
Octoparse 워크플로우 안에서 페이지네이션의 XPath 수정
참고:
XPath에 대한 지식은 필수는 아니지만 Octoparse에서 원하는 대로 정확한 작업을 만들기 위해서는 매우 유용합니다.
자세한 내용은 “XPath 정의 및 Octoparse에서 XPath 사용 방법” 튜토리얼을 참고해 주세요.
복잡하게 느껴지시나요?
너무 걱정하지 마세요! 아래 예시 하나를 통해 살펴보겠습니다.
아래 링크를 예시로 한 번 따라해 주세요.
https://www.yna.co.kr/culture/all/1
페이지에서 숫자 2 버튼 클릭
루프 클릭 선택합니다.
이렇게 하면 페이지네이션/ 페이지 넘기기가 자동으로 생성됩니다.
이제 페이지네이션에 사용할 XPath를 작성해야 합니다.
*여기서 주의해야 할 점은 페이지마다 클릭해야 하는 버튼은 달라지지만 다음 페이지 버튼은 항상 ‘현재 페이지 버튼 바로 뒤’에 위치합니다.
따라서 우리가 해야 할 것은
현재 페이지 버튼을 먼저 찾고
following-sibling을 이용해 다음 페이지 번호를 찾으면 됩니다.
구체적인 방법은 아래와 같습니다.
예시 URL을 브라우저(예: Chrome)에 붙여넣어 엽니다.
페이지 번호 영역에서 1번 페이지를 마우스 오른쪽 클릭 → 검사 선택
화면에서 강조 표시된 HTML 코드가 1페이지 버튼에 해당합니다.
이제 현재 페이지 번호를 찾는 XPath를 작성합니다.
//strong[@class="num on"]
메뉴의 '찾기'란(Ctrl+F)에 입력하면, 현재 페이지(1페이지) 버튼이 정상적으로 선택되는 것을 확인할 수 있습니다.
이제 다음 페이지 번호를 가리키는 XPath를 작성하면 됩니다.
//strong[@class="num on"]/following-sibling::a[1]
마지막으로 워크플로우에서 페이지 넘기기를 클릭하여 XPath 입력란에 아래 XPath를 입력 및 적용하시면 완성입니다.
2. ‘배치 생성’을 사용해 대량의 페이지 URL 생성하기
여러 페이지를 수집하는 또 다른 매우 효율적인 방법은 먼저 모든 페이지의 URL을 한 번에 생성한 뒤 해당 URL 목록을 기반으로 작업을 구성하는 것입니다.
페이지 URL을 자세히 살펴보면 아래와 같은 패턴이 보일 수 있습니다.
페이지 번호만 바뀌고
나머지 URL 구조는 동일한 경우
이런 패턴이 있다면 배치 생성 기능을 사용해 URL 목록 일괄 가져오기를 할 수 있습니다.
URL 목록이 생성되면, Octoparse가 해당 링크들을 자동으로 순회하며 필요한 만큼의 페이지 데이터를 자동으로 수집합니다.










