• Bu site çerezler kullanır. Bu siteyi kullanmaya devam ederek çerez kullanımımızı kabul etmiş olursunuz. Daha fazla bilgi edin.

Php veri çekme

Konuyu Okuyan Kişiler (0)

Chp

webmaster.tc
Katılım
8 Şub 2013
Mesajlar
38
Beğeniler
0
#1
arkadaşlar bir bot olayım var. her veriyi çekiyorum ama açıklama kısmını çekemiyorum... (hayal oyun botu) normalde oyun açıklaması kısmına title girilmiş botta ancak ben oyun açıklamasını yazdırmak istiyorum. (1 gram php bilgim olduğundan kendi çapımda örneklere bakarak yapmaya çalıştım.)

PHP:
if(preg_match('#<param name="movie" value="(.*?)">#si',$xxadata,$asfurl)){
[COLOR="Red"]preg_match('#<span class="ttl"> Oyunu Hakkında:</span>(.*?)<div class="cb"></div>#s', $xxdata, $abcaciklama);[/COLOR]
$aciklama = $abcaciklama[1];
//$aciklama=$abchow[1];
$embed = $asfurl[1].'swf';
misal embed i çekebiliyorum. başlığı, resmi, linki... resmi kendi siteme çekme işlemindede sorun yok. bot gayet güzel çalışıyor.
ancak açıklama kısmını bir türlü çekemedim...

kodun tamamı şu şekilde;

PHP:
<?php
echo '<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
function addtodb(uid){
$("#btn-"+uid+"").css({width:"200px"});
$("#btn-"+uid+"").attr("value", "Lütfen bekleyiniz...");
$("#btn-"+uid+"").attr("disabled", "disabled");
var vtitle = $("#title-"+uid+"").val();
var vurl = $("#swfurl-"+uid+"").val();
var vimg = $("#imgurl-"+uid+"").val();
var vtags = $("#tags-"+uid+"").val();
var vhowto = $("#howto-"+uid+"").val();
var catid = $("#catid-"+uid+"").val();
var vpstatus = $("#pstatus-"+uid+"").val();
var ybotcheckurl = $("#YBotCheckurl-"+uid+"").val();
var pasonval;
if ($("#pason-"+uid).is(":checked"))
{
pasonval = $("#pason-"+uid).val();
}else{
pasonval = null;
}

$.post(\'edit.php?page='.$xpdirpath.'&do=add\',{ vtitle:vtitle,catid:catid,vimg:vimg,vtags:vtags,vhowto:vhowto,vpstatus:vpstatus,vurl:vurl,ybotcheckurl:ybotcheckurl,ypason:pasonval  }, function(data) {
if(data != \'1\'){
$("#msg-"+uid).html(data);
$("#msg-"+uid).show();
$(window).scrollTop($("#game-"+uid).offset().top-50).scrollLeft($("#game-"+uid).offset().left);
}else{
$("#game-"+uid).hide("medium"); 
}
$("#btn-"+uid+"").css({width:"80px"});
$("#btn-"+uid+"").attr("value", "Ekle");
$("#btn-"+uid+"").removeAttr("disabled");  
});
}
</script>';
echo '<center><h4>Oyunskor.com Botu [ <a href="edit.php?page='.$xpdirpath.'">Geri</a> ]</h4>';

