Mengambil Content Website Lain dengan File_get_contents dan RegEx

Mengambil Content Website Lain dengan File_get_contents dan RegEx


Seorang staff ilmuwebsite dahulu kala pernah bertanya kepada penulis, "Bagaimana sih caranya mengambil content yang ada pada website lain untuk ditampilkan di website kita?". Nah saat ini mungkin anda juga bertanya hal yang sama?? Sehingga jumlah yang bertanya kepada penulis dengan pertanyaan yang sama adalah semua orang + anda + staff ilmuwebsite tersebut. :D. Oke lantas sekarang setelah anda bertanya lalu bagaimana solusinya, bagaimana anda dapat melakukan itu? Pada tutorial php kali ini penulis akan jelaskan itu semua.

Tutorial Premium Mahir Web Development Membangun 5 (jenis) Project Website + Mahir Membuat Aplikasi Android (4 Project + Upload Playstore)

Dibuat oleh praktisi yang memiliki pengalaman lebih dari 10 tahun di bidang web development (Pemesanan bisa SMS/WA ke 0838 1157 5876, atau bisa pesan secara online di sini)


Yang patut anda ketahui sebelum melakukan hal ini adalah, anda harus mengetahui terlebih dahulu dasar-dasar dari Regular Expression, tidak wajib untuk hafal, tapi mutlak bagi anda untuk mengerti setidaknya dasar dari regular expression.

Setelah persyaratan terpenuhi, penulis membaginya menjadi beberapa step, analogi pengambilan content di situs lain kemudian di letakkan di website anda adalah sama seperti ketika seseorang yang membuka satu situs, kemudian mengcopykan sebagian isinya dan mempastekan di situsnya, sehingga dalam pseudo code-nya ...

buka websitenya ...
pilih content yang ingin di ambil
copy kan content yang diambil
lalu tampilkan content yang diambil tersebut pada website anda

untuk melakukan hal ini kita memanfaatkan regular expression dan fungsi file_get_contents yang sudah di sediakan pada php

Oke, penulis mengambil contoh kasus, bagaimana menampilkan jadwal sholat hari ini yang jadwalnya itu di ambil dari website http://www.pkpu.or.id/adzan.php?id=83.


Penulis akan mengambil jadwal hari ini saja, yang mana barisnya ini di wakili oleh tanda highlight berwarna abu dengan tulisan putih didalamnya? dan juga kita akan ambil tag head milik table jadwal sholat dan jadwal sholat hari ini ...

dalam view source nya ...

<tr align="center">
<td><b>Date</b></td><td><b>Imsyak</b></td><td><b>Fajr</b></td><td><b>Syuruq</b></td><td><b>Dzuhr</b></td><td><b>Asr</b></td><td><b>Maghrib</b></td><td><b>Isha</b></td></tr>

dan

<tr align="center"><td><b>11</b></td><td>04:30:51</td><td>04:37:12</td><td>05:57:26</td><td>12:07:14</td><td>15:23:21</td><td>18:16:57</td><td>19:28:40</td></tr>

script lengkapnya adalah :

<?php
$text = file_get_contents("http://www.pkpu.or.id/adzan.php?id=83");
echo "<table border='1'>";
preg_match_all('#<trsclass="table_header(.+?)>(.+?)</tr>#siu', $text, $result);
for ($x = 0, $jumlah = count($result[0]); $x < $jumlah; $x++) {
echo $result[2][$x] . "n";
}
echo "</tr><tr>";
preg_match_all('#<trsclass="table_highlight(.+?)>(.+?)</tr>#siu', $text, $result);
for ($x = 0, $jumlah = count($result[0]); $x < $jumlah; $x++) {
echo $result[2][$x] . "n";
}
echo "</tr></table>";
?>

penulis akan jelaskan sedikit cara kerja script ini ...

pertama semua isi halamannya dengan file_get_contents
$text = file_get_contents("http://www.pkpu.or.id/adzan.php?id=83");

lalu, kita cocokkan dengan pattern atau pola dari header table yang akan di ambil ...
preg_match_all('#<trsclass="table_header(.+?)>(.+?)</tr>#siu', $text, $result);

kita lihat polanya ...
#<trsclass="table_header(.+?)>(.+?)</tr>#siu
ini berarti mulai dari tag <tr> yang memilikitable_header ... sampai tag </tr> penutup

sehingga jika ada banyak data ... nanti yang di ambil cuma

...
<tr align="center">
<td><b>Date</b></td><td><b>Imsyak</b></td><td><b>Fajr</b></td><td><b>Syuruq</b></td><td><b>Dzuhr</b></td><td><b>Asr</b></td><td><b>Maghrib</b></td><td><b>Isha</b></td></tr>
...

sedangkan pengulangan di bawah ini cuma untuk mewaspadai jika terdapat banyak sekali <tr> dengan class yang sama ...? dan sekaligus pengulangan ini digunakan untuk menampilkan hasil dari pengambilan datanya ...

for ($x = 0, $jumlah = count($result[0]); $x < $jumlah; $x++) {
echo $result[2][$x] . "n";
}

script yang di bawahnya sama saja dengan yang penulis jelaskan sebelumnya. Dan hasilnya nanti akhirnya lihat disini . Dan hasilnya itu akan terus berubah sesuai dengan pergantian hari. Dan anda dapat mengimplementasikan teknik ini untuk hal yang lain yang tentunya sangat bermanfaat. Contoh Jadwal Sholat yang contentnya di ambil dari PKPU http://www.ilmuwebsite.com/sholu.php untuk scriptnya http://www.ilmuwebsite.com/sholu.php.txt

silahkan? script lengkapnya download di sini ...

Selamat mencoba.

Artikel Terkait :