Anda di halaman 1dari 10

3426 Jurnal Teknik Informatika dan Sistem Informasi ISSN 2407-4322

Vol. 9, No. 4, Desember 2022, Hal. 3426-3435 E- ISSN 2503-2933

Penerapan Web Scraping Deskripsi Produk


Menggunakan Selenium Python Dan Framework Laravel
Stephen Kusumo1, Ramos Somya2
1,2
Universitas Kristen Satya Wacana; Jl. Dr. O. Notohamidjojo No.1, Salatiga 50715,
telp/fax of (0298) 321212
3
Program Studi Teknologi Informatika, FTI UKSW, Salatiga
e-mail: 1672017027@student.uksw.edu, 2ramos.somya@uksw.edu

Abstrak
Perkembangan kegiatan jual-beli barang pada pasar online dapat berpengaruh
terhadap perkembangan perdagangan elektronik (E-Commerce). Banyak situs-situs E-
Commerce yang menawarkan produk dengan harga dan deskripsi yang berbeda. Dalam
melakukan pengolahan data produk dalam sebuah pasar online (Marketplace) tentunya
dapat menghabiskan waktu yang tidaklah sedikit bila memiliki data produk yang sangat
banyak. Keterbatasan waktu dalam mengelola data produk dapat diatasi dengan
menggunakan proses web scraping. Web scraping adalah proses pengambilan sebuah
dokumen semi-terstruktur dari internet dengan tujuan untuk mengambil data atau
informasi secara keseluruhan atau sebagian dari halaman berupa website dengan
bahasa markup seperti HTML atau XHTML untuk kepentingan yang lain. Dengan
permasalahan tersebut maka dilakukan perancangan system menggunakan selenium
dan framework laravel untuk mengambil data maupun melakukan edit data agar
menjadi lebih efisien dalam mengatur data produk yang dimiliki. Hasil dari penerapan
web scraping adalah pengguna dapat mengambil data informasi berupa deskripsi
produk dengan akurat dan cepat pada situs e-marketplace dan e-commerce yaitu
Shopee dengan menggunakan penyimpanan database MySQL.

Kata kunci: Web Scraping, Selenium, Python, Framework Laravel

Abstract
The development of buying and selling goods on the online market can affect the
development of electronic commerce (E-Commerce). Many E-Commerce sites offer
products with different prices and descriptions. Processing product data in an online
market (Marketplace) can certainly spend a lot of time if you have a lot of product data.
Time constraints in managing product data can be overcome by using a web scraping
process. Web scraping is the process of retrieving a semi-structured document from the
internet with the aim of retrieving data or information in whole or in part from a page
in the form of a website with a markup language such as HTML or XHTML for other
purposes. With these problems, a system design was carried out using selenium and the
Laravel framework to retrieve data and edit data to be more efficient in managing the
product data owned. The result of the application of web scraping is that users can
retrieve information data in the form of product descriptions quickly and accurately on
e-commerce sites and e-marketplaces, namely Shopee using MySQL database storage.

Keywords: Web Scraping, Selenium, Python, Framework Laravel

http://jurnal. mdp.ac.id jatisi@mdp.ac.id


Jatisi ISSN 2407-4322
Vol. 9, No. 4, Desember 2022, Hal. 3426-3435 E- ISSN 2503-2933 3427

1. PENDAHULUAN