if(is_numeric($_GET['bsayfa'])){
$bpage = $_GET['bsayfa'];
}else{
$bpage = 1;
}
$ch = curl_init();
if(empty($_GET['search'])){
if(empty($_GET['cat'])){
if($bpage > 1){
curl_setopt($ch, CURLOPT_URL,'http://www.oyunskor.com/yenioyunlar-'.$bpage.'.html');
}else{

curl_setopt($ch, CURLOPT_URL,'http://www.oyunskor.com/yenioyunlar.html');
}
}else{

if($bpage > 1){
curl_setopt($ch, CURLOPT_URL,'http://www.oyunskor.com/'.str_replace('.html','-'.$bpage.'.html',$_GET['cat']));
}else{
if($_GET['cat'] == 1){
curl_setopt($ch, CURLOPT_URL,'http://www.oyunskor.com/yenioyunlar.html');
}else{
curl_setopt($ch, CURLOPT_URL,'http://www.oyunskor.com/'.$_GET['cat']);
}
}

}
}else{
curl_setopt($ch, CURLOPT_URL,'http://www.oyungemisi.com/'.urldecode($_GET['search']).'-oyunlari');

}

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_REFERER, 'http://www.google.com/');
curl_setopt($ch,CURLOPT_USERAGENT,'Googlebot/2.1 (+http://www.google.com/bot.html)');
$data = curl_exec($ch);
curl_close($ch);

echo '<form action="edit.php" method="get">Kategori: <select name="cat">
<option value="1" title="Ameliyat Oyunları">Yeni Oyunlar</option>
';
preg_match('#<div class="winContent orangeContent bl5 br5">(.*?)</div>#si',$data,$abcdd);
preg_match_all('#href="(.*?)"(.*?)>(.*?)</a>#si',$abcdd[1],$abcdad);
$abci =0;

foreach($abcdad[1] as $abcyaz){
echo '<option value="'.str_replace('http://www.oyunskor.com/','',$abcyaz).'">'.iconv('ISO-8859-9','UTF-8',$abcdad[3][$abci]).'</option>';
$abci++;
}
echo '</select> - <input type="text"size="3" name="bsayfa" value="'.$bpage.'" /> | <input type="submit" value="Getir" /><input type="hidden" name="page" value="'.$xpdirpath.'" />   <input type="hidden" name="site" value="'.$_GET['site'].'" /></form><br /> Ya da Ara:<form action="edit.php" method="get"><input type="text" name="search" value="" /> | <input type="submit" value="Ara" /><input type="hidden" name="site" value="'.$_GET['site'].'" />';

echo'<input type="hidden" name="page" value="'.$xpdirpath.'" /></form><hr style="width:30%;border:1px solid #999;" />';

preg_match_all('#<ul class="miniGameList(.*?)</ul>#si', $data, $cektim34);

$abccek = $cektim34[1][0].$cektim34[1][1];

preg_match_all('#href="(.*?)"(.*?)src="(.*?)"(.*?)>(.*?)</a>#si', $abccek, $iurll);

echo '<table width="70%" cellspacing="10"><tr width="100%">';
$mi=0;
$i=0;

