Scraping Ulasan User Google Play Menggunakan Python
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.
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.
- 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 SEKALIGUSfrom 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/