DATA101

[Python] 구글 플레이 스토어 크롤러 코드 Version 2.0.3 본문

AI & 빅데이터/데이터엔지니어링

[Python] 구글 플레이 스토어 크롤러 코드 Version 2.0.3

DATA101 2022. 1. 26. 16:47
728x90
반응형

안녕하세요!

오늘은 파이썬(주피터 노트북)을 기반으로 직접 코딩한 구글 플레이 스토어 웹 크롤러 코드를 공유합니다.

📝 목차

1.  업데이트 Log
2.  주요 기능
3.  전체 코드
4.  필수 초기 세팅
5.  코드 및 설명

1.  업데이트 Log

📌 Last Updated @2024-11-05

업데이트 일자 기준으로 구글 플레이 스토어 App 리뷰 데이터 수집 최신 Python 코드는 추가 업데이트되지 않을 예정이며,

앞으로는 아래의 DATA101 서비스를 통해 코드 한 줄 없이 App 리뷰 데이터를 수집해 보세요 :)

코드 한 줄 없는 데이터 분석 All in One 솔루션 <DATA101>

 Last Updated @2022-08-24

더보기

Last Updated @2022-08-21

더보기
  • @K1ddong 님께서 selenium 버전에 따라 구문이 다르다는 사실을 공유해 주셨으며, 이러한 문제를 방지하고 패키지 dependency를 고려하기 위해 pipenv 가상환경을 사용하였습니다.

(1) find_element 구문 수정

  • 데이터 크롤링 섹션 내 16 line 수정
  • selenium 4.3.0 이후 버전 find_element_by_* 구문이 제거됨에 따른 구문 수정
    • 변경 전: driver.find_element_by_xpath(all_review_button_xpath).click()
    • 변경 후: driver.find_element(By.XPATH,all_review_button_xpath).click()

(2) pipenv 가상환경 추가

  • dependency 고려 위함

@2022-07-19

더보기

1) 업데이트 내역

  • 크롤링 작업 이후인 'HTML 데이터 저장' 섹션 직전 로직에 driver.quit() 코드 추가

2) 업데이트 배경

  • 실행된 이력이 있는 크롬 드라이버를 완벽하게 종료하지 않고 새로운 크롬 드라이버를 오픈하여 크롤링하는 경우 메모리 누수 발생
  • 크롤링이 완료되면 모든 크롬 드라이버를 강제 종료하여 메모리 누수 방지

@2022-06-22

더보기

1) 업데이트 내역

  • 웹 크롤링 함수 내 '리뷰 모두 보기' 버튼 path 수정
    • AS-IS
      • all_review_button_xpath = '/html/body/c-wiz[2]/div/div/div[1]/div[2]/div/div[1]/c-wiz[3]/section/div/div/div[5]/div/div/button/span'
    • TO-BE (정상 동작 확인)
      • all_review_button_xpath = '/html/body/c-wiz[2]/div/div/div[1]/div[2]/div/div[1]/c-wiz[4]/section/div/div/div[5]/div/div/button/span'

2) 업데이트 배경

  • 구글 플레이 스토어 내 '리뷰 모두 보기' 버튼의 HTML Path 변경(@Tony.P 님의 댓글 제보😊)

@2022-01-27

더보기

1) 업데이트 내역

  • 구글 플레이 스토어 웹 페이지 내 '리뷰 모두 보기' 버튼 클릭 시 리뷰 데이터가 출력되는 Modal Window 자동 무한 스크롤 기능 추가
    • 무한 자동 스크롤 불가 문제 해결
    • 수집 가능한 최대 리뷰 개수 제한 해결
  • 개편된 웹 페이지 구조를 고려한 코드 수정
    • 데이터 가져올 클래스명 수정
    • 기존에 존재했던 장문 리뷰의 '모두 보기' 기능이 삭제됨에 따라 단문/장문에 따라 리뷰 내용 가져오는 코드 삭제
  • 코드 리팩토링
    • 데이터 종류별로 배열을 사용하지 않고, 하나의 리뷰당 하나의 배열 원소로 사용할 수 있도록 수정

2) 업데이트 배경

최근에 구글 플레이 스토어 웹페이지가 개편됨에 따라, 이전 포스팅에서 업로드했던 구글 플레이 스토어 웹 크롤러가 작동하지 않는다는 연락을 많이 받았습니다. 자동 스크롤이 동작하지 않거나 최대 수집 가능한 리뷰 개수가 40개로 제한된다는 등의 문의였습니다. 저의 포스팅이 누군가에게 조금이나마 도움을 줄 수 있다는 점에 참 뿌듯합니다. 이러한 많은 관심에 화답하고자 개편된 웹페이지 구조에 맞춰 크롤러를 업데이트하였습니다.

본 포스팅에서는 코딩 한 줄 없이 구글 플레이 스토어 앱 리뷰 데이터를 수집하는 방법을 소개합니다.

