Birçok yerde bunun nasıl yapıldığını öğrenmeye çalışan kullanıcılar görüyorum. Bunun üzerine sizlere php ile RSS içeriklerinden nasıl veri çekileceğini ve bunların nasıl veritabanına kaydedilebileceğine dair örnek uygulama vereceğim.
Uygulamamız oldukça kolay ve anlaşılabilir şekilde kodlanacaktır. Farklı şekillerde oluşturulmuş xml veya rssler’e örneği baz alarak kolayca geliştirebileceğinizi düşünüyorum.
Şimdi geçelim php ile rsslerden veri çekmeye. Öncelikle bir veritabanı oluşturuyoruz. RSS ile çektiğimiz veriler buraya kaydedilecektir.
Rss’den verileri cekip yukarıda oluşturduğumuz veritabanına kayıt işlemine gerçekleştirecek php kodumuz:
Koda İlişkin Açıklamalar:
ayar.php dosyamız veritabanına bağlantının gerçekleştiği dosya olacaktır. Bunu scriptinize göre düzenleyebilirsiniz.
Burada örnek olarak hürriyet.com.tr’den bir rss kaynağını gösterdim.
İstediğiniz rss adresini $f = “http://rss.hurriyet.com.tr/rss.aspx?sectionId=1″; bölümünü düzenleyerek oluşturabilirsiniz.
Yukarıda yazmış olduğum kod ile rss’de yer alan title, link ve description alanları çekilebilmektedir. Kullanacağınız rss’nin kaynak kodlarına bakarak kendinize göre düzenlemeler yapabilirsiniz. RSS’lerde Türkçe Karakter problemi yaşayabilirsiniz diye de function cevir bölümü ile rss’den aldığımız içeriği çeviriyoruz ve daha sonra bu içeriği veritabanına kaydetmesini sağlıyoruz.
Bu şekilde hazırlamış olduğunuz dosyayı cronjob ile otomatik olarak çalıştırılmasını sağlayarak içeriğinizi sürekli olarak güncel tutulmasını sağlayabilirsiniz.
Kaynak: http://www.o5m.net/php/php-ile-rsslerden-veri-cekmek-ve-kaydetmek.html
Kaynak göstererek yayınlayabilirsiniz.
Kolay gelsin.
Uygulamamız oldukça kolay ve anlaşılabilir şekilde kodlanacaktır. Farklı şekillerde oluşturulmuş xml veya rssler’e örneği baz alarak kolayca geliştirebileceğinizi düşünüyorum.
Şimdi geçelim php ile rsslerden veri çekmeye. Öncelikle bir veritabanı oluşturuyoruz. RSS ile çektiğimiz veriler buraya kaydedilecektir.
HTML:
CREATE TABLE `icerik` (
`id` int(8) NOT lisanssız auto_increment,
`url` text NOT lisanssız,
`baslik` text NOT lisanssız,
`haber` text NOT lisanssız,
UNIQUE KEY `id` (`id`),
UNIQUE KEY `url` (`url`(850))
) ENGINE=MyISAM DEFAULT CHARSET=latin5 AUTO_INCREMENT=1 ;
Rss’den verileri cekip yukarıda oluşturduğumuz veritabanına kayıt işlemine gerçekleştirecek php kodumuz:
PHP:
<?
include "ayar.php";
?>
<?
function cevir ($url,$to="windows-1254",$from="utf8") {
if($to=="windows-1254" && $from=="utf8"){
$str_array = array(
chr(196).chr(177) => chr(253),
chr(196).chr(176) => chr(221),
chr(195).chr(182) => chr(246),
chr(195).chr(150) => chr(214),
chr(195).chr(167) => chr(231),
chr(195).chr(135) => chr(199),
chr(197).chr(159) => chr(254),
chr(197).chr(158) => chr(222),
chr(196).chr(159) => chr(240),
chr(196).chr(158) => chr(208),
chr(195).chr(188) => chr(252),
chr(195).chr(156) => chr(220)
);
return str_replace(array_keys($str_array), array_values($str_array), $url);
}
return $url;
}
$f = "http://rss.hurriyet.com.tr/rss.aspx?sectionId=1";
$data=file_get_contents($f);
$bol = explode("<item>",$data);
for ($i=1;$i<=count($bol)-1;$i++) {
preg_match("''si",$bol[$i], $baslik);
preg_match("'<link>(.*?)</link>'si",$bol[$i], $link);
preg_match("'<description>(.*?)</description>'si",$bol[$i], $aciklama);
$link= $link[1];
$baslik = cevir($baslik[1]);
$aciklama = cevir($aciklama[1]);
echo "Link: ".$link."
Başlık: ".$baslik."
Açıklama: ".$aciklama."
";
$kayit = mysql_query("INSERT INTO icerik (id, url, baslik, haber) VALUES ('', '$link', '$baslik', '$aciklama')");
}
?>
Koda İlişkin Açıklamalar:
ayar.php dosyamız veritabanına bağlantının gerçekleştiği dosya olacaktır. Bunu scriptinize göre düzenleyebilirsiniz.
Burada örnek olarak hürriyet.com.tr’den bir rss kaynağını gösterdim.
İstediğiniz rss adresini $f = “http://rss.hurriyet.com.tr/rss.aspx?sectionId=1″; bölümünü düzenleyerek oluşturabilirsiniz.
Yukarıda yazmış olduğum kod ile rss’de yer alan title, link ve description alanları çekilebilmektedir. Kullanacağınız rss’nin kaynak kodlarına bakarak kendinize göre düzenlemeler yapabilirsiniz. RSS’lerde Türkçe Karakter problemi yaşayabilirsiniz diye de function cevir bölümü ile rss’den aldığımız içeriği çeviriyoruz ve daha sonra bu içeriği veritabanına kaydetmesini sağlıyoruz.
Bu şekilde hazırlamış olduğunuz dosyayı cronjob ile otomatik olarak çalıştırılmasını sağlayarak içeriğinizi sürekli olarak güncel tutulmasını sağlayabilirsiniz.
Kaynak: http://www.o5m.net/php/php-ile-rsslerden-veri-cekmek-ve-kaydetmek.html
Kaynak göstererek yayınlayabilirsiniz.
Kolay gelsin.