.:: Blackc0de Forum ::.
Would you like to react to this message? Create an account in a few clicks or log in to continue.

-=Explore The World From Our Binary=-
 
HomeIndeksLatest imagesPendaftaranLogin

 

 Data Mining, Web Fetching Atau Mencuri Isi Web

Go down 
PengirimMessage
Cardiman
Pro Nubie
Pro Nubie
Cardiman


Jumlah posting : 66
Points : 168
Reputation : 10
Join date : 22.10.11

Data Mining, Web Fetching Atau Mencuri Isi Web Empty
PostSubyek: Data Mining, Web Fetching Atau Mencuri Isi Web   Data Mining, Web Fetching Atau Mencuri Isi Web Icon_minitimeSat Oct 22, 2011 1:05 am

Untuk studi kasus mari kita curi data-data dari gudanglagu.com . Saya pernah melakukannya dan mendapatkan lebih kurang 7000 link download dalam waktu yang tidak terlalu lama. Yah, paling tidak sudah cukup untuk memulai sebuah situs download mp3 atau menjual script download mp3 plus databasenya.
Mari kita lakukan, tapi terlebih dahulu siapkan webserver di komputer lokal Anda. Saya tidak menganjurkan melakukan di tempat hostingan asli, memang apabila dihost di sana penggalian data akan berpuluh-puluh kali lebih cepat. Tapi penggunaan resource yang besar akan sangat mungkin account Anda disuspend. Saya sudah mengalaminya 2 kali dan kapok. Optimasi script saya untuk webhosting beneran tidak pernah berhasil. Paling tidak untuk saat ini hehehe.
get website content atau mengambil isi web bisa kita lakukan dengan banyak cara.
Dengan PHP diantaranya adalah dengan:

[You must be registered and logged in to see this link.]

Mungkin masih ada teknik lainnya, dan kita tidak akan membahas semuanya. Saya akan menampilkan satu contoh dengan file_get_contents

Mungkin masih ada teknik lainnya, dan kita tidak akan membahas semuanya. Saya akan menampilkan satu contoh dengan file_get_contents

view plain print

$homepage = file_get_contents('http://gudanglagu.com/');
echo $homepage;
?>
dengan script di atas kita bisa mendapatkan seluruh kode HTML dari [You must be registered and logged in to see this link.] bahkan tampilannya sama persis dengan halaman depan gudanglagu.com. Ya memang semua kodenya kita ambil dan kita tampilkan di localhost.
Pertanyaan selanjutnya adalah bagaimana mengambil sebagian isi dari gudanglagu.com. Misalkan kita akan mengambil headlinenya, jadi kita analisa dulu kode HTMLnya. Headline gudanglagu.com ternyata diawali dengan dan diakhiri dengan dengan kata lain isi yang kita harapkan diapit dengan dua buah komen di atas.
Selanjutnya adalah mencari posisi dan posisi menggunakan strpos

Code:
view plain  print
$homepage = file_get_contents('http://gudanglagu.com/'); 
 
$string_awal  = ''; 
$string_akhir  = ''; 
 
$pos_awal = strpos($homepage, $string_awal); 
$pos_akhir = strpos($homepage, $string_akhir); 
 
echo 'awal: ',$pos_awal,''; 
echo 'akhir: ',$pos_akhir,''; 
?> 

Dari situ kita tahu posisi awal dan akhirnya, tinggal kita extract pakai substr

Code:
 view plain  print
 
 
$homepage = file_get_contents('http://gudanglagu.com/'); 
 
$string_awal  = ''; 
$string_akhir  = ''; 
 
$pos_awal = strpos($homepage, $string_awal); 
$pos_akhir = strpos($homepage, $string_akhir); 
 
echo 'awal: ',$pos_awal,''; 
echo 'akhir: ',$pos_akhir,''; 
 
echo 'Hasilnya:'; 
echo substr($homepage, $pos_awal, $pos_akhir); 
 
?> 

Dan walla.... sudah bisa menampilkan data yang kita inginkan. walaupun tidak begitu sempurna.
Cara lain adalah dengan menggunakan explode.

Code:
view plain  print
 
 
$homepage = file_get_contents('http://gudanglagu.com/'); 
 
$string_awal  = ''; 
$string_akhir  = ''; 
 
$homepage = explode($string_awal, $homepage); 
$homepage = explode($string_akhir, $homepage[1]); 
 
echo 'Hasilnya:'; 
echo $homepage[0]; 
 
?> 

Dan dengan cara ini hasilnya lebih bagus, pertanyaannya berapa resource yang digunakan untuk script ini? Berapa lama waktu eksekusi script untuk satu halaman. Kalau satu halaman saja membutuhkan waktu sekian lama, berapa lama untuk mengambil keseluruhan data dari satu situs segede gudanglagu.com?
Baiklah, saya akan memberi alternatif lain dengan menggunakan HTML DOM. Dan saya tidak mau repot dengan urusan ini karena sudah ada "PHP Simple HTML Dom parser" yang akan memudahkan segalanya. Tinggal kita unduh saja dan ambil satu file yaitu simple_html_dom.php dan kita include saja.
Lets do it, kita akan mengambil semua link di halaman depan gudanglagu.com dengan script ini:

