Cvp:Ürünleri Başa Bir Siteden Çekme ?
İşine yararmı bilmem ama şöyle bir makale vardı bende bir gözat derim üstünde biraz daha çalışırsan iyi bir sonuç elde edersin.
PHP ile Bot Yapımı ve Sitelerden Veri Çekmek
İlk önce "nedir bu bot?" diye başlayalım.
Bot, bilgisayarların bazı işlemleri otomatik yapmasıdır. Counter'a bot eklersiniz, ileri gitme ateş etme gibi işlemleri yaptırırsınız. Bizim botumuz ise web sitelerine girip verileri alacak bizim veritabanımıza eklecek...
İlk önce şunu belirteyim ki, bu botu yaparken aklınızı iyi çalıştırmanız gerek çünkü her siteye farklı bir algoritma geliştirmeniz gerekebilir. Daha çok fonksiyon kullanarak yapmak işinize gelecektir. Birde fonksiyonlara açıklamalarını yazınki unutmayasınız.
Başlamadan önce sitenin başlığının,yazı yazan yer gibi yerleri dikkatlice inceleyin, onlarda sayfanın başka yerinde olmayan bir özellik bulmalısınız: Örneğin,
İlk başta siteden bütün linkleri almamız gerek bunun için şu fonksiyonu kullanabilirinsiniz (Amerika'yı bir daha keşfetmeye gerek yok) :
<?php
function link_al($urll) {
$url = file_get_contents($urll);
preg_match_all("/href=\"(.*?)\"/i",$url,$gelen);
for ($i=0; $i<count($gelen[1]); $i++)
{
echo $gelen[1][$i]."<br>";
}
}
link_al("http://veriyicekmekistediğin site.net/index.php" );
?>
Daha sonra alınan bütün linklerdeki id(identification yani benzersiz) leri bir diziye kaydetip, aynı id'yi birden fazla almamak için dikkat etmelisiniz. Ve geldik en civciv li bölüme, linkten gerekli olan bilgiyi almakta sıra..
<?php
$con=@file_get_contents("url" );
$baslik=explode('<span id="bir özellik">', $icerik);
$baslik=explode('</span>', $baslik[1]);
echo $baslik[0];
?>
Yukarıdaki kodda ise url adlı linkten ve arasındaki html kodunun alınması sağlanıyor. Konun temel mantığı böyle..