[]

Veri Çekmeyle ilgili soru2

önceki başlıkta çok yardımcı oldu arkadaşlar, teşekkür ederim hepsine. şimdi onların tavsiyelerine göre araştırmaya başladım ancak bir yerde takıldım oldukça.

file_get_contents ile başka sitelerden veri çekebileceğim söylendi. internette araştırdım falan nokta atışı şeklinde yapmak gerekiyor bu işi.

peki; hemen örnek vereyim. www.mackolik.com isimli linkte görüldüğü gibi lig yer alıyor.

ve bu ligin altında da; www.mackolik.com gibi takımlar var. ve bu takım sayfalarında da bir sürü maç yer alıyor.

benim istediğim şey şu: ben belirli ligleri hedeflerim arasına alayım. ve bu liglerde yer alan takımların sayfalarındaki maçları bana otomatik olarak çeksin. bu mümkün müdür? yani bir ligin altında ismi geçen takımların sayfalarına otomatik olarak gitmek?

yoksa tüm takımların sayfalarını tek tek belirtmek mi gerekiyor?

edit: siz maçkolik dediğime bakmayın örnek olsun diye anlatabilmek için söyledim. yoksa hazır bir şey beklemiyorum, yani mantık olarak nasıl yapabilirim? başka bir site üzerinden anlatsanız da olur, www.iddaa.com.tr falan var mesela. site veya veri tipi önemli değil. işin mantığı önemli benim için.

 
arkadaşlar şimdi sorunumdan bahsedeyim:
-------------------------------------------------------------------
php kodu:

<?php
//veri.php olarak kaydedin
if (isset($_GET['veri'])){
$veri=trim($_GET['veri']);
$adres = file_get_contents($veri);
$title=explode('<div id="menuContent_leagueTeamStatistics" class="teamStatsMenuContainer" style="display:none">',$adres);
$title=explode('<div style="clear:both"></div>',$title[1]);
echo $title[0];
}else{
echo "Link gelmedi";
}
?>

html kodu:

<html>
<head>
<title>Uzak Siteden Veri Alma</title>
<script type="text/javascript" src="ajax.googleapis.com"></script>
<script type="text/javascript">
function Gonderme() {
    document.getElementById("sonuc").innerHTML="";
    verim=document.getElementById("link").value;
 
    $.ajax({
    type:'POST',
        url:"veri.php?veri="+verim,
        success: function (msg) {
        $('div#sonuc').html(msg);
       }
     });
   }
</script>
</head>
<body>
<input id="link" type="text" value=""/>
<input type="button" value="Gönder" onclick="Gonderme()" />
<div id="sonuc"></div>
</body>
</html>

-----------------------------------------------------------------------

şimdi çıkan textbox'a iddaa.broadagesports.com yazınca, doğal olarak türk takımlarının isimlerini çektiriyor.

ancak iddaa.broadagesports.com yazdığımda, italyan takımlarını sıralaması gerekirken yine türk takımlarını sıralıyor. ben mi göremiyorum ki hatayı anlamadım :S
  • calimdor  (25.12.11 08:49:45) 
ya html le ilgili bir sorun var. textbox'a istediğim linki gireyim, yalnızca ilk girdiğim linkin verilerini alıyor.

şimdi manuel olarak ayarladım

----------------------


$site = file_get_contents("iddaa.broadagesports.com

$title = explode('<div id="menuContent_leagueTeamStatistics" class="teamStatsMenuContainer" style="display:none">',$site);
$title = explode('<div style="clear:both"></div>',$title[1]);

echo $title[0];
--------------


böyle bir şey,, doğru verdi sonucu. html'den de hiç anlamam desem yeridir :S
  • calimdor  (25.12.11 10:00:01 ~ 11:08:49) 
Şu anda fazla kodlara göz gezdirebilme imkanım yok ama sorunun html'den mi php den mi kaynaklandığının tespitini şu şekilde yapabilirsin.
Gonderme fonksiyonunda
alert(verim);
de senin text olarak girdiğin verinin javascriptte aynı şekilde gelip gelmediğini anlarsın doğruysa
php de
echo $veri;
de url'nin php ye doğru gidip gitmediğini anlarsın.
Doğruysa;
explode etmeden sonuçları yazdır sayfaya girip girmediğini anlarsın.
  • bir kac yazar once  (25.12.11 10:51:43) 
link üzerinden veri gönderirken özellikle url filan gönderirken encode ederek göndermelisin,

url:"veri.php?veri="+verim

dediğin zaman url içindeki bazı karakterler bozulur. mesela senin gönderdiğin link'te "&" bu karakterden dolayı url doğru işlenmiyor. haliyle sen türkiye ligi link'i veya italya ligi link'i versen de o link hep şu şekilde gidiyor php sayfasına,

iddaa.broadagesports.com

dikkat edersen bu link'te hep türkiye ligine gidiyor. o yüzden türkiye ligi'ni çekmiş oluyorsun hep.

____________________________

yani kısacası veri gönderirken encodeURIComponent'i kullanmalısın, yapman gereken tek değişiklik şöyle,

url:"veri.php?veri="+encodeURIComponent(verim),
  • ocanal  (25.12.11 12:03:19 ~ 12:03:39) 
1
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler angelus, Artibir, aychovsky, baba jo, basond, compumaster, deckard, duyulmasi gerektigi kadar, fader, fraise, groove salad, kahvegibi, kaymaktutmayansicaksut, kibritsuyu, monstro, pandispanya, robin, ron dennis
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır. Skimlinks ile linkler üzerinden yönlendirme payı alınmaktadır.