Code:
 view plain  print
 
require 'simple_html_dom.php'; 
 
// Create DOM from URL or file 
$html = file_get_html('http://www.gudanglagu.com/'); 
 
// Find all images 
foreach($html->find('a') as $element) 
      echo $element->href . '
'; 
 
?>


contoh lain, kalau ingin mengambil semua gambar bisa dengan ini:

Code:
 view plain  print
 
 
require 'simple_html_dom.php'; 
 
// Create DOM from URL or file 
$html = file_get_html('http://www.gudanglagu.com/'); 
 
// Find all images 
foreach($html->find('img') as $element) 
      echo $element->src . '
'; 
 
?> 


Contoh untuk gudanglagu.com
1. Mendapatkan link dari tangga lagu.

Code:
 view plain  print
 
 
require 'simple_html_dom.php'; 
 
// Create DOM from URL or file 
$html = file_get_html('http://gudanglagu.com/tanggalagu.php'); 
 
// Find all images 
foreach($html->find('a') as $element) { 
    $url = $element->href ; 
    echo $url,''; 
  } 
?> 


2. Mendapatkan alamat download lagu

Code:
 view plain  print
 
 
require 'simple_html_dom.php'; 
 
// Create DOM from URL or file 
$html = file_get_html('http://gudanglagu.com/a/astrid/astrid-tak-ingin-dicintai/'); 
 
 
foreach($html->find('div#linkdl') as $e) { 
    foreach($e->find('a') as $a) 
        echo $a->href . '
'; 

 
?> 

kalau dulu mereka masih menampilkan alamat download ke 4shared, tapi sekarang sudah digandi ke alamat download otomatis dari 4shared. Kita juga bisa kok bikin seperti ini. Dengan penerapan seperti ini juga tentunya.
3. Gabungan dari 2 script di atas, download mp3 tangga lagu populer gudanglagu.com

view plain print


Code:
require 'simple_html_dom.php'; 
 
// Create DOM from URL or file 
 
$sedot = $_GET[sedot]; 
 
if ($sedot) { 
  echo '
Download mp3 dari tangga lagu gudanglagu.com

'; 
   
  $html = file_get_html($sedot); 
  foreach($html->find('div#linkdl') as $e) { 
      foreach($e->find('a') as $a) 
          echo ',$a->href,'">DOWNLOAD NOW'; 
  } 
  echo 'powered by http://gecko.web.id
'; 
} else { 

  echo '
Download lagu Indonesia populer

'; 

  echo '
'; 
  $html = file_get_html('http://gudanglagu.com/tanggalagu.php'); 
    foreach($html->find('a') as $a) { 
        $url =  $a->href ; 
        $judul = $a->innertext ; 
        echo '
,urlencode($url),'">',$judul,'
'; 
    } 
  echo '
'; 



 

?>




Conclution
Data mining atau penggalian data amat penting bagi kita yang ingin membuat website sedangkan tidak punya kemampuan untuk menulis konten, atau ingin membuat website dengan jumlah data yang banyak dan terlalu malas mengentry data. Tapi dalam data mining seharusnya kita juga menghargai orang yang punya konten asli; misalnya dengan menyebutkan sumber, tidak asal sedot semua. Perhatikan copyright dari empunya konten.
Dalam hal menggali data lewat web fechting atau screen scrapping atau web grabing kita juga perlu memperhatikan penggunaan resource kita. Jangan asal grab, ingat penggunaan rsource server berlebihan akan menyebabkan disuspend oleh penyedia hosting. Ini terjadi kalau kita pakai shared host. Jika tidak ingin disuspend ya harus hemat resource atau upgrade hosting kita ke paket yang lebih besar.
Untuk menghemat resource kita bisa melakukan penjadwalan pada script kita. Jadi kita melakukan grab misalnya sehari sekali dan konten disimpan di database. Atau menggunakan web caching. Halaman kita cache selama 24 jam. Toh tangga lagunya gudanglagu.com tidak berubah setiap saat. Saya rasa satu hari sekali sudah cukup.
Amat salah kalau tiap ada user mau lihat tangga lagu kita melakukan grabbing. ya habislah resource kita. Malahan bisa-bisa disuspend bahkan diusir dengan paksa dari hostingan kita.
Saya rasa untuk dasar sekian aja dulu, bila ada tambahan, atau ada script fetching hasil karya Anda yang mau dishare di sini, silahkan. Ada ide untuk tutorial fetching berikutnya juga silahkan. Semoga bermanfaat untuk kebaikan..
Kembali Ke Atas Go down
 
Data Mining, Web Fetching Atau Mencuri Isi Web
Kembali Ke Atas 
Halaman 1 dari 1
 Similar topics
-
» trik import data dari flat text ke data excel
» get data back v4.22
» [Ninjasaga] Pet Data Simulator
» cara menyembunyikan data
» [Lowongan Kerja - UI] Operator Data

Permissions in this forum:Anda tidak dapat menjawab topik
.:: Blackc0de Forum ::. :: Information Technology :: Web attack-
Navigasi: