녕하세요, 리스틀리입니다.😀

지난주 뉴스레터 "동산 플랫폼에서의 ‘상세정보’ 어떻게 수집하지?🧐(feat.액션스크립트)"에서데이터를 추출하기 위해서는 ‘액션스크립트'가 필요하다는 내용을 다뤘었는데요. 솔직히 이 액션스크립트, 비개발자의 입장에서는 다소 막막~ 합니다. 


마찬가지로 이 뉴스레터 에디터인 저 또한 이 부분을 어떻게 더 쉽게 풀면 좋을지, 고민이 참 많았습니다. 그러다 슥 떠오른 생각!

"챗 GPT한테 써달라고 하면 안되나?"


그래서 바로! 실험해 보았습니다. 두두둥🥁

🖥️ 이런 웹페이지 구성, 익숙하지 않나요?

위의 이미지는 쇼핑몰 등에서 자주 볼 수 있는 웹페이지 구성입니다.

제품의 상세페이지 안에 리뷰 탭이 존재하고, 리뷰 탭을 클릭 한 후에야 리뷰를 볼 수 있는데,

리뷰들이 페이지네이션 구성으로 또 나뉘어 있군요.


흠, 어떻게 추출하면 좋을까요?

잠시만요! 여러 페이지를 추출하기 위한 설정을 붙이기 전에,
간단히 ‘재추출’이 가능한 페이지인지 먼저 살펴보겠습니다.😎
방법은 매우 간단한데요. 원하는 데이터가 보이는 상태의 URL을 복사하여 구글의 시크릿 모드를 켜고, 해당 주소만으로 접속을 해보는 것입니다.
➲ 시크릿 모드 켜기 단축키  Win : Ctrl + Shift + N  / Mac : Command + Shift + N

이번에 예시로 든 사이트에서 리뷰가 보이는 페이지의 URL을 복사하여 시크릿 모드에서 다시 접속해보니 위 이미지와 같이 리뷰탭이 아닌 첫번째 상품설명 탭이 열려있는 상태로 접속된다는 것을 알 수 있었습니다.

음? 갑자기 이걸 왜 확인하는거죠??🙄

예를 들어 위와 같은 상황에서는 리스틀리로 1페이지에 있는 리뷰 추출이 성공하더라도, 

다른 페이지들도 추출하기 위해 설정을 더하고 재추출을 할 경우, URL로만 접근하는 웹스크래핑봇은 시크릿모드에서 본 것과 같이 ‘상품 설명' 탭으로 접근하여 리뷰를 찾으려 할 것이기 때문이에요. 그렇기 때문에 URL만으로 데이터가 있는 페이지에 접근하기 어렵다면 실패가 예정되어있는 것이죠.😭😭😭😭😭

+ 비슷한 케이스로는 로그인 후에만 보이는 페이지, 특정 요소를 클릭했을 때만 뜨는 팝업창 속 정보 등을 들 수 있습니다.

🤖 그럼 잠시 리스틀리 봇이 되어 '성공할 수 있는' 추출 단계를 생각해보겠습니다.


1. 추출할 데이터가 무엇인지, 화면상의 위치를 지정하여 기록한다.
    ☛ 리스틀리 'PARTS'로 추출할 영역을 선택하여 1차 추출 
2. URL만으로 접근했을 때, 다시 리뷰탭으로 가는 방법을 추가적으로 입력한다.
    '액션스크립트'로 추출 전, 리뷰 버튼을 클릭하는 동작 추가
3. ‘리뷰 탭 안에서’ 각 페이지에 나뉘어져있는 정보를 추출한다.
    '페이지네이션 템플릿'으로 여러 페이지 정보 자동 추출
오, 좋은 시나리오 같아요. 그럼 위 단계에 따라, 한 단계씩 진행해보겠습니다 :)

1. 리스틀리 PARTS로 리뷰 데이터 영역을 선택하여 추출합니다.


