// Author : Cradex.org

$hedefUrl = "http://google.com";
$spiderIsmi = 'Googlebot/2.1 (http://www.googlebot.com/bot.html)';

$ch = curl_init();
curl_setopt($ch, CURLOPT_USERAGENT, $spiderIsmi);
curl_setopt($ch, CURLOPT_URL,$hedefUrl);
curl_setopt($ch, CURLOPT_FAILONERROR, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
$Calistir = curl_exec($ch);
if (!$Calistir) {
echo "
Curl Hata Numarası :" .curl_errno($ch);
echo "
Curl Hatası :" . curl_error($ch);
exit;
}

$dom = new DOMDocument();
@$dom->loadHTML($Calistir);

$crdx = new DOMXPath($dom);
$linkler = $crdx->evaluate("/html/body//a");

for ($i = 0; $i < $linkler -> length; $i++){
$href = $linkler -> item($i);
$url = $href -> getAttribute('href');

$dosya = fopen("LinkleriAl.txt" , 'a');
fwrite ($dosya , @$url."\n") ;
fclose ($dosya);
}

$fp = @fopen("LinkleriAl.txt", 'r');
$array = explode("\n", fread($fp, filesize("LinkleriAl.txt")));
$toplam = count($array);
$array = array_unique($array); // Burada Alınan Linkleri Eğer Aynısı varsa Array_unique fonksiyonu ile Siliyoruz
$temizle = fopen("LinkleriAl.txt" , 'w');
fwrite ($temizle , "");

for($i=0; $i < $toplam ; $i++){
echo @$array[$i]."
";
$sonedit = fopen("LinkleriAl.txt" , 'a');
fwrite ($sonedit , @$array[$i]."\n") ;
fclose ($sonedit);
}

?>


hedefurl'ye linklerin alınmasını istediğimiz sayfayı yazıyoruz , ve betik tüm linkleri metin dosyasına ,aynı olanları eleyerek kaydediyor.