끄적거림

[리뷰 크롤링] PlayStore 댓글 크롤링하기 in python 1(feat. selenium) 본문

Python/Crawling

[리뷰 크롤링] PlayStore 댓글 크롤링하기 in python 1(feat. selenium)

Signing 2020. 7. 23. 16:00
728x90
반응형

[리뷰 크롤링] PlayStore 댓글 크롤링하기 in python 1(feat. selenium)

[리뷰 크롤링] PlayStore 댓글 크롤링하기 in python 2(feat. selenium)

[리뷰 크롤링] PlayStore 댓글 크롤링하기 in python 3(feat. selenium)

[리뷰 크롤링] PlayStore 댓글 크롤링하기 in python 4(feat. selenium)

[리뷰 크롤링] PlayStore 댓글 크롤링하기 in python 5(feat. selenium)

 


 

안드로이드 Google Play Store에서 특정 앱에 달린 리뷰들을 크롤링하여 텍스트 분석을 하고자 한다.

일단 먼저 리뷰 데이터가 필요하므로 데이터 수집을 해야겠다.

 

 

찾아보니, 셀리니움(selenium)이라는 모듈을 많이들 사용하는 것 같다. 브라우저와 관련된 자동화 패키지라고하는데 개발과 관련있는 패키지같다. 하지만 나는 분석 목적으로 쓰고자 이 모듈을 이용해보겠다.

 

 

1. 모듈 설치

# python -m pip install --upgrade pip

pip install selenium

cmd 창을 열고 해당 코드를 실행해준다.

pip를 업데이트 해주고(이미 업데이트 되었다면 패스~) 해당 모듈을 위와 같이 pip를 이용하여 설치를 진행한다.

 

 

 

2. Chrome 드라이버

크롤링을 브라우저에서 자동화하여 데이터를 수집하기 위해서는 웹드라이버가 필요하다.

나같은 경우엔, 크롬이 편할 거 같아서 일단 크롬으로 진행해보고자 한다.

 

 

2.1 Chrome 버전 확인

드라이버를 설치하기 전에 내 Chrome 버전을 확인하여 버전과 호환이 되는 드라이버를 설치할 필요가 있다.

먼저 크롬 창을 띄우고 아래의 코드를 입력해보자

Chrome://version

그러면 아래와 같은 버전 정보가 뜰 것이다.

크롬 버전 정보

필자의 경우, 84 버전이라고 나온다.

 

 

 

2.2 드라이버 설치

크롬의 버전을 확인했다면 아래의 링크에 접속하여 자신의 크롬 버전과 호환이 되는 드라이버를 설치한다.

https://sites.google.com/a/chromium.org/chromedriver/downloads

 

Downloads - ChromeDriver - WebDriver for Chrome

WebDriver for Chrome

sites.google.com

 

해당 버전을 클릭하면 pc의 os에 맞춰 크롬 드라이버를 다운받는다.

그러면 zip 파일 하나가 다운될텐데 압축을 해제시켜 놓으면 chromedriver.exe 가 생성될 것이다.

해당 exe 파일의 경로를 잘 기억해두자.

 

 

 

3. 드라이버 실행

다운받은 드라이버로 크롬을 실행시켜보자.

from selenium import webdriver

url = "http://naver.com"   # 접속하고자하는 url
driverPath = "../config/chromedriver_win32/chromedriver.exe" # Chrome Driver path
driver = webdriver.Chrome(driverPath)   # Open Chrome 
driver.get(url)    # Enter the url

코드로 크롬 실행

그림과 같이 아주 잘 접속되는 것을 확인할 수 있다.

한가지 다른 점이 있다면, 상단에 "Chrome이 자동화된 테스트 소프트웨어에 의해 제어되고 있습니다." 라는 문구가 뜬다는 점!

 

 

 

 

4. 크롤링

이제 내가 원하는 리뷰 데이터를 받아보도록 하자.

리뷰의 대상인 어플은 내가 평소에 즐겨 사용하던 ZUMO 어플이었던 LifePlus어플의 데이터를 가져오고자 한다.

 

 

4.1 웹페이지 접속

해당 리뷰가 있는 페이지에 접속해보자.

https://play.google.com/store/apps

 

Android 앱 Google Play

수백만 개의 최신 Android 앱, 게임, 음악, 영화, TV 프로그램, 도서, 잡지 등을 즐기세요. 기기 간에 공유되어 언제 어디서든 이용할 수 있습니다.

play.google.com

먼저, 플레이스토어에 접속하고 내가 원하는 어플 이름을 검색한다.

그럼 아래 그림과 같은 화면이 뜬다.

하단으로 내리다보면 리뷰들이 나온다.

여기서 리뷰들에 대해 더 보고싶다면, 해당 url 뒤에 "&showAllReviews=true"를 붙여준다. 그러면 전체 리뷰들이 담긴 화면이 나온다.

 

4.2 해당 화면 소스 접근

개발자 도구를 이용하여 리뷰 데이터에 접근하기 위한 소스를 확인해보자.

개발자 도구를 실행시키기 위해서는 F12 를 눌러주면 다음과 같은 화면이 나온다.

개발자도구(F12)

해당 소스는 html로 이루어졌기 때문에 간단한 html 구조를 알고있으면 편하다.

 

 

 

4.3 리뷰 위치 찾기

저 많은 코드 속에서 내가 원하는 리뷰 데이터는 어디에 있을까?

개발자 도구 상단 가장 왼쪽 화살표 모양의 아이콘을 클릭하면 그 위치를 찾을 수 있다.

 

아이콘 클릭

해당 아이콘을 클릭하고 리뷰가 달린 곳에 마우스를 위치하면 다음과 같은 위치가 뜬다. 하나의 리뷰를 클릭해보자.

html은 이와 같이 굉장히 많은 하위(트리) 구조를 갖으며 구성이 되어 있다. 여기서 해당 위치를 찾아 반복적으로 데이터를 수집해야한다.

다른 리뷰들도 확인해보면 공통의 테그를 찾아야한다. 또한 내가 원하는 데이터는 리뷰 내용도 있지만 리뷰가 달린 시점, 별점, 추천수와 같은 부수적인 데이터도 있으면 좋겠다.

 

이것들을 모두 확인해보면 다음과 같다.

 

필요한 데이터의 위치

이제 이 데이터들을 어떻게 긁어올지 한 번 생각해보자.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

참고 블로그

https://m.blog.naver.com/jsk6824/221763151860

https://inahjeon.github.io/web-crawling/

 

 

 

 

 

728x90
반응형
Comments