2. 결과창을 확인하고 설정창으로 들어갑니다.
첫 번째 탭에 1페이지에 있는 10개의 리뷰들이 추출된 것이 보이네요. 데이터가 있는 탭의 위치를 확인한 후, 위 이미지에 표시된 브라우저 설정 메뉴를 클릭해 설정창으로 진입합니다.

3. 다시 웹페이지로 돌아와, 리스틀리 PARTS를 실행하고 리뷰 탭의 CSS셀렉터 값을 확인합니다. (정확도를 높이기 위해 웹페이지를 새로고침 한 후 클릭해야할 요소가 활성화된 상태에서 값을 확인하세요)

4. 이 부분이 이번 뉴스레터의 핵심이죠!

챗 GPT에게 자바스크립트 코드를 물어봅니다.(이번 사례에서는 무료 GPT 3.5를 사용했습니다.)


제가 입력한 프롬프트는 다음과 같습니다.

클릭요소의 셀렉터 값" 이 CSS셀렉터를 클릭하고, 1초 대기하는 자바스크립트 코드를 만들어줘."

**주의 : 사이트별, 케이스별로 “클릭할 버튼의 셀렉터 값”은 모두 다릅니다. 프롬프트의 빨간 글씨로 표시된 구간에 3번 단계에서 확인한 셀렉터를 붙여넣으시면 됩니다.


그리고 이미지에 빨간 네모로 표시된 부분을 클릭해 GPT가 만들어준 코드를 복사합니다.


5. 리스틀리 설정창으로 돌아와 액션스크립트 란에 GPT가 만들어준 코드를 붙여넣습니다.

6. 여러 페이지로 나뉘어진 리뷰들을 전부 추출하기 위해 액션템플릿-페이지네이션 세팅을 추가합니다.

➲[유튜브 링크] 액션템플릿 - 페이지네이션 튜토리얼

이 부분의 자세한 설명은 위 링크를 참고해주세요.😘

7. 설정을 저장한 후   재추출 버튼을 클릭하고 기다립니다.


8. 추출이 완료되었으면 결과를 확인합니다. GPT가 작성해준 코드로 전체리뷰가 모두 추출이 되었습니다! 엑셀 버튼을 클릭해 결과를 다운로드합니다.

9. 깔끔하게 추출된 데이터를 보며 뿌듯함+만족감을 느낍니다.😍 


오늘의 레터는 여기까지! 

이번 레터는 '비개발자 입장에서 코드를 직접 작성하지 않고 액션스크립트를 쓸 수는 없을까?’ 라는 고민에서 시작된 콘텐츠입니다.

그래서 어디까지 가능한지 확인하기 위해 더 복잡한 케이스도 시도를 했었는데요, 이렇게 특정 버튼 클릭 1회! 와 같은 단순한 액션을 제외하고, 단순한 프롬프트 입력으로 성공까지 가는 코드를 만들어 내기에는 아직까진 다소 무리가 있었습니다. 


혹시 구독자분들 중 나는 더 어려운것도 성공했다! 하시는 분이 있다면 저희한테도 알려주세요😁

리스틀리는 사용자 분들의 적극적인 서비스 활용을 환영합니다!

💌
오늘의 뉴스레터, 어떻게 보셨나요?
뉴스레터에서 다뤄줬으면 하는 내용이 있으시다면
아래 버튼을 클릭해 소중한 의견을 남겨주세요.
💚 지난 주 리스틀리 뉴스레터 구독자님의 코멘트! 💚
"세부적 기능에 대한 설명을 해주었으면 합니다. 특정 주제에 맞는 한가지씩?"
 ⤷ 🤖 넵! 활용도가 높은 기능부터 준비해보겠습니다!
리스틀리 뉴스레터를 처음 받아보셨나요?
본 메일은 리스틀리 마케팅 정보 수신에 동의하신 회원님을 대상으로 발송되었습니다.