Kehidupan manusia yang modern ini, internet sudah menjadi kebutuhan yang
penting. Dengan internet berkembangnya teknologi dan kebutuhan informasi
mengalami banyak perkembangan. Perkembangan dalam dunia bisnis yang produknya
merupakan e-commerce adalah salah satu pengaruh dari berkembangnya teknologi dan
internet [1]. E-Commerce adalah proses jual-beli barang maupun jasa secara elektronik
dengan menggunakan teknologi digital dan jaringan internet [2]. Marketplace adalah
tempat penjual dan pembeli melakukan kegiatan jual-beli produk secara elektronik [3].
Berjualan secara online menggunakan situs-situs e-commerce dan marketplace menjadi
pilihan untuk para penjual dalam menawarkan barang kepada konsumen. Berjualan
secara online memberi kemudahan dalam meningkatkan perekonomian karena produk
dapat dipasarkan mulai dari didalam Kota sendiri hingga luar pulau.
Setiap produk memiliki informasi yang berbeda-beda, mulai dari deskripsi, jenis,
harga, stok produk, dan lainnya. Para penjual yang memiliki e-commerce marketplace
diharuskan untuk mengatur dan mengolah informasi data porduk agar para pembeli
dapat mengerti produk yang dijual. Dalam hal ini para penjual yang memiliki e-
commerce marketplace yang banyak harus mengolah informasi data produk secara
berulang agar sesuai dengan barang yang dimiliki. Sebagai contoh seperti banyaknya
stok yang dimiliki saat ini. Bila penjual memiliki 2 marketplace yang berbeda (A dan B)
dengan produk yang sama dan jumlah yang sama (Produk X), saat produk X terjual di
marketplace A maka stok barang akan berkurang, namun di dalam marketplace B
produk tidak mengalami pengurangan dalam jumlah stok nya. Di dalam marketplace B
penjual harus melakukan edit produk secara manual pada bagian jumlahnya agar sesuai.
Hal serupa dapat terjadi pada informasi – informasi produk yang lainnya. Penjual harus
meluangkan banyak waktu untuk selalu mengatur dan mengedit informasi produk pada
seluruh marketplace miliknya. Apabila penjual memiliki banyak marketplace dan
banyak produk maka dapat dipastikan penjual perlu banyak waktu yang tidaklah sedikit
untuk mengolah datanya dengan informasi yang terbaru.
Dalam permasalahan tersebut, Keterbatasan waktu dalam mengolah data dapat
diatasi dengan menggunakan teknik Web Scraping. Web Scraping merupakan suatu
teknik yang digunakan untuk mendapatkan suatu data atau informasi pada website
tertentu. Informasi yang didapat berupa, teks, tautan, video, audio ataupun dokumen.
Penelitian Teknik Web Scraping dilakukan dengan batasan-batasan yang ditetapkan.
Adapun batasannya adalah aplikasi website yang dibuat menggunakan bahasa
pemrograman PHP dan framework laravel, serta bahasa pemrograman phyton dengan
library selenium untuk penerapan scraping datanya. Target pengambilan informasi data
menggunakan marketplace Shopee dengan version: 2.54.3. Database yang digunakan
adalah database MySQL.
Dalam penelitian Mohammad Djufri penelitian menggunakan aplikasi dari
websraper.io dan instant data scraper dari webrobots.io yang merupakan extension dari
Chrome. Dalam penelitiannya diharapkan teknik web Scraping yang dilakukan terhadap
tiga situs online marketplace dapat memberi kontribusi dalam penggalian potensi pajak
dan implikasi kebijakan dalam hal pencarian data melalui internet oleh DJP [4].

Stephen, et., al [Penerapan Web Scraping Deskripsi Produk Menggunakan Selenium Python dan
Framework Laravel ]
3428 Jatisi ISSN 2407-4322
Vol. 9, No. 4, Destember 2022, Hal. 3426-3435 E-ISSN 2503-2933

Penelitian menggunakan teknik web scraping juga pernah dilakukan oleh Dhita
Deviacita A. Yani. Dalam penelitiannya dilakukan pengujian dengan menggunakan
white box testing dan black box testing. Hasil pengujian sistem telah mampu
memberikan hasil terbaik produk dari gabungan hasil pencarian di tiga situs web
marketplace sesuai kata kunci yang dimasukkan oleh pengguna [5].
Berikutnya, penelitian dilakukan oleh Dana Febri Setiawan menggunakan teknik
Parsing HTML melalui JavaScript dan menarget halaman HTML linear dan nested
dalam melakukan scraping pada beberapa marketplace. Hasil penerapan dari sistem
informasi web scraping tersebut adalah teknik web scraping dapat digunakan sebagai
pengambilan isi konten deskripsi dari produk dengan cepat dan akurat pada berbagai
situs e-marketplace dan e-commerce yang memuat deskripsi penjualanan produk [6].
Aplikasi yang dibuat memiliki tujuan agar menjelaskan bahwa pengambilan data /
Scraping pada marketplace dapat dilakukan dengan cara yang berbeda – beda dan untuk
kepentingan yang berbeda- beda mulai dari pengambilan data untuk melakukan
penghitungan pajak, informasi product untuk dilihat, maka penelitian dilakukan dengan
membuat aplikasi web Management Marketplace dengan melakukan Scraping data pada
marketplace dengan mengambil data dengan menggunakan selenium phyton.

