안녕하세요, 리스틀리입니다.😀
지난주 뉴스레터 "부동산 플랫폼에서의 ‘상세정보’ 어떻게 수집하지?🧐(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가 만들어준 코드를 붙여넣습니다. |
|
|
7. 설정을 저장한 후 재추출 버튼을 클릭하고 기다립니다.
|
|
|
8. 추출이 완료되었으면 결과를 확인합니다. GPT가 작성해준 코드로 전체리뷰가 모두 추출이 되었습니다! 엑셀 버튼을 클릭해 결과를 다운로드합니다. |
|
|
9. 깔끔하게 추출된 데이터를 보며 뿌듯함+만족감을 느낍니다.😍
|
|
|
오늘의 레터는 여기까지!
이번 레터는 '비개발자 입장에서 코드를 직접 작성하지 않고 액션스크립트를 쓸 수는 없을까?’ 라는 고민에서 시작된 콘텐츠입니다.
그래서 어디까지 가능한지 확인하기 위해 더 복잡한 케이스도 시도를 했었는데요, 이렇게 특정 버튼 클릭 1회! 와 같은 단순한 액션을 제외하고, 단순한 프롬프트 입력으로 성공까지 가는 코드를 만들어 내기에는 아직까진 다소 무리가 있었습니다.
혹시 구독자분들 중 나는 더 어려운것도 성공했다! 하시는 분이 있다면 저희한테도 알려주세요😁
리스틀리는 사용자 분들의 적극적인 서비스 활용을 환영합니다! |
|
|
💌
오늘의 뉴스레터, 어떻게 보셨나요?
뉴스레터에서 다뤄줬으면 하는 내용이 있으시다면
아래 버튼을 클릭해 소중한 의견을 남겨주세요. |
|
|
💚 지난 주 리스틀리 뉴스레터 구독자님의 코멘트! 💚
"세부적 기능에 대한 설명을 해주었으면 합니다. 특정 주제에 맞는 한가지씩?"
⤷ 🤖 넵! 활용도가 높은 기능부터 준비해보겠습니다! |
|
|
본 메일은 리스틀리 마케팅 정보 수신에 동의하신 회원님을 대상으로 발송되었습니다.
|
|
|
|
|