Scraping Ulasan User Google Play Menggunakan Python

L. Muh Khaerunnizar
3 min readOct 29, 2022

Web scraping adalah teknik untuk mendapatkan informasi dari website secara otomatis tanpa harus menyalinnya secara manual. Tujuan dari web scraper adalah untuk mencari informasi tententu dan kemudian mengumpulkannya dalam web yang baru. Web scraping berfokus dalam
mendapatkan data dengan cara pengambilan dan ekstraksi.

Teknik web scraping dapat diaplikasikan untuk mengumpulkan informasi mengenai pandangan pengguna mengenai suat produk ataupun jasa. Saat ini pengguna banyak menyalurkan pendapat mereka mengenai layanan,
produk maupun jasa melalui ulasan secara online.

Contoh Ulasan User Dalam Google Playstore

Untuk mengekstrak ulasan pengguna menggunakan python memerlukan beberap tahapan diantaranya:

Tahap 0: Mendownload dan install Google Play Scraper Package

!pip install google-play-scraper

Tahap 1: Import Packages yang dibutuhkan

from google_play_scraper import app
import pandas as pd
import numpy as np

Tahap 2: Menemukan App ID dalam Playstore

App ID dapat ditemukan setelah “id=” dalam URL = https://play.google.com/store/apps/details?id=com.gojek.app&hl=id

Tahap 3: Scraping Data Ulasan

Dalam tahapan ini terdapat dua pilihan yang bisa dilakukan, yang pertama adalah mengekstrak seluruh ulasan yang ada, dan yang kedua adalah kita dapat menentukan jumlah ulasan yang akan diekstrak.

  1. Mengekstrak semua ulasan yang ada

Jangan jalankan kode berikut jika anda tidak ingin mengekstrak semua ulasan

# Scrape All available reviews 
#(DONT RUN THIS CELL!!! RUN ONLY IF YOU WANT TO SCRAPE ALL AVAILABLE REVIEWS)
#JANGAN DI RUN KODE INI, KECUALI ANDA INGIN SCRAPE SEMUA REVIEWS SEKALIGUS
from google_play_scraper import Sort, reviews_allresult = reviews_all(
'com.gojek.app', #domain Aplikasi yang ingin discrape
sleep_milliseconds=0, # defaults to 0
lang='id', # defaults to 'en'
country='id', # defaults to 'us'
sort=Sort.NEWEST, # defaults to Sort.MOST_RELEVANT , you can use Sort.NEWEST to get newst reviews
)

2. Mengekstrak Ulasan sesuai dengan jumlah yang ditentukan

#Scrape desired number of reviews
#Jalankan kode ini jika ingin scrape data dengan jumlah tertentu. Ganti (misal, ingin scrape sejumlah 1000, maka ganti kode , count = 1000 )
from google_play_scraper import Sort, reviewsresult, continuation_token = reviews(
'com.gojek.app', #domain Aplikasi yang ingin discrape
lang='id', # defaults to 'en'
country='id', # defaults to 'us'
sort=Sort.MOST_RELEVANT, # defaults to Sort.MOST_RELEVANT you can use Sort.NEWEST to get newst reviews
count=100, # defaults to 100
filter_score_with=None # defaults to None(means all score) Use 1 or 2 or 3 or 4 or 5 to select certain score
)

Tahap 4: Mengubah ulasan yang telah diekstrak menjadi Pandas DataFrame

df_raw = pd.DataFrame(np.array(result),columns=['review'])df_raw = df_raw.join(pd.DataFrame(df_raw.pop('review').tolist()))df_raw.head()

Tahap 5: Menghitung jumlah data yang berhasil diekstrak

#Menghitung jumlah data yang berhasil didapatkan
len(df_raw.index)

Tahap 6: Menampilkan Data kolom User, score, at dan review

#menampilkan hanya kolom Username, score, at, dan review
df_raw[['userName', 'score','at', 'content']].head()

Tahap 7: Mengelompokkan dan mengurutkan data berdasarkan ulasan terbaru

#Jalankan jika ingin mengelompokkan data berdasarkan ulasan terbarudf_new = df_raw[['userName', 'score','at', 'content']]
df_sorted = df_new.sort_values(by='at', ascending=False) #Sort by Newst, change to True if you want to sort by Oldest.
df_sorted.head()

Tahap 8: Mengambil Data User, Score, at dan content menjadi dataset baru

#Mengambil data hanya username, rating, date-time dan review
df_scrape = df_sorted[[‘userName’, ‘score’,’at’, ‘content’]]
df_scrape.head()

Tahap 9: Menyimpan dataset dalam file .csv

#menyimpan hasil scrape dalam file .csv
df_scrape.to_csv("scrapped_data.csv", index = False)

Untuk source code-nya bisa dilihat disini

Reference: https://www.linkedin.com/pulse/how-scrape-google-play-reviews-4-simple-steps-using-python-kundi/

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

L. Muh Khaerunnizar
L. Muh Khaerunnizar

Written by L. Muh Khaerunnizar

0 Followers

Fresh graduate in Industrial Engineering, but often get confused in life and then decide to changes career path to data analyst

No responses yet

Write a response