Diyanet duyuru botu

Kodla Büyü

erbay111

Site Gezgini
Mesajlar
97
Diyanet İşleri Başkanlığı sitesinden duyuruları çekmek isteyen , Diyanet duyuru kodu arayan arkadaşlar ,
Diyanet.gov.tr adresinde RSS olmadığından son duyuruları çekmekte sıkıntı yaşıyorlarmış.
Php tabanlı Diyanet duyuru botu hazırlamıştım, sizlerle paylaşıyorum.
Kodları not defterini açarak farklı kaydet deyip,
tüm dosya türlerini seçerek "duyuru.php" olarak kaydedebilir ve sitenizde yayınlayabilirsiniz.
Sunucunuz bot engellemiyorsa şunu:
Kod:
<?php 
//Erdal bayrak yazdı.
header("Content-Type:text/html; Charset=UTF8"); 
$diyanetURL = "http://www.diyanet.gov.tr/tr/icerik/duyuru"; 
$adres = file_get_contents( $diyanetURL ); 
$diyanetDUYURU = explode('<div class="list">', $adres); 
$diyanetDUYURU = explode('<!-- /list -->', $diyanetDUYURU[1]); 
echo strip_tags($diyanetDUYURU[0],"<a><span><div><p>"); 
?>

Eğer engelliyorsa üzülmeyin sizin için de bir çözümü var. CURL_ ile Google bot gibi tanıtarak şu kodu sorunsuz çalıştırabilirsiniz:

Kod:
<?php
//Erdal bayrak yazdı.
$url = 'http://www.diyanet.gov.tr/tr/icerik/duyuru'; 
function disguise_curl($url) 
{ 
  $curl = curl_init(); 
  $header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,"; 
  $header[0] = "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5"; 
  $header[] = "Cache-Control: max-age=0"; 
  $header[] = "Connection: keep-alive"; 
  $header[] = "Keep-Alive: 300"; 
  $header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7"; 
  $header[] = "Accept-Language: en-us,en;q=0.5"; 
  $header[] = "Pragma: "; // browsers keep this blank. 
  curl_setopt($curl, CURLOPT_URL, $url); 
  curl_setopt($curl, CURLOPT_USERAGENT, 'Googlebot/2.1 (+http://www.google.com/bot.html)'); 
  curl_setopt($curl, CURLOPT_HTTPHEADER, $header); 
  curl_setopt($curl, CURLOPT_REFERER, 'http://www.google.com'); 
  curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate'); 
  curl_setopt($curl, CURLOPT_AUTOREFERER, true); 
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
  curl_setopt($curl, CURLOPT_TIMEOUT, 10); 
  $html = curl_exec($curl); // execute the curl command 
  curl_close($curl); // close the connection 
  return $html; // and finally, return $html 
} 
$site=disguise_curl($url); 
preg_match_all('#<div class="list">(.*?)<!-- /list -->#si',$site,$Duyuru,PREG_SET_ORDER); 
$Duyuru=$Duyuru[0][1];
echo str_replace ('<a href="','<a href="http://www.diyanet.gov.tr',$Duyuru);
?>

Hocalar hayır dualarınızı beklerim..
 
Ön izleme linki
http://www.dikmenmuftulugu.gov.tr/diyanet_duyurubot.php

25s03go.jpg
 
Hocam teşekkür ederim :+1:
Lakin "iframe" yapınca diyanet duyurularını yeni pencerede açmıyor.. Diyanet duyuru linklerini yeni pencerede açmak için ne yapmalıyız?
 
Linkleri yeni pencerede açmak için target="_blank" eklemek yeterli.
Aşağıdaki kodu arayın;
Kod:
echo str_replace ('<a href="','<a href="http://www.diyanet.gov.tr',$Duyuru);
şu kodla değiştirin..
Kod:
echo str_replace ('<a href="','<a target="_blank" href="http://www.diyanet.gov.tr',$Duyuru);
 
Geri
Üst