크롤링으로 고객조사하자 - 플레이스토어 유저 리뷰 가져오기 (2)

2020. 11. 19. 17:08Skills/Python

👩‍💻 프로젝트(?) 목적

  • 관심있는 회사의 서비스(유사 서비스)의 VOC를 효율적으로 수집하고 싶다.

  • 일일 리뷰 살펴보고 엑셀에 복붙해서 핵심 내용 정리하는데 쓰이는 시간이 아깝다.

 

📋 프로젝트(?) 개요

  1. 일시 : 2020.11.19 2회차

  2. 플젝 참여자 : 양주임(제자), 고주임(튜터)

  3. 학습목표 : 플레이스토어의 모든 리뷰를 크롤링하여 가져온다. 엑셀 파일로 데이터를 다운 받는다.

크롤링한 결과물

📋 1회차 내용 복습

  1. 동기와 비동기

    1. 비동기
      1. 멀티쓰레드
        1. 쓰레드
          1. 프로그램(컴퓨터에 설치되어 있는 것)과 프로세스(프로그램이 메모리에서 실행되고 있는 것)
          2. 프로세스는 실행되고 있는 프로그램이긴 한데 프로그램을 처리할 수 있는 하나의 흐름을 가지고 있음, 이 흐름을 쓰레드라고 함
          3. 이 쓰레드가 여러개면 작업을 분할해서 시키면 되니까 더 효율이 좋아진다
      2. 비동기와 멀티쓰레드
      3. 비동기는 작업을 분할해서 처리한다고 이해하면 됨

 

📋 1, 2회차에서 다룬 개념

  1. 동적 크롤링을 지원하는 셀레늄 패키지

  2. 크롬 드라이버를 이용

    1. 드라이버 용도는?
      1. 셀레늄은 웹 드라이버를 사용하게끔 되어 있음.
      2. 웹 드라이버의 종류를 크롬 드라이버를 사용
      3. 웹 드라이버가 뭔가요?
        1. 브라우저 제어에 필요한 도구
          1. 개발자가 브라우저를 코드로 제어
  3. 셀레늄을 이용해서 html 소스를 가져오는 방법

  4. html 자원의 경로를 찾아 클릭( xpath)

  5. 스크롤을 내리는 방법, using js

  6. 예외처리를 해주는 방법

 

📋 옵션 => 크롬 창 띄우지 않고 데이터 수집

# 옵션 => 크롬 창을 안 띄우고 데이터를 수집할 수 있음
options = webdriver.ChromeOptions()
options.add_argument('headless')
options.add_argument('window-size=1920x1080')
options.add_argument("disable-gpu")

 

 

📋 크롤링한 결과를 엑셀로 다운 받기

#엑셀 파일 다운로드
from openpyxl import Workbook

filename = "BankSalard.xlsx"
wb = Workbook()
ws1 = wb.active

# sheet 이름
ws1.title = "뱅크샐러드(플레이스토어)"

 

📋 코드의 재사용성

 

📋 개발을 잘 하고 싶다면?

  • 다른 사람들이 코딩하는 것을 많이 보자

    • 유튜브에 '라이브 코딩' 검색

 

📋 패키지, 라이브러리의 함수에 대해 더 알고 싶다면

  • 패키지명 docs 로 구글 검색 ㄲ

 

📋 코드를 치면서 바로바로 크롬 드라이버에 적용하고 싶다면?