Pengalaman Manipulasi Halaman Web Memakai Package RVest, RSelenium dan RCrawler
Selasa, 05 Mei 2020
Pemrograman R Studio
Manipulasi ini didasarkan pengalaman saya yang kesulitan untuk memanipulasi halaman-halaman web yang informasinya akan saya scrap. Sebenarnya sudah pernah bisa namun memakain package berikut, tapi ada yang kurang 😑 dari package tersebut, berikut :
RVest : package ini memang biasanya digunakan untuk scraping data, namun jika saya perhatikan sepertinya package ini hanya bisa scraping data dari web pasif. (cmiiw). dan kebutuhannya tidak hanya scraping data, tapi saya perlu juga ada atifitas lain, seperti login, klik tombol atau mengisi setiap field (text box) yang digunakan untuk parameter tertentu.
RSelenium : package yang satu ini memang luar biasa, selain coding yang mudah dimengerti, package ini juga mendukung kebutuhan saya untuk melakukan manipulasi login, klik tombol, dll. Namun sayangnya untuk menggunakan fitur RSelenium tersebut saya harus menggunakan aplikasi lain, yaitu docker.. tentunya ini cukup memakan space memory dan kurang efisien. 😪
Dan akhirnya jatuh hati 😍 lah dengan package yang sejauh ini sudah sanngat membantu dalam proses scraping data.
RCrawler : yaps.. sesuai namanya, package ini memang untuk crawler alias scraping, grabbing dsb. fitur yang menurut saya luar biasa adalah adanya tools untuk mengeksekusi Script JavaScript. dalam hal ini saya menggunakan DOM (Data Manipulation Object) untuk merubah, mengisi, melakukan semua aktifitas scrapping ditarget halaman web yang saya maksud. dan diluar hal itu, tentunya sudah mendukung session yang dibutuhkan saat perlu login. 😛😛
Sejauh ini saya sudah menggunakan Rcrawler diduetkan dengan RVest, XTable, Dplyr, XML, xlsx RDComclient untuk memudahkan dalam case (dibaca : pekerjaan rutin) berikut :
Invalid Day ==> mengirim semua informasi salah jadwal ke email user. Data diambil dari aplikasi yang membutuhkan login, klak klik semua parameter untuk menarik data, scraping hasil tarikan data, olah data data menggunakan xlsx dan dplyr, buat email masal menggunakan RDComclient dan pulaaaaaaaaaanggg.... 😆😆😆