Sitemap

Scrap Data dengan Python

3 min readFeb 27, 2024

--

Press enter or click to view image in full size

Berawal dari hobi nonton bola, sampai ada pada satu titik ketika ingin melihat jadwal pertandingan harus bolak-balik ke kolom pencarian Google mencari jadwal pertandingan bola atau informasi lain seperti berita, klasemen, statistik dan lainnya, yang ternyata untuk mendapatkan informasi lengkap tersebut tidak bisa di dapatkan dalam satu situs yang sama, melainkan terpisah di beberapa website.

Hal tersebut ternyata tidak efektif dan memakan banyak waktu, sekaligus menimbulkan pertanyaan “Apakah tidak ada situs yang menyediakan informasi lengkap tentang berita sepak bola khususnya liga Indonesia ?
Dari pertanyaan tersebut akhirnya coba untuk research ke beberapa situs, termasuk salah satunya situs resmi liga Indonesia yaitu https://ligaindonesiabaru.com tetapi ternyata situsnya cukup lambat untuk di akses, hal itu jadi masalah besar bagi orang tidak sabaran seperti saya.
Seperti biasanya, ketika ada masalah saya selalu penasaran apakah ada solusi untuk masalah tersebut ?

Get Agis R Herdiana’s stories in your inbox

Join Medium for free to get updates from this writer.

Kemudian saya mendapatkan ide untuk memecahkan masalah tersebut dengan cara membuat API yang nantinya bisa di konsumsi oleh beberapa aplikasi yang rencananya akan saya buat nanti. Tetapi masalah tersebut tidak hanya berhenti disitu, melainkan tidak adanya akses ke sumber database yang menyediakan informasi tersebut. Saya harus memutar kembali otak agar mendapatkan solusi yang tepat.
Sampai akhirnya setelah research dan menemukan solusi yang saya anggap tepat yaitu “Scrap Data”.

Press enter or click to view image in full size

Scrap data adalah proses pengumpulan informasi dari berbagai sumber di internet secara otomatis dengan menggunakan perangkat lunak atau skrip khusus. Teknik ini sering digunakan untuk mengumpulkan data dari situs web, forum online, media sosial, atau sumber informasi lainnya untuk berbagai tujuan, seperti analisis data, riset pasar, monitoring kompetitor, atau pengumpulan berita.

Proses scraping data biasanya melibatkan penggunaan program komputer atau skrip untuk mengekstrak informasi tertentu dari halaman web, seperti teks, gambar, atau data terstruktur lainnya. Penggunaan scrap data harus memperhatikan aturan dan kebijakan yang berlaku di situs web yang diambil datanya, karena beberapa situs web melarang atau membatasi penggunaan teknik scraping untuk mengakses informasi mereka.

Setelah menganalisa teknik yang akan di pakai, saya memutuskan untuk menggunakan bahasa pemrogramman Python dalam proses Scrap Data ini, pertimbangannya karena Python sudah familiar digunakan dalam proses ini, selain itu juga hal yang tidak kalah penting karena Python ini termasuk bahasa pemrogramman yang mudah di pelajari karena sebelumnya saya tidak ada pengalaman sama sekali dalam penggunaan si Python ini ^_^.

Akar masalah ada, solusi sudah di temukan, tinggal menentukan sumber informasi mau di ambil dari situs mana, karena teknik scraping ini lumayan cukup tricky. Saya harus pandai menentukan situs atau website penyedia informasi karena situs tersebut harus memiliki struktur yang rapi dan tidak boleh acak-acakan, hal itu untuk mempermudah dalam membaca tiap elemen website dan meminimalisir kemungkinan terjadinya error.
Setelah semua analisa selesai proses development pun dimulai, dana akhirnya saya berhasil merilis beberapa endpoint yang sudah bisa di konsumsi secara online, adapun untuk dokumentasinya bisa di baca di https://ligaindonesia-api.vercel.app/docs.

Selain itu API ini sudah saya kontribusikan juga di daftar API lokal Indonesia, dimana reposiotry ini berisi kumpulan API yang bisa di akses secara gratis oleh publik dan di kembangkan oleh beberapa developer. Untuk repository nya bisa di akses di https://github.com/farizdotid/DAFTAR-API-LOKAL-INDONESIA.
Kedepannya saya masih akan mengembangkan API ini untuk penambahan beberapa endpoint yang belum selesai di garap supaya lebih lengkap dan informatif. Tidak lupa saya juga sedang mengembangkan aplikasi mobile-nya :)
Happy coding ^_^

--

--