특히, No 코드 AI/빅데이터 분석 All in One 솔루션 <DATA101>에서 제공하는 서비스를 중심으로 설명드립니다.

 


Step 1. DATA101 서비스 접속

먼저, DATA101 서비스에 접속해 주세요👇👇

www.data101.io

 

DATA101 - 노코드 데이터 분석

 

www.data101.io

Step 2. 'App 리뷰 수집' 선택

메인 페이지 상품 List 내 'App 리뷰 수집' 서비스를 클릭해 주세요(그림 1-2).

그림 1. 랜딩 페이지 내 'App 리뷰 수집' 상품 위치
그림 2. App 리뷰 수집 서비스 기본 페이지

Step 3. 수집할 App URL 입력

구글 플레이 스토어 페이지에서 수집할 App 상세 페이지의 URL을 상단 입력창에 복사+붙여넣기 해줍니다(그림 3).

(예시: https://play.google.com/store/apps/details?id=com.sampleapp&hl=ko)

그림 3. 수집할 App URL 입력

Step 4. '수집 테스트하기' 버튼 클릭

URL 입력창 우측에 '수집 테스트하기' 버튼을 클릭해 주세요(그림 4).

그림 4. 수집 테스트하기 버튼 위치

Step 5. 수집 테스트 로딩

수집 테스트는 수 천 건의 데이터를 수집하기 전에 10건의 데이터를 미리 수집해 봄으로써,

수집 가능여부를 판단하기 위한 목적입니다. 5초 내로 테스트가 이루어지니 잠시만 기다려 줍니다(그림 5-6).

그림 5. 수집 테스트 로딩 화면
그림 6. 수집 테스트 완료 안내

Step 6. 수집할 데이터 개수 선택

구글 플레이 스토어 앱 리뷰 데이터를 1회에 최대 3,000건까지 안정적으로 수집할 수 있습니다('24년 11월 4일 기준).

1,000건에서 3,000건 사이에서 수집 희망하시는 데이터 개수를 선택해 주세요(그림 7).

그림 7. 수집할 데이터 개수 선택

Step 7. 구매약관 동의

구글 플레이 스토어 정책상, 해당 사이트에서 보이는 리뷰 개수보다 적은 양의 데이터가 수집될 수 있습니다.

예를 들어, 리뷰 작성자/해당 앱 개발자/앱마켓 관리자 측에서 직접 삭제 혹은 숨김처리한 리뷰인 경우가 있습니다.

수집 요청하신 데이터는 최대 15분 내 마이페이지에서 다운로드 받으실 수 있습니다(그림 8).

그림 8. 약관 동의 및 결제창

Step 8. 결제

DATA101는 토스페이먼츠 PG사 결제 시스템을 활용하고 있어 간편하고 안전한 결제가 가능합니다(그림 9).

그림 9. 결제창

Step 9. 결제완료

결제가 정상적으로 완료되면 아래와 같은 화면을 확인하실 수 있어요.

데이터는 최대 15분 내 마이페이지에서 다운로드 받으실 수 있습니다(그림 10).

그림 10. 결제완료 페이지

Step 10. 마이페이지 이동

마이페이지로 이동하시면 수집/분석 요청하신 건을 모두 확인하실 수 있습니다.

표에 '처리상태' 컬럼에 현재 데이터가 얼마나 수집 완료되었는지 진척도를 확인하실 수 있습니다.

그림 11. 마이페이지 내 데이터 다운로드

Step 11. 데이터 다운로드

'처리상태' 컬럼이 '✅수집완료'가 표시되면 우측 '결과받기' 컬럼 Download 버튼 클릭으로 다운로드 가능합니다(그림 12).

그림 12. 데이터 다운로드 성공 화면

Step 12. 데이터 확인

데이터는 댓글작성자명, 댓글 작성일, 평점까지 수집된 것을 확인하실 수 있습니다(그림 13).

그림 13. 수집 데이터 확인

📌 주의사항

1) 실제 구글 플레이 스토어상 보이는 전체 리뷰 건수와 실제 수집 데이터 건수 차이

- 구글 플레이 스토어 정책상 리뷰 작성자/개발자/앱마켓 관리자가 직접 삭제or숨김처리하는 경우가 있어 실제 수집 건수와 차이가 생길 수 있습니다

 

2) 파일 한글 깨짐 현상

- 데이터가 csv 파일로 다운로드되어 파일 오픈 후 재저장 시 한글이 깨져보일 수 있습니다.

- xlsx 파일 형태로 저장하거나 마이페이지에서 데이터를 다시 다운로드 받으실 수 있어요 :)


오늘은 DATA101을 통해 코드 한 줄 없이 App 리뷰 데이터를 수집할 수 있는 방법에 대해 소개해 드렸습니다.

그럼 오늘도 즐거운 하루 보내세요 :)

감사합니다😊

728x90
반응형