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.

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.

IW-AutoBlog: Tools Untuk Otomatisasi Pembuatan dan Upload Konten Blog, Sudah digunakan lebih dari 110 Blogger Expert. Ayo Pesan Sebelum Harga Naik Lagi!!

Cocok untuk Anda yang tidak ingin direpotkan oleh pekerjaan harian seperti membuat konten dan posting harian, biarkan autoblog yang bekerja untuk Anda, semua serba otomatis. Cocok untuk SEO. Tak ada yang se-MUDAH, se-FLEKSIBEL & se-POWERFULL IW-AutoBlog dalam mengotomatisasi pembuatan konten Blog. Lebih lengkap silahkan kunjungi di sini)


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 :