Scraping Data Pada Situs Bukalapak Menggunakan Program R

Web Scraping

Web scraping adalah proses yang melibatkan pengambilan dokumen semi terstruktur dari internet, umumnya berupa halaman web dalam bahasa markup seperti HTML atau XHTML yang bertujuan untuk mengekstrak data tertentu untuk kemudian digunakan dalam konteks lain.
Josi, et al. (2014) dalam penelitiannya memaparkan bahwa web scraping memiliki sejumlah langkah, diantaranya :
  1. Create Scraping Template : Pembuat program mempelajari dokumen HTML dari website yang akan diambil informasinya dari tag HTML yang mengapit informasi yang akan diambil;
  2. Explore Site Navigation : Pembuat program mempelajari teknik navigasi pada website yang akan diambil informasinya untuk ditirukan pada aplikasi web scraper yang akan dibuat;
  3. Automate Navigation and Extraction : Berdasarkan informasi yang didapatkan dari langkah 1 dan 2 diatas, aplikasi web scraper dibuat untuk mengetomatisasi pengambilan informasi dari website yang ditentukan; dan
  4. Extracted Data and Package History : Informasi yang didapat dari langkah 3 disimpan dalam tabel atau tabel-tabel database.
Dalam postingan ini akan dilakukan proses scraping data pada situs Bukalapak. Proses web scraping dilakukan dengan menggunakan software R 3.3.3. Sebelum melakukan proses scraping, beberapa atribut yang diperlukan diantaranya sebagai berikut :
  1. Software R dan web browser google chrome yang telah terinstal di perangkat komputer;
  2. Packages “rvest” yang telah terinstal di dalam software R;
  3. Add-extensions “selector gadget” yang di pasang pada web browser google chrome. Selector gadget berfungsi untuk melakukan seleksi CSS untuk mengetahui letak data yang akan di ekstrak pada halaman website (Tidak Wajib);
  4. Koneksi internet.

Pembahasan

Berikut adalah proses melakukan web scraping menggunakan program R
  • Menginstall packages "rvestpada program R, dapat dilakukan dengan cara menjalankan perintah install.packages("rvest")
  • Menjalankan library "rvest" dengan perintah library(rvest)
  • Membuka situs bukalapak dan memasukkan kategori terkait topik ataupun data yang akan di scrap. Pada contoh ini akan dilakukan scraping data penjualan pada kategori Fashion Wanita -> Kacamata
  • Kemudian, copy link  yang terdapat pada address bar ke dalam program R, dalam hal ini URL akan di definisikan sebagai "url". Untuk mengidentifikasi URL pada program R dapat dilakukan dengan menjalankan perintah berikut:

        url<-'https://www.bukalapak.com/c/fashion-wanita/kacamata?           source=navbar&from=navbar_categories'

  • Setelah diidentifikasi, kemudian gunakan perintah read_html untuk membaca URL ke dalam program R. Jalankan perintah berikut :
       webpage <- read_html(url)

Dalam postingan ini, akan dilakukan scraping data terhadap beberapa atribut/variabel diantaranya produk, harga, dan rating. Untuk melakukan scraping data produk, harga, dan rating dapat dilakukan dengan mempelajari dokumen HTML dari website yang akan diambil informasinya dari tag HTML yang mengapit data/informasi tersebut. Untuk dapat mengetahui letak atau tag yang mengapit informasi, maka digunakan tool selector gadget yang telah terpasang pada web browser. 

Selain dengan menggunakan selector gadget tag HTML juga dapat dilihat dengan cara melakukan right-click pada atribut yang akan di ambil informasinya, kemudian memilih (inspect (pada google chrome) atau inspect element (pada Mozilla)). Dengan menggunakan selector gadget, proses seleksi tag HTML jadi lebih mudah. 

  • Untuk mendapatkan data produk, harga, dan rating maka digunakan perintah seperti berikut :

 


Perintah html_nodes dan html_node digunakan untuk mengekstrak potongan dari dokumen HTML menggunakan pemilih CSS. Penggunaan perintah html_nodes diikuti dengan kode CSS yang menunjukkan letak informasi/data yang akan di ekstrak. Sedangkan perintah html_text dan html_attr digunakan untuk mengekstrak atribut, teks dan tag nama dari HTML (Wickham, 2016).

Data ulasan hasil scraping pada rating memiliki bentuk dan susunan yang tidak terstruktur dengan baik, maka perlu dilakukan penyusunan data agar diperoleh data dengan struktur yang lebih baik. Proses penyusunan data dilakukan dengan cara menghilangkan simbol \n (enter) yang dapat merusak susunan data, dan kemudian data disusun ke dalam bentuk data frame atau tabel. Proses penyusunan data tersebut dilakukan dengan menjalankan script berikut :




Setelah data diperoleh dalam bentuk data frame, selanjutnya data disimpan ke dalam folder penyimpanan komputer dengan format .csv, menggunakan perintah berikut :


     write.csv(tableout,"E://data.csv")  

Sehingga diperoleh tampilan data dalam format .csv seperti gambar berikut : 
  

Sekian

Semoga bermanfaat

DAFTAR PUSTAKA

Josi, A., Abdillah, L.A., Suryayusra.2014.Penerapan Teknik Web Scraping Pada Mesin Pencari Artikel Ilmiah. Jurnal Sistem Informasi, Volume 5, Nomor 2, September 2014, hlm. 159-164

Wickham, H., dan R.Studio. 2016. Easily Harvest (Scrape) Web Pages. https://cran.r-project.org/web/packages/rvest/index.html diakses tanggal 23 April 2017 pukul 16:30 WIB
Previous
Next Post »

1 comments:

Write comments


:) :( hihi :-) :D =D :-d ;( ;-( @-) :P :o -_- (o) :p :-? (p) :-s (m) 8-) :-t :-b b-( :-# =p~ $-) (y) (f) x-) (k) (h) cheer lol rock angry @@ :ng pin poop :* :v 100

Weekly