• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

Jaranguda

Belajar Mengajar

  • Home
  • Sponsor/Jasa
  • Tentang

Parsing Data Kurs HSBC dengan PHP

Last Updated on 21 March 2018 By tommy 1 Comment

Disini kita akan belajar cara untuk mengambil konten dari situs lain, pada contoh kasus ini kita mengambil data kurs dari situs HSBC Indonesia. Script lengkapnya bisa anda download dibawah

1. Parsing HTML

Untuk mem-parsing HTML dari halaman web yang akan di download, kita akan menggunakan bantuan PHP Simple HTML DOM Parser. Bila anda ingin menggunakan parser DOM bawaan PHP bisa dilihat di PHP DOM MANUAL. Untuk memudahkan pemula disini kita menggunakan PHP Simple HTML DOM Parser.

2.Sekilas Info

Link Kurs HSBC ada di https://www.hsbc.co.id/1/2/id/personal/foreign-exchange/real-time-fx-rates. Untuk mengetahui bagian mana yang akan kita ambil, view source website tersebut. Singkat cerita HSBC menyimpan data kursnya di variabel javascript, jadi semakin mudah untuk diolah.
hsbc menggunakan javascript
yang perlu di ingat dalam parsing data dari website adalah dari mana awalnya kita akan mengambil data, dan dimana akhir dari data yang akan kita ambil. Kalo menggunakan tabel (table) HTML biasanya kita akan mengambil data diantara

<table>
 
</table>

karena disini tidak menggunakan tabel, maka kita akan mengambil mulai dari var FXRATES = sampai ;

3.Script Lengkap

<?php
 
include_once 'simple_html_dom.php';
 
function ambilURL($url) {
	$curl = curl_init();
	curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36");
	curl_setopt($curl, CURLOPT_URL, $url);
	curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
	$hasil = curl_exec($curl);
	$curl_error = curl_error($curl);
	$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
	curl_close($curl);
	return $hasil;
}
 
$urlBank = ambilURL('https://www.hsbc.co.id/1/2/id/personal/foreign-exchange/real-time-fx-rates');
$html = str_get_html($urlBank);
 
$pecahAwal = explode('var FXRATES =', $html);
$pecahAkhir = explode(';', $pecahAwal[1]);
 
preg_match_all("/\[([^\]]*)\]/", $pecahAkhir[0], $output_array);
 
$data = $output_array[1];
$kurs = array();
foreach ($data as $key => $value) {
	$pecah = explode(',', $value);
	$kurs[] = preg_replace("/[^A-Za-z0-9]/", '', $pecah);
}
var_dump($kurs);

hasil dari perintah diatas

array(11) {
  [0]=>
  array(3) {
    [0]=>
    string(3) "USD"
    [1]=>
    string(5) "13460"
    [2]=>
    string(5) "14060"
  }
  [1]=>
  array(3) {
    [0]=>
    string(3) "AUD"
    [1]=>
    string(5) "10324"
    [2]=>
    string(5) "10857"
  }
  [2]=>
  array(3) {
    [0]=>
    string(3) "GBP"
    [1]=>
    string(5) "18813"
    [2]=>
    string(5) "19745"
  }
  [3]=>
  array(3) {
    [0]=>
    string(3) "HKD"
    [1]=>
    string(4) "1715"
    [2]=>
    string(4) "1793"
  }
  [4]=>
  array(3) {
    [0]=>
    string(3) "EUR"
    [1]=>
    string(5) "16464"
    [2]=>
    string(5) "17267"
  }
  [5]=>
  array(3) {
    [0]=>
    string(3) "JPY"
    [1]=>
    string(3) "126"
    [2]=>
    string(3) "132"
  }
  [6]=>
  array(3) {
    [0]=>
    string(3) "SGD"
    [1]=>
    string(5) "10188"
    [2]=>
    string(5) "10677"
  }
  [7]=>
  array(3) {
    [0]=>
    string(3) "CHF"
    [1]=>
    string(5) "14056"
    [2]=>
    string(5) "14747"
  }
  [8]=>
  array(3) {
    [0]=>
    string(3) "CAD"
    [1]=>
    string(5) "10285"
    [2]=>
    string(5) "10801"
  }
  [9]=>
  array(3) {
    [0]=>
    string(3) "NZD"
    [1]=>
    string(4) "9636"
    [2]=>
    string(5) "10136"
  }
  [10]=>
  array(3) {
    [0]=>
    string(3) "RMB"
    [1]=>
    string(4) "2124"
    [2]=>
    string(4) "2222"
  }
}

