[ASK] Bagaimana Cara Scraping Data Bayback Emas Antam?


AnsoriFaiz01

Beginner 1.0
Halo teman², maaf ingin tanya nih barangkali pernah ada yg pernah ngerjain. Untuk mengambil data harga buyback emas dari website ANTAM bagaimana ya, apakah ini memungkinkan jika hanya menggunakan PHP, dan apakah data yang dihasilkan nanti selalui update sesuai web ANTAM? Data harga ini saya butuhkan untuk perhitungan nishab zakat.

Terimakasih.
 
mungkin rekomendasi pake python + beautifulsoup4

kalau pake php biasanya pakai function file_get_contents, atau bisa pakai curl. tapi gak work kalau di web mereka tampilan price nya pake js atau di inject pake js.
 
Halo teman², maaf ingin tanya nih barangkali pernah ada yg pernah ngerjain. Untuk mengambil data harga buyback emas dari website ANTAM bagaimana ya, apakah ini memungkinkan jika hanya menggunakan PHP, dan apakah data yang dihasilkan nanti selalui update sesuai web ANTAM? Data harga ini saya butuhkan untuk perhitungan nishab zakat.

Terimakasih.
cb shrae web nya tuan,
kalo web nya ada menyediakan API , lebih mudah.
tapi kalo mau nyuri bisa juga, itu pun tergantung security web nya. ^_^
 
kalau PHP kurang tau, tpi ga saran krn performa jg sih, kalau jalan di server spek kecil-menengah pake bahasa yg compiled to machine code kyk C, Java atau Golang lebih efisien.

saya biasa pakai golang, disitu ada dependency/library untuk scrapping bisa pake ini: https://github.com/gocolly/colly.
pernah make tpi pas pandemi 2021-2022 waktu library itu blm populer bgt, skrg udh bagus mungkin, jd klo bisa golang bisa pake itu.
kebetulan golang ga susah jg belajar seminggu udh bisa buat scrapper sederhana harusnya. apalagi tanya2 AI skrg udh pinter bgt, bisa belajar 3 hari udh bikin sesuatu.

buat kasus yg disebut, setau saya itu level lanjutan, jd nnti butuh simulasikan user login baru bisa akses data layaknya kita buka webnya (bedanya ini disimulasiin sama aplikasinya scrapper nya). buat soal memungkinkan cuma modal golang doang apa ngga, jawabannya "iya, mungkin banget" :)
 
Last edited:
bagaimana cara mengintregasikannya pak, jika webserver kita menggunakan nginx :77:
kurang lebih kayak gini step2nya. nnti nginx dipasang di port 80 & 443 buat https, golangnya jalan di localhost port 8877 misal, nginxnya diatur buat konek ke localhost:8877 itu. jd scrappernya itu ngoding make golang dulu, nnti golang itu udh ada "net/http" dia fungsinya sama kyk nginx gitu bisa nerima http/https. kalo emg make nginx, berarti nginx diatur supaya forward traffic ke server golang nya (sesuai tutorial itu).

tpi biasanya lebih bagus dari golangnya langsung koding supaya ga perlu masang nginx/apache lagi karna ada overhead buat transfer data antar-aplikasi (extra memory usage, extra cpu usage krn OS harus handle 2 app berbeda cuma buat scrapping). buat web application, golang udh termasuk lengkap krn udh cukup tua jg umurnya, jd bnyk library2 yg udh efisien:
1. untuk ganti nginx/apache: https://github.com/gin-gonic/gin
2. untuk scrapping dari website: https://github.com/gocolly/colly
3. untuk database: https://github.com/hypermodeinc/badger

kalau proyek pribadi dan bukan buat prusahaan yg bakal dimanage sama tim developer lain, saran saya mending hindari laravel (php) & mysql karna 2 itu susah klo di vps spek kecil-menengah, ada optimisasi2 khusus supaya efisien bgt resource nya. nnti fokusnya bukannya ngembangin aplikasi malah fokus nyari cara supaya ga lemot atau sejenis itu, jd milih alat2nya hrs hati2 jg klo spek server terbatas :) krn nnti bisa pusing optimisasi klo dari awal asal milih apache/nginx atau alat2 lain tpi ga mempertimbangkan jangka panjang
 