2. METODE PENELITIAN

Pada penelitian yang dilakukan, tahapan penelitian dibagi kedalam 5 tahapan,


yaitu: 1) Analisis kebutuhan dan pengumpulan data, 2) Perancangan sistem, 3)
Perancangan aplikasi / program, 4) Implementasi dan pengujian sistem, serta analisis
hasil pengujian, 5) Penulisan laporan hasil penelitian.

Gambar 1. Tahapan Penelitian

Gambar 1 merupakan Tahapan penelitian yang dapat dijelaskan sebagai berikut:


1) Tahap pertama adalah analisis kebutuhan dan pengumpulan data. Analisis kebutuhan
dilakukan melalui observasi mengenai driver yang diperlukan, versi dari browser, dan
versi framework yang digunakan. 2) Tahap kedua adalah Design Sistem perancangan
database meliputi tabel-tabel yang digunakan dalam menyimpan data serta penentuan
hubungan relasinya dan perancangan antarmuka aplikasi yang dibuat. 3) Tahap ketiga
adalah implementasi program, yaitu merancang aplikasi dan menerapkan syntax-syntax
sesuai dengan kebutuhan sistem berdasarkan perancangan yang sudah dilakukan.
Bahasa pemrograman yang dipakai adalah Phyton dan PHP 4) Tahap keempat adalah
pengujian sistem. 5) Tahap kelima adalah penulisan laporan hasil penelitian. Tahap ini
dilakukan dokumentasi proses dari tahap awal sampai tahap akhir dalam bentuk tulisan
ilmiah.

Stephen, et., al [Penerapan Web Scraping Deskripsi Produk Menggunakan Selenium Python dan
Framework Laravel ]
Jatisi ISSN 2407-4322
Vol. 9, No. 4, Desember 2022, Hal. 3426-3435 E- ISSN 2503-2933 3429

2.1 Kajian Pustaka

2.1.1 Framework
Framework merupakan sebuah software yang memudahkan para programmer
untuk membuat sebuah aplikasi web yang di dalam nya memiliki berbagai fungsi seperti
plugin, dan konsep untuk membentuk suatu sistem tertentu agar tersusun dan
tersetruktur dengan rapi. Dengan menggunakan framework bukan berarti akanterbebas
dengan pengkodean. Sebagai seorang pengguna framework diharuskan menggunakan
fungsi dan variabel yang berada dalam sebuah framework yang sedang digunakan [7].

2.1.2 MySQL
MySQL adalah database yang berfungsi dan bekerja pada sistem Linux dan
Unix. Seiring waktu berjalan serta peminat yang semakin banyak dalam menggunakan
database, MySQL kemudian melakukan rilis versi yang membuat MySQL dapat diinstal
pada hampir semua platform. MySQL dapat didownload dan dipakai tanpa perlu
membayar. Meskipun kita ingin menjual sebuah produk dengan menyertakan software
MySQL, kita tidak akan melanggar hak cipta [8].

2.1.3 Phyton
Python adalah bahasa pemrograman yang dinamis karena mendukung
pemrograman berbasis objek. Python memiliki beberapa lisensi yang berbeda dari
bnyak versi yang ada. Pada prinsipnya Python dapat dimiliki dan dapat kita gunakan
dengan bebas, bahkan sebagai kepentingan komersial [9].