karena data kurs sudah dalam bentuk array, tinggal pilih mau di simpan ke database atau di tampilkan kedalam tabel ataupun pilihan lainnya.

4. Menampilkan Data Kurs kedalam Tabel

hapus var_dump($kurs) pada script diatas, gantikan dengan

echo "<table border='1'>
    <thead>
        <tr>
            <th>KURS</th>
            <th>BELI</th>
            <th>JUAL</th>
        </tr>
    </thead>
    <tbody>";
 
foreach ($kurs as $key => $value) {
	echo "<tr>";
	echo "<td>$value[0]</td>";
	echo "<td>$value[1]</td>";
	echo "<td>$value[2]</td>";
	echo "<tr>";
}
echo "</tbody>
</table>";

cek hasilnya di browser
kurs hsbc kedalam tabel

Download “kurs-bank-hsbc.tar.gz”

kurs-bank-hsbc.tar.gz – Downloaded 559 times – 14.88 KB

Tulisan menarik lainnya

  • Parsing Data Text dengan PHP

    Contoh kasus disini adalah saya punya data di file data.txt yang ingin saya parsing dan…

  • Mengambil Kurs dari Bank Mega dengan PHP

    Website Bank Mega berubah sedikit, jadi script yang sudah kita buat sebelumnya tidak berfungsi lagi.…

  • Mengambil Kurs Menteri Keuangan dari Ortax dengan PHP

    Sebelum menggunakan script ini, anda harus memiliki web server baik itu Apache, Nginx, atau yang…

  • Mengambil Kurs Dari Bank Panin dengan PHP

    Kali ini kurs yang akan kita ambil adalah dari bank Bank Panin, di halaman depan…

Filed Under: PHP Tagged With: kurs, kurs rupiah

Reader Interactions

Comments

  1. syahendra says

    4 June 2018 at 19:21

    Bang mau tanya, kalau mau ambil data pada google map bagaimana.
    Contoh : kita menggunakan google map dan menentukan titik lokasi kita, lalu kita akan mengambil MAP nya saja atau kalau bisa hanya mengambil keterangan lokasi titik kita.
    Study Kasus : kita punya GPS dalam mobil kita dan secara default kita hanya bisa melihat titik keberadaan mobil kita lewat Google map.
    tapi karena kita hanya ingin mendapatkan keterangan data titik saja dan ditampilkan dalam PHP bagaimana ya.
    1. Imei : XXXXx
    2. Imsi : XXXXX
    3. LAC : XXXXX
    4. Alamat : XXXXX
    5. Url Gmap : https://googleXXXXXXX

    Maaf keteranganya belepotan.
    terimakasih.

    Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Pencarian

Tanya Jawab tentang DevOps SRE CPE, gabung di https://t.me/devopsindonesia

Terbaru

  • Cara Mengganti Port Screen Sharing macOS
  • Cara Menonaktifkan Pager di macOS
  • Cara Mengupdate Nama Apple silicon-as-a-Service Scaleway
  • Cara Force Delete Namespace di Kubernetes
  • Install PHP MariaDB di Mac Monterey

Komentar

  • adi on Menggunakan Mikrotik Sebagai SSH Client
  • aris u on Solusi Simple Queue Mikrotik Tidak Berjalan
  • Bowo on Cara Mematikan SSID Molecool Balifiber
  • aris on Solusi Simple Queue Mikrotik Tidak Berjalan
  • Alief on Password Router Huawei HG8245H5 Indihome

Tulisan Populer

  • Password Router Huawei HG8245H5 Indihome 1.1m views
  • Password Terbaru ZTE F609 Indihome 784.5k views
  • Password Superadmin Huawei HG8245A 318k views
  • Cara Setting Manual Modem GPON ZTE F609 Indihome 273k views
  • Cara Setting Wireless ZTE F609 Indihome 257.1k views
  • Mengaktifkan Port LAN di Huawei HG8245 Indihome 169.8k views
  • Akses UseeTV Indihome via Wireless ZTE F609 156.8k views
  • Kemana Menghilangnya Saldo BCA 50 ribu 153k views
  • Cara Reset Password ZTE F609 Indihome 147.5k views
  • Cara Setting DHCP Server Modem/Router ZTE F609 113.5k views

Kategori

  • Delphi
  • dll
  • Gambas
  • Internet
  • Java
  • Lazarus
  • Linux
  • PHP
  • Review
  • Teknologi

Sponsor

kadal.id
carakami.com
kuotabisa.com
Untuk jadi sponsor, hubungi kita lewat halaman sponsor
© 2021. Jaranguda
  • Linux
  • PHP
  • Internet
  • Teknologi
  • Delphi
  • Gambas
  • Java