PHP ile Nasıl Başka Bir Siteden Veri Çekebiliriz?
bu konu benimde uzun süredir kafamı karıştırıyordu ve nette gezinirken bu tutoriali gördüö ve baya da hoşuma gitti kısa ve öz olması sebebiyle... uzun bir süredir (1-1,5 haftadır) okulların başlaması, ramazan munasebeti ile yazamadığım bloguma yararlı bir yazı yazayım dedim ben kendim yazarsam biraz anlaşılması güç olacağından yine ingilizce'den Türkçe'ye çevireceğim anlıyabildiğim ve anlatabildiğim kadarı ile hadi başlıyalım....
ilk olarak bu tutorial bittiğinde ahanda burda gördüğünüz örneği oluşturmuş olacaz... yazdığımız kodlar ise ahanda burada yazıyor...
şimdi kendimize bağlanacağımız ve içinden verilerimizi çekeceğimiz bir site belirliyoruz ancak bu sitenin adresinin http:// ile başlamasına dikkat ediyoruz çünkü biz veri aktarımını HTTP Protokolü üzerinden yapacağız... sitemiz bu
-
$url = "http://www.drquincy.com/";
aşağıda gördüğünüz kod ile hedef sitemize bağlanacak ve ondan çektiğimiz verileri $content adlı değişkende depolayacağız...
daha sonra bir takım php fonksiyonlarını kullanarak bağlandığımız sitenin başlığındaki bilgiyi yani title'ı alıyoruz...
-
$start = '<title>';
-
$end = '<\/title>';
-
-
$title = $match[ 1 ];
bildiğiniz yada şuan öğrendiğiniz üzere bir siteye ait onu tanımlayıcı anahtar kelimeler ve o sitenin kısa tanımı sitenin meta tagları arasında yer alır PHP bize bağlandığımız bir sitedeki meta tagları almak için oldukça güzel bir fonksiyon sunuyor... get_meta_tags() bu fonksiyon ile kolaylıkla sitenin meta bilgilerini alabiliyoruz ve bunu yapmamız sayfa başlığını almak için yaptığımız işlemlere nazaran oldukça kolay aşağıdaki kod işimiz görüyor..
-
$keywords = $metatagarray[ "keywords" ];
-
$description = $metatagarray[ "description" ];
ewet yapacağımız işlem bu kadar artık tek yapmamız gereken şey değişkenlerde depoladığımız bilgileri ekrana yazdırmak...kodda ingilizce kelimeler kullanılmış doğal olarak ancak siz
-
<strong></strong>
arasındaki kısımları kafanıza göre düzenliyebilirsniz yalnız yanlarındaki $ ile başlıyan değişken adlarına dokunmayın eğer fazla bilmiyorsanız
evet işlemimiz bu kadar kaynak kodların tamamını ve örneğin çalışan halini yukarıda verdiğim linklerden görebilirsiniz... bu arada kodlarda kullanılan fonksiyonların açıklamaları ingilizce olarak
preg_match()
fopen()
get_meta_tags()
tutorial buradan alınmıştır/çevrilmiştir...
umarım yararlı olabilmişimdir siz okurlarıma! bu basit örneği birazcık çalışma ile daha da geliştirebiliriz(örneğin bir who is scripti gibi)...takıldığınız yada anlamadığınız yerleri bana mail yoluyla yada buraya yorum yazarak sorabilirsiniz... hadi iyi geceler... (üff ya yarın bide okula gidicez
gerçi program çok gevşek yarın 2 saat matematik ve beden dışında diğer dersler de yatıp kestirebilirim edebiyat vs...)
Peki tumgazeteler.com gibi bi sayfa yapmak icin n’apmak gerekir?
Alinan verilerin sayfamizdaki gorunusleri yayinlandiklari sitelerdeki guncellenme zamanina gore duzenlenebilir mi? En son guncellenen en uste misali…
bahsettiğiniz site sanırım joomla içerik sistemini kullanıyor, o tür bir component vardır büyük bir ihtimalle ancak siz kendi yazdığınız bir scriptle yapıyorsanız eğer varsa veriyi çekeceğiniz adresin rss adresindeli xml dosyasını parse edebilirsiniz yada direk anasayfada görüken haberleri preg_match kullanarak eşleştirip sitenizde istediğiniz hale getirebilrsiniz.. bu işlemler için düzenl ifadeler isimli konuya yönelmenizi tavsiye ederim.
cevaba sukranlarimi sunaraktan;
rss servisi olmayan siteler icin “ya olmaj ki ama yaaa!! ben rşş ‘le takip etmek ijtiyorum ama!” diye cocuksu bi inada girsem bir cozum yolu bulmak olasi midir? Orngein rss dosyalarini kendim olusturarak kendi server’ ımda barindirmak gibi?
————————————————————————————————————————–
tumgazeteler sitesinin calisma mantigiyla ilgili bi kac satir kelam –> http://www.tumgazeteler.com/Help/gazetecinedir.html#sitegenel
benzer mantikla bir de tumilanlar.com diye bi se baslatmislar.
—————————————————————————————————————————
“Ornegin rss dosyalarini kendim olusturarak kendi server’ ımda barindirmak gibi?” Yani RSS servisini sahsima ait olmayan siteler icin de duzenleyebilir, olusturabilir miyim? http://www.feed43.com ve http://www.ponyfish.com cemaatlerinin yaptiklari gibi mesala? Tabi bu kadarla da bitmiyo, diyelimki duzenleyebildigim bu servisleri kuru metnin yaninda, http://www.bildirgec.org/rss.xml ve http://feeds.feedburner.com/qj/ps3 servislerinde oldugu gibi, resimlerle de susleyebilir miyim?
bunu düzenli ifadeleri kullanarak yapabilirsiniz öte yandan kendi erişebildiğiniz bir veritabanına ait rss dosyası nasıl yapacam diyorsanız http://www.mfyz.com/ adresindeki php dökümanlarına bakmanızı tavsiye ederim..
Bu kodun asp olanı yokmu acaba bana çok acil asp kodu lazım.. Yani yukarda arkadaşımızın belirttiği kodun asp versiyonu.. Yazarsanız buraya çok memnun oldurum
Üzgünüm, ASP bilmediğimden dolayı yardım edemem
Merhaba Gürkan, benim bir ilan sitem var. Php ile yazdım. Bir site benim sitemde yayınlanan tüm ilanları kopyalıyor kendi sitesine. O kopyalayan siteye baktığımda karakterler bozuk görünüyor onda. Anladımki bu bir sicriptle bir şeyle benim siteden aşırıyor ilanları. Şimdi benim ne yapmam lazımki bu hırsızın işini zorlaştırayım?
Benim ilan sitem: http://www.makpi.com
@wolkanca : belki daha iyi çözümler üretilebilir ancak şuan aklıma gelen sitenin bir rss adresi olmadığına göre adam direk kategorilerin index’lerindeki html kodu parse ederek bu işlemi yapıyor demektir. bir kategori içerisinde bulunan ürünler listelenirken login olmamış kullanıcıların bunları görmesini engellersen adam kendi sitesinden içeriği almak için çağrı yaptığında o an sitende login durumda olsa bile içeriği göremez ancak curl ile session oluşturması gerekir ki senin session index’lerini nereden bilecek..
İyi Daha iyi Daha çok başarılar dilerim
@wolkanca http://tools.dynamicdrive.com/userban/ bu adreste ilgili siteyi banlayabilir, sitene erişimini engelleyebilirsin. burda oluşturduğun kodları .htaccess dosyana kopyalaman gerekli.
@kayakentli
o dediğin engellemiyor bunları denemiştik, teşekkür ederim.
arkadaslar turksportalı duymussunuzdur adamlar bir patch indirmek için tc nonu ister oldular ve ben bu siteden bir link almak istiorum ama linkler uye olmadan acılmıor tabikide sayfadan http://www.turksportal.net/dosya/fm/28781/bilgi/ sag taraftaki linki gormemin bi yolu varmı?
Yorum Yapın
Arayan Bulur
Sayfalar
kategoriler
Destek & Köstek
Yeni düşenler
Arşivler
Linkler
Etiketler
İnternet Ajax Benim Dünyam Bilgisayar Blogroll CSS Duyuru Eleştiri Günlük Genel google Haber Hayat Kategorilenmemiş Kitap Komedi Müzik Makale Makaleler Mim PHP Proje Sinema Tanıtım Web 2.0 Web Geliştirme WordPress Wordpress Eklentisi Yaşam Yazılımlar
Sosyal Mevzular