2.1.4 Laravel
Laravel adalah salah satu framework PHP yang digunakan untuk membangun
aplikasi web. Framework ini digunakan oleh banyak Web Developer karena fungsi fitur-
fitur nya sangat banyak, kinerja menjadi lebih efektif. Framework ini menggunakan
struktur Model View Controller (MVC). MVC adalah sebuah metode aplikasi dengan
memisahkan data dari tampilan berdasarkan komponen – komponen aplikasi,
contohnya: controller, view, model, database, migration [10].

2.1.5 Selenium
Selenium adalah satu satu bot yang dapat mengunjungi web secara otomatis.
Selenium biasanya dipakai untuk web scriping dan aplikasi bot lainnya. Selenium
menggunakan driver browser dalam menjalankan perintah untuk mengunjungi web,
dengan menggunakan selenium pengguna dapat membuka browser tanpa menampilkan
UI / dengan kata lain pengguna dapat menjalankan browser tanpa menggunakan
tampilan dari browser tersebut [11].

Stephen, et., al [Penerapan Web Scraping Deskripsi Produk Menggunakan Selenium Python dan
Framework Laravel ]
3430 Jatisi ISSN 2407-4322
Vol. 9, No. 4, Destember 2022, Hal. 3426-3435 E-ISSN 2503-2933

3. HASIL DAN PEMBAHASAN

3.1 Use Case Diagram


Penelitian dilakukan dengan membuat Use Case diagram yang disajikan pada
gambar 2, berikut:

Gambar 2. Usecase Diagram dari Aplikasi


Pada Gambar 2 menunjukan penggambaran usecase diagram untuk pengguna sistem
yang telah dibangun. Aktor sebagai pengguna dapat menambakan data, delete data dan
edit data serta melakukan sinkron data pada aplikasi.

3.2 Tampilan Web


Tampilan awal hasil dari pembuatan disajikan dalam gambar 3,berikut:

Gambar 3. Tampilan Web

Gambar 3 merupakan halaman utama dari sistem. Halaman utama sistem


memiliki beberapa fungsi seperti total marketplace yang ada, total user, total product,
dan notification.

3.3 Tampilan Menu Produk

Pada tampilan menu produk, akan menampilkan semua hasil product dari toko
online yang user sudah syncronisasikan.

Stephen, et., al [Penerapan Web Scraping Deskripsi Produk Menggunakan Selenium Python dan
Framework Laravel ]
Jatisi ISSN 2407-4322
Vol. 9, No. 4, Desember 2022, Hal. 3426-3435 E- ISSN 2503-2933 3431

Gambar 4. Tampilan Menu Item Product List

Pada Gambar 4 Product dapat muncul ketika berhasil melakukan sinkronisasi


data pada toko online, Menu Edit untuk mengedit product toko online anda dan
database, Menu delete untuk melakukan delete product anda dari database Aplikasi,
Menu link untuk Menuju ke-url product anda yang berada pada marketplace.

Gambar 5. Tampilan Edit Item

Pada Gambar 5. Merupakan tampilan edit item, Terdapat button Syncron from
Marketplace digunakan untuk melakukan sinkronisasi product dari marketplace agar
database menjadi sesuai dengan marketplace. Tombol Link untuk berpindah ke-url
product pada marketplace. Back untuk kembali ke tampilan sebelumnya, tombol Edit
digunakan ketika pengguna melakukan klik data yang berada dalam tampilan sehingga
dapat mengubah detail produk pada toko online anda sesuai dengan yang ada di
tampilan.

3.4 Kode Program


Beberapa contoh kode program dalam melakukan pengambilan data / scraping
disajikan dalam kode program 1 dan kode program 2, berikut:

Stephen, et., al [Penerapan Web Scraping Deskripsi Produk Menggunakan Selenium Python dan
Framework Laravel ]
3432 Jatisi ISSN 2407-4322
Vol. 9, No. 4, Destember 2022, Hal. 3426-3435 E-ISSN 2503-2933

Kode Program 1 Syncron from Marketplace