foreach($iurll[1] as $yaz){
$title = iconv('ISO-8859-9','UTF-8',$iurll[5][$mi]);
$ylink = $yaz;
$ilink = $iurll[3][$mi];
$chx = curl_init();
curl_setopt($chx, CURLOPT_URL,$ylink);
curl_setopt($chx, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($chx, CURLOPT_REFERER, 'http://www.google.com/');
curl_setopt($chx,CURLOPT_USERAGENT,'Googlebot/2.1 (+http://www.google.com/bot.html)');
$xxdata = curl_exec($chx);
curl_close($chx);

preg_match('#href="game.php\\?file=(.*?)"#si', $xxdata, $abcplay);
$abcgo    = $abcplay[1];
if(!empty($abcgo)){

$chxa = curl_init();
curl_setopt($chxa, CURLOPT_URL,'http://www.oyunskor.com/game.php?file='.$abcgo);
curl_setopt($chxa, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($chxa, CURLOPT_REFERER, 'http://www.google.com/');
curl_setopt($chxa,CURLOPT_USERAGENT,'Googlebot/2.1 (+http://www.google.com/bot.html)');
$xxadata = curl_exec($chxa);
curl_close($chxa);

if(preg_match('#<param name="movie" value="(.*?)">#si',$xxadata,$asfurl)){
[COLOR="red"]preg_match('#<span class="ttl"> Oyunu Hakkında:</span>(.*?)<div class="cb"></div>#s', $xxdata, $abcaciklama);
$aciklama = $abcaciklama[1];[/COLOR]
$embed = $asfurl[1].'swf';
$tarr = implode(',',explode(" ",$title));
$etiket = "{$tarr} ,Oyun,Oyunu,Oyna,Oyunlar,Oyunları,Oyun Oyna";
echo '<td id="game-'.$i.'" width="90%" style="border: 1px solid #696969; margin: 5px;">
<input type="hidden" id="YBotCheckurl-'.$i.'" value="'.$ylink.'" />
<div id="msg-'.$i.'" style="background-color:#A4A4A4;color:white;padding:5px;margin:5px;font-size:14px;font-weight:bold;display:none;"></div>
<table>
<tr>
<td colspan="2"><a href="'.$embed.'" title="OYNA" target="_blank"><img src="'.$ilink.'" style="border:1px solid #ccc;padding:5px;width:120px;height:90px;vertical-align:middle;" /></a> </td>
</tr>
<tr>
<td>Başlık: </td>
<td><input type="text" id="title-'.$i.'" style="width:600px;" value="'.$title.'" /></td>
</tr>
<tr>
<td>Resim URL : </td>
<td><input type="text" id="imgurl-'.$i.'" style="width:600px;" value="'.$ilink.'" /></td>
</tr>
<tr><td>Kategori: </td> <td>
<select id="catid-'.$i.'" multiple="multiple"> ';
$category_ids = get_all_category_ids();
foreach($category_ids as $cat_id) {
$cat_name = get_cat_name($cat_id);
  	$option = '<option value="'.$cat_id.'">';
	$option .=  $cat_name;	
	$option .= '</option>';
	echo $option;
  }
echo '</select></td></tr>

<tr>
<td>SWF URL: </td>
<td><input type="text" id="swfurl-'.$i.'" style="width:600px;" value="'.$embed.'" style="width:200px;" /></td>
</tr>

<tr>
<td>Etiketler: </td>
<td><input type="text" id="tags-'.$i.'" style="width:600px;" value="'.$etiket.'" style="width:200px;" /></td>
</tr>

<tr>
<td>Açıklama: </td>
<td><textarea style="width:600px;height:150px" id="howto-'.$i.'">'.$aciklama.'</textarea></td>
</tr>
<tr><td>Yayın Durumu: </td><td><select id="pstatus-'.$i.'">
<option value="future">Otomatik Zamanla</option>
<option value="draft">Taslağa At</option>
<option value="publish">Direkt Yayınla</option></select></td></tr>
<tr><td>Araya Sıkıştır: </td><td><input type="checkbox" id="pason-'.$i.'" value="1" /></td></tr>
<tr>
<td> </td>
<td><input style="color:red;font-weight:bold;height:50px;width:70px;" id="btn-'.$i.'" type="button" onclick="addtodb('.$i.')" value="Ekle" /></td>
</tr>
</table>
</td></tr>
<tr width="100%">';

}
}
$mi++;
$i++;
}

echo '</tr></table>';



?>
 

Chp

webmaster.tc
Katılım
8 Şub 2013
Mesajlar
38
Beğeniler
0
#3
PHP:
preg_match('#<strong>(.*?)</strong><br />(.*?)</p>#si', $xxdata, $abcaciklama);
şu şekilde değiştirerek açıklama kısmını aldım ancak iconv ile yapmama rağmen türkçe karakterler bozuk çıktı.

açıklama kısmı ise şu şekilde;

PHP:
<strong>Kayıp Kılıç Oyunu Hakkında</strong><br />
						                            Milli nin kayıp kılıcını bulmak için verdiği mücadele oyunskor.com da ortak olun. Kayıp kılıca ulaşmak için canavarlar ile savaşmak zorunda oyunda kontrolleri. YÖN TUŞLARI, S, D,ve F TUŞLARı ile sağlayabilirsiniz.. İyi eğlenceler..                           
                    </p>
------
PHP:
<strong>Kayıp Kılıç Oyunu Hakkında</strong><br /> ile </p> arasındaki kısmı alsam kafii. çünkü benim yaptığımla strong ve p taglerinide aldı
Edit: Türkçe karakter hatası tamam. yalnız oyun başlığı ve o tagler yerine sadece oyun açıklamasını almam gerekli.
 

inforesim

webmaster.tc
Katılım
4 Ağu 2012
Mesajlar
2,439
Beğeniler
0
#4
PHP:
preg_match('#<strong>(.*?)</strong><br />(.*?)</p>#si', $xxdata, $abcaciklama);
şu şekilde değiştirerek açıklama kısmını aldım ancak iconv ile yapmama rağmen türkçe karakterler bozuk çıktı.

açıklama kısmı ise şu şekilde;

PHP:
<strong>Kayıp Kılıç Oyunu Hakkında</strong><br />
						                            Milli nin kayıp kılıcını bulmak için verdiği mücadele oyunskor.com da ortak olun. Kayıp kılıca ulaşmak için canavarlar ile savaşmak zorunda oyunda kontrolleri. YÖN TUŞLARI, S, D,ve F TUŞLARı ile sağlayabilirsiniz.. İyi eğlenceler..                           
                    </p>
------
PHP:
<strong>Kayıp Kılıç Oyunu Hakkında</strong><br /> ile </p> arasındaki kısmı alsam kafii. çünkü benim yaptığımla strong ve p taglerinide aldı
Edit: Türkçe karakter hatası tamam. yalnız oyun başlığı ve o tagler yerine sadece oyun açıklamasını almam gerekli.
Biraz daha geniş ver, diğer<strongları alır bu şekilde. Detaylı görmem lazım.
 

Chp

webmaster.tc
Katılım
8 Şub 2013
Mesajlar
38
Beğeniler
0
#5
</div>
<!--categories column-->



<div class="column gameDescColumn rd5">
<div style="text-align:center; margin-bottom:10px;"><script type='text/javascript'>GA_googleFillSlot("oyun_bilgi_728x90");</script></div>
<div class="cb"></div>
<div class="column content">
<h1 class="ttl">Kayıp Kılıç</h1>
<a href="game.php?file=3640" class="gameLink rd5">
<div class="hreview">
<span class="item">
<img src="http://images.xxxxxxxxxxxx.com/resim/YtfliV90V7.gif" class="photo" />
</span>
</div>

<span class="spr rd3"><span class="spr">Oyuna Başla</span></span>
</a>
<p>
<strong>Kayıp Kılıç Oyunu Hakkında</strong><br />
Milli nin kayıp kılıcını bulmak için verdiği mücadele oyunskor.com da ortak olun. Kayıp kılıca ulaşmak için canavarlar ile savaşmak zorunda oyunda kontrolleri. YÖN TUŞLARI, S, D,ve F TUŞLARı ile sağlayabilirsiniz.. İyi eğlenceler..
</p>
<div class="cb"></div>
<a href="game.php?file=3640" class="strt rd5">Oyuna Başla</a>
 

Chp

webmaster.tc
Katılım
8 Şub 2013
Mesajlar
38
Beğeniler
0
#6
PHP:
preg_match('#<strong>(.*?)</strong><br />(.*?)</p>#si', $xxdata, $abcaciklama);

$aciklama = iconv("iso-8859-9", "UTF-8", $abcaciklama[0]);
şu şekilde başarılı olarak çekiyorum veriyi. ancak yalnızca açıklamayı alamadım. strong ve p taglerinide alarak aynı şekil yazıyor. yalnızca oyun açıklaması kafii


Edit:
PHP:
$aciklama = iconv("iso-8859-9", "UTF-8", $abcaciklama[0]);
kısmını
PHP:
$aciklama = iconv("iso-8859-9", "UTF-8", $abcaciklama[2]);
yaparak problemi hallettim.

inforesim üstadım çok teşekkür ederim. senide zahmete soktum gece gece