Web
scraping merupakan cara pengambilan data dari sebuah website. Dibandingkan
dengan melakukan pengambilan data secara manual. Web scraping menggunakan
sebuah program lebih mudah untuk mengambil data dan dengan waktu yang singkat.
Web scraping
review sebuah aplikasi bermanfaat untuk mendapatkan informasi atas kepuasan
konsumen. Dengan memilki pengetahuan tersebut, pihak pengembang aplikasi dapat terbantu
dalam meningkatkan layanan.
Selain
itu di luar pihak pengembang aplikasi dapat juga digunakan untuk penelitian
sentiment analisis mengenai kepuasan user aplikasi tersebut.
Untuk
dapat melakukan web scraping, dapat dilakukan secara manual maupun otomatis. Otomasi
web scraping akan mempermudah dan mempercepat untuk mendokumentasikan data dari
website.
Kita dapat
menggunakan library Python yang tersedia untuk mengambil review aplikasi dari
Google Play Store. Menggunakan python bisa menjadi salah satu pilihan cara,
jika perlu mengekstrak data dalam jumlah besar.
Dalam artikel
ini akan menggunakan sebuah program dengan menggunakan library “google_play_scraper”
dari bahasa pemrograman python
Langkah
pertama dalam membuat program untuk web scraping review sebuah aplikasi dari
play store menggunakan python adalah menginstall library “google_play_scraper” setelah
membuka jupyter notebook dengan cara ketikkan “pip install google_play_scraper”
lalu jalankan, tunggu hingga proses selesai.
Selanjutnya
install pandas dengan cara ketik “pip install pandas’ lalu jalankan dan tunggu
hingga proses installasi selesai.
Kemudian setelah proses
installasi library yang diperlukan selesai lanjut dengan mengimport library yang diperlukan menggunakan kode
berikut:
import pandas as pd import numpy as np from google_play_scraper import app from google_play_scraper import Sort, reviews_all |
Selanjutnya jika ingin mengambil
semua data review aplikasi yang diinginkan menggunakan kode berikut untuk scrape semua review, caranya buka
playstore di browser cari aplikasi yang akan discrape reviewnya kemudian dari URL
yang ada, copy bagian seperti contoh yang diblok warna kuning lalu masukkan pada
kode seperti contoh.
https://play.google.com/store/apps/details?id=com.tokopedia.tkpd&hl=id-ID
#scrape semua review reviews = reviews_all( '
com.tokopedia.tkpd ', # aplikasi yang di scrape reviewnya sleep_milliseconds =0, lang = 'id', country = 'id', sort = Sort.NEWEST ) |
Jika hanya
ingin mengambil data dalam jumlah tertentu, contoh hanya mengambil 100 review aplikasi
tokped dari playstore masukkan pada kode seperti contoh untuk aplikasinya dan jumlah
review sesuai yang diinginkan pada bagian “count”.
#scrape sejumlah review from google_play_scraper import Sort, reviews result, continuation_token = reviews( '
com.tokopedia.tkpd ', # aplikasi yang di scrape reviewnya lang = 'id', country = 'id', sort = Sort.NEWEST, count = 100, #jumlah banyak review filter_score_with =
None ) |
Untuk menampilkan
hasilnya
result |
Dari hasil yang didapat berisi “reviewId”,
“username”, “userImage”, “content”, “score”, “thumbsUpCount”, “reviewCreatedVersion”,
“at”, “replyContent”, “repliedAt”, dengan data dalam bentuk dictionary. Setelah
itu ubah hasil scrape menjadi Pandas DataFrame untuk mempermudah pengolahan
data. Setelah diubah menjadi Pandas DataFrame data akan berbentuk table. Gunakan
.head(10) untuk menampilkan 10 baris awal dari data.
rev_df = pd.DataFrame(result) rev_df.head(10) |
Selanjutnya dari data yang telah
diperoleh tidak semua dipakai. Ambil hanya kolom yang diperlukan, dalam hal ini
untuk analisis sentiment. Hanya ambil kolom “userName”, “content”, “score”, “at”.
review_df = rev_df[['userName', 'content', 'score', 'at']] |
Untuk mengecek pembagian jumlah
score review menggunakan kode
review_df['score'].value_counts() |
Setelah semua berjalan dengan lancer
dan sesuai yang diinginkan, simpan sebagai data yang telah discrape menjadi file
CSV menggunakan kode.
review_df.to_csv('review_tokped.csv', index=False) |
Selain menyimpan dalam bentuk CSV
kita juga dpat menimpannya dalam bentuk excel.
review_df.to_xlsx('review_tokped.csv', index=False) |
Dalam file CSV nya, berisi scraping dengan kolom “userName”,
“content”, “score”, “at”. Dengan jumlah baris 100.
0 Komentar