1. private function update(Request $request,$id){
2. $items = Item::all();
3. $variants = Variant::all();
4. $accounts = MarketAccount::find($id);
5. $password=Crypt::decryptString($accounts->password);
6. $myObj=["action" => "syncron_all","id" => $id, email" => "$accounts-
>email","password" => "$password",];

Fungction berikut merupakan salah satu fungsi untuk melakukan update data
setelah mengirim permintaan Syncron dengan menekan tombol “button Syncron from
Marketplace”

Kode Program 2 kode program phyton Syncron data


1. class Shopee:
2. def SkuChildGet(data,search):
3. total_variants,product_id,data_detail,data_detail_fail = [],[],[],[]
4. driver.get("https://seller.shopee.co.id/portal/product/"+search)
5. driver.implicitly_wait(50)
6. sku_vars = driver.find_element(By.XPATH, sku_field)
7. sku_products = sku_vars.get_attribute('value')
8. price_field = "//div[@class='variation-model-table']/descendant-or-
self::div[@class='flex'][2]/div/div[" + \sku_column_num+"]/child::div[2]/div[" +
\sku_num + \"]/child::div[@class='table-cell'][2]/descendant::input"
9. stock_products = stock.get_attribute('value')}

Setelah script phyton dalam melakukan scraping dijalankan, maka return


kembaliannya dikirim berbentuk json, yang nantinya dapat di baca oleh php untuk
dimasukan kedalam database.

3.5 Pengujian Sistem


Metode blackbox digunakan untuk pengujian aplikasi, karena blacknox adalah
pengujian fungsionalitas dan tidak perlu memperhatikan alur eksekusi dari suatu
program program, melainkan apakah program dari setiap fungsi di aplikasi berjalan
sesuai / tidak. Pengujian aplikasi dapat ditunjukan pada Tabel 1.

Tabel 1. Hasil Pengujian Fungsionalitas Sistem


Module yang Data Input / Hasil yang
No Hasil Uji Status
Diuji Kondisi Diharapkan
Button di Klik Add berhasil Add Berhasil Valid
Button Add
1 Merchant
Tidak ada Inputan Notification notification Valid
Account
gagal gagal

Keluar hasil Keluar hasil Valid


Button di klik
Button dan data dan data
Syncron from masuk masuk
2 Marketplace database database
sesuai nama sesuai nama
Button tidak di klik
Hasil tidak Hasil tidak Valid

Stephen, et., al [Penerapan Web Scraping Deskripsi Produk Menggunakan Selenium Python dan
Framework Laravel ]
Jatisi ISSN 2407-4322
Vol. 9, No. 4, Desember 2022, Hal. 3426-3435 E- ISSN 2503-2933 3433

keluar keluar

Berpindah Berpindah
Klick menu items
halaman ke halaman ke Valid
tampilan tampilan
items items
3 Menu Items

Tidak Tidak
Menu items tidak di
berpindah berpindah Valid
klik
halaman halaman
Mengambil Mengambil
semua data semua data
items pada items pada
Button di klik Valid
marketplace marketplace
dan disimpan dan disimpan
dalam dalam
Button
4 database database
syncron

Tidak ada Tidak ada


Button tidak di klik Valid
data data
tersimpan tersimpan

Berpindah Berpindah
halaman ke halaman ke
Button di klik menu edit menu edit Valid
Button edit Item List Item List
5 pada menu
Items List
Button tidak di klik Hasil tidak Hasil tidak Valid
keluar keluar

Dari pengujian yang dilakukan, hasil dari sistem berjalan tanpa adanya masalah
dan dapat sesuai dengan apa yang dibutuhkan pengguna. Sistem ini membuktikan
bahwa menggunakan selenium untuk melakukan scraping data dengan phyton dapat
dilakukan serta data tersebut dapat diambil dan disimpan kedalam database.

4. KESIMPULAN

Berdasarkan penelitian dan pengujian yang dilakukan, maka dapat disimpulkan


bahwa melakukan web scraping dengan phyton dan framework Laravel dapat dilakukan
dengan bantuan Selenium. Selain itu, Sistem ini dapat mempermudah user dalam
pengambilan data items dari marketplace secara cepat.

Stephen, et., al [Penerapan Web Scraping Deskripsi Produk Menggunakan Selenium Python dan
Framework Laravel ]
3434 Jatisi ISSN 2407-4322
Vol. 9, No. 4, Destember 2022, Hal. 3426-3435 E-ISSN 2503-2933

5. SARAN

Adapun yang diperlukan sistem yaitu pengembangan system keamanan. Selain itu
penamambahan dan pembaharuan fungsi dalam pengambilan data melalui marketplace
yang lain.

DAFTAR PUSTAKA

[1] R. Yustiani et al., “Ilmiah Komputer dan Peran Marketplace Sebagai Alternatif
Bisnis di Era Ilmiah Komputer dan,” Vol. 6, No. 2, 2017.

[2] N. Wahyuni, A. I. S. M. S., and G. Akbar, “Pengenalan dan Pemanfaatan


Marketplace E-commerce untuk Pelaku UKM Wilayah Cilegon,” J. Pengabdi.
Din., Vol. 1, No. 6, pp. 31–39, 2018.

[3] J. Zhang, M. X. Cai, T. Lu, X. H. Sun, and J. L. Jia, “Lumbar Spinal Stenosis
Treated With Polyetheretherketone Pedicle Screw Fixation Combined With
Interbody Fusion: A Follow-Up Assessment Focusing On Bone Fusion Rate,”
Chinese J. Tissue Eng. Res., Vol. 20, No. 12, pp. 1684–1689, 2016, doi:
10.3969/j.issn.2095-4344.2016.12.002.

[4] M. Djufri, “Penerapan Teknik Web Scraping Untuk Penggalian Potensi Pajak
(Studi Kasus pada Online Market Place Tokopedia, Shopee dan Bukalapak),” J.
BPPK Badan Pendidik. dan Pelatih. Keuang., Vol. 13, No. 2, pp. 65–75, 2020,
doi: 10.48108/jurnalbppk.v13i2.636.

[5] D. D. Ayani, H. S. Pratiwi, and H. Muhardi, “Implementasi Web Scraping untuk


Pengambilan Data pada Situs Marketplace,” Vol. 7, No. 4, pp. 257–262, 2019.

[6] D. F. Setiawan, T. Tristiyanto, and A. Hijriani, “Aplikasi Web Scraping


Deskripsi Produk,” J. Teknoinfo, Vol. 14, No. 1, p. 41, 2020, doi:
10.33365/jti.v14i1.498.

[7] T. C. A.-S. Zulkhaidi, Yulianto, and Suswanto, “Implementasi Sistem Informasi


Penjualan Produk Elektronik Berbasis Web Dengan Menggunakan Laravel
Framework,” Bul. Poltanesa, Vol. 20, No. 2, pp. 51–56, 2019, doi:
10.51967/tanesa.v20i2.309.

[8] J. F. Rini Sovia, “Membangun Aplikasi E-Library Menggunakan HTML, PHP


SCRIPT, dan MySQL DATABASE Rini Sovia dan Jimmy Febio,” Processor, Vol.
6, No. 2, pp. 38–54, 2011.

[9] K. R. Srinath, “Python – The Fastest Growing Programming Language,” Int.


Res. J. Eng. Technol., pp. 354–357, 2017.

Stephen, et., al [Penerapan Web Scraping Deskripsi Produk Menggunakan Selenium Python dan
Framework Laravel ]
Jatisi ISSN 2407-4322
Vol. 9, No. 4, Desember 2022, Hal. 3426-3435 E- ISSN 2503-2933 3435

[10] I. G. Handika and A. Purbasari, “Pemanfaatan Framework Laravel Dalam


Pembangunan Aplikasi E-Travel Berbasis Website,” Konf. Nas. Sist. Inf. STMIK
Atma Luhur Pangkalpinang, pp. 1329–1334, 2018.

[11] D. A. N. Marketplace and D. Teknik, “Implementasi Web Scraping Untuk


Mengumpulkan Informasi Produk dari Situs E-Commerce,” Vol. 10, No. 01,
2022.

Stephen, et., al [Penerapan Web Scraping Deskripsi Produk Menggunakan Selenium Python dan
Framework Laravel ]

Anda mungkin juga menyukai