Last edited:
kurang lebih kayak gini step2nya. nnti nginx dipasang di port 80 & 443 buat https, golangnya jalan di localhost port 8877 misal, nginxnya diatur buat konek ke localhost:8877 itu. jd scrappernya itu ngoding make golang dulu, nnti golang itu udh ada "net/http" dia fungsinya sama kyk nginx gitu bisa nerima http/https. kalo emg make nginx, berarti nginx diatur supaya forward traffic ke server golang nya (sesuai tutorial itu).

tpi biasanya lebih bagus dari golangnya langsung koding supaya ga perlu masang nginx/apache lagi karna ada overhead buat transfer data antar-aplikasi (extra memory usage, extra cpu usage krn OS harus handle 2 app berbeda cuma buat scrapping). buat web application, golang udh termasuk lengkap krn udh cukup tua jg umurnya, jd bnyk library2 yg udh efisien:
1. untuk ganti nginx/apache: https://github.com/gin-gonic/gin
2. untuk scrapping dari website: https://github.com/gocolly/colly
3. untuk database: https://github.com/hypermodeinc/badger

kalau proyek pribadi dan bukan buat prusahaan yg bakal dimanage sama tim developer lain, saran saya mending hindari laravel (php) & mysql karna 2 itu susah klo di vps spek kecil-menengah, ada optimisasi2 khusus supaya efisien bgt resource nya. nnti fokusnya bukannya ngembangin aplikasi malah fokus nyari cara supaya ga lemot atau sejenis itu, jd milih alat2nya hrs hati2 jg klo spek server terbatas :) krn nnti bisa pusing optimisasi klo dari awal asal milih apache/nginx atau alat2 lain tpi ga mempertimbangkan jangka panjang
baik Pak,
Kalo Laravel kan mesti ada aplikasi php dan nginx Dan MySQL juga,

apakah golang ini bisa berdiri sendiri Tampa bantuan php atau MySQL Pak..? untuk buat website seperti Laravel
 
baik Pak,
Kalo Laravel kan mesti ada aplikasi php dan nginx Dan MySQL juga,

apakah golang ini bisa berdiri sendiri Tampa bantuan php atau MySQL Pak..? untuk buat website seperti Laravel
bisa berdiri sendiri.
itu 3 link github yg dikasih sebelumnya kebetulan beberapa yang populer udh bisa bikin 1 proyek sederhana (web server + scrapping + database).
cukup install golangnya misal di laptop, nnti buat folder baru disitu tulis kodingannya (minimal 1 file main.go), baru make CMD windows ketik "go build" buat ngecompile jadi file .exe, klo mau compile untuk linux bisa tanya chatgpt/gemini step2nya gmn.
nanti kalo sudah di compile itu ga perlu install golang di vps krn bisa lgsg jalanin aja kyk file biasa (permission ganti make "chmod +x namaFile").

Badger = gantinya MySQL. tpi klo butuh make mysql bisa minta chatgpt/gemini ajarin cara nyambungin ke mysql gmn.
Gin = gantinya apache/nginx. jd sebenernya gaperlu make apache/nginx lagi klo udh make golang, kecuali emg use case kita butuh bgt nginx/apache.

laravel itu kan framework, jd kalau untuk proyek kecil & pribadi terlalu kompleks krn ada learning curve nya sendiri. make golang lebih to the point krn mau bikin fitur apa tinggal tulis kodenya, compile, jalanin di server. klo kodingannya udh final ga bakal nambah fitur lagi, tinggal copas aja file hasil compile tadi ke server2 baru, gaperlu setup2 kyk laravel lgi, enaknya disitu

klo saya sih biar ga pusing biasanya ga bakal make SQL kecuali klo data-data di aplikasinya itu saling berhubungan (misal olshop kyk tokped, akun user itu punya hubungan ke riwayat pembelian, keranjang belanja, saldo akun, gitu2). klo app kita ngolah data yg ga ada relasi bisa pake NoSQL aj kyk Redis atau buat kasus golang make Badger itu
 
Back
Top