[]
Veri Çekmeyle ilgili soru3
arkadaşlar biraz önce sormuştum ama soruyu değiştirmeye karar verdim. önce kodlarımı vereyim ben:
html
---------------------------------------------------------------------
<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="+encodeURIComponent(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>
---------------------------------------------------------------------
php
-------------------------------------
<?php
//veri.php olarak kaydedin
if (isset($_GET['veri'])){
$veri=trim($_GET['veri']);
$adres = file_get_contents($veri);
$title=explode("<table cellpadding='1' border='0' width='98%'>",$adres);
$title=explode('</table>',$title[1]);
echo $title[0];
}else{
echo "Link gelmedi";
}
?>
---------------------------------------
Şimdi, bu kodlar gayet güzel çalışıyor ve istediğim veriyi alıyorum. Daha doğrusu eksik alıyorum. Koddan da anlayacağınız gibi explode'lar arasında verdiğim yazıları yazdırıyor bana.
Ancak bu yukarıdaki gibi onlarca table'lar var ve ben bu onlarca tablonun hepsini geçirtmek istiyorum.
Bu yukarıdaki kod, yalnızca ilk denk geldiği tablodaki verileri alıyor. Diğer tabloları nasıl çektirebilirim ki? Hepsinin "<table cellpadding='1' border='0' width='98%'>" ve </table> arasındaki verilerini almak istiyorum. Yalnızca birincinin değil, tüm tabloların. Nasıl yapabilirim acaba bi destek çıkar mısınız?
html
---------------------------------------------------------------------
<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="+encodeURIComponent(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>
---------------------------------------------------------------------
php
-------------------------------------
<?php
//veri.php olarak kaydedin
if (isset($_GET['veri'])){
$veri=trim($_GET['veri']);
$adres = file_get_contents($veri);
$title=explode("<table cellpadding='1' border='0' width='98%'>",$adres);
$title=explode('</table>',$title[1]);
echo $title[0];
}else{
echo "Link gelmedi";
}
?>
---------------------------------------
Şimdi, bu kodlar gayet güzel çalışıyor ve istediğim veriyi alıyorum. Daha doğrusu eksik alıyorum. Koddan da anlayacağınız gibi explode'lar arasında verdiğim yazıları yazdırıyor bana.
Ancak bu yukarıdaki gibi onlarca table'lar var ve ben bu onlarca tablonun hepsini geçirtmek istiyorum.
Bu yukarıdaki kod, yalnızca ilk denk geldiği tablodaki verileri alıyor. Diğer tabloları nasıl çektirebilirim ki? Hepsinin "<table cellpadding='1' border='0' width='98%'>" ve </table> arasındaki verilerini almak istiyorum. Yalnızca birincinin değil, tüm tabloların. Nasıl yapabilirim acaba bi destek çıkar mısınız?
bu arada kodunu çektiğim siteyle ilgili bilgi isterseniz de hemen verebilirim tabi. valla ilk kez istediğim şeyi yapmaya bu kadar yaklaştım, umarım bütün tabloları tek seferde çektirebilirim :)
- calimdor (26.12.11 11:57:15)
$title=explode("<table cellpadding='1' border='0' width='98%'>",$adres);
$title=explode('</table>',$title[1]);
echo $title[0];
yerine :
preg_match_all("'<table cellpadding=\"1\" border=\"0\" width=\"98%\">(.*?)</table>'si", $adres , $benzer);
foreach($benzer[1] as $gelen){ echo $gelen."<br>"; }
$title=explode('</table>',$title[1]);
echo $title[0];
yerine :
preg_match_all("'<table cellpadding=\"1\" border=\"0\" width=\"98%\">(.*?)</table>'si", $adres , $benzer);
foreach($benzer[1] as $gelen){ echo $gelen."<br>"; }
- ensar (26.12.11 12:10:01)
aynen girdiğimde herhangi bir bilgi çekemedi :S sebebini bilmiyorum.
www.soccerstats.com
burdan deniyorum bilgiyi çekmeyi, ancak ekranda hiçbir hareketlilik yok.
www.soccerstats.com
burdan deniyorum bilgiyi çekmeyi, ancak ekranda hiçbir hareketlilik yok.
- calimdor (26.12.11 12:23:58)
tek tırnakla yazmışlar table parametrelerini ondan çekmezdir. şöyle düzelir:
preg_match_all("'<table cellpadding=\'1\' border=\'0\' width=\'98%\'>(.*?)</table>'si", $adres , $benzer);
foreach($benzer[1] as $gelen){ echo $gelen."<br>"; }
preg_match_all("'<table cellpadding=\'1\' border=\'0\' width=\'98%\'>(.*?)</table>'si", $adres , $benzer);
foreach($benzer[1] as $gelen){ echo $gelen."<br>"; }
- ensar (26.12.11 12:28:14)
çok teşekkür ettim işe yaradı.
- calimdor (26.12.11 12:35:33)
1