lostyazilim
tr.link

PHP çekilen kaynak siteyi tek satır yapmak

13 Mesajlar 5.592 Okunma
lstbozum
tr.link

moryesil moryesil WM Aracı E-Mail Onaysız
  • Üyelik 26.01.2013
  • Yaş/Cinsiyet 37 / E
  • Meslek Öğretmen
  • Konum Trabzon
  • Ad Soyad M** Ç**
  • Mesajlar 67
  • Beğeniler 8 / 10
  • Ticaret 2, (%100)
Arkadaşlar merhaba. PHP de yeniyim. Araştırıp deneyerek bir şeyler öğrenmeye çalışıyorum.
Yapmak istediğim basit bir bot için bir noktada takıldım, yardım etmenizi istiyorum.

Aslında belki çok basit bir şeydir. Ama kaynak bulamadım ben.

Sorun: Çektiğim kaynak siteyi tek satır halinde görüntülemek istiyorum. Satır olunca veriyi çekemiyorum.

Örnek Kaynak Kodu:



Ankara: 20





kaynak bu şekilde olduğunda benim kod veriyi çekmiyor.
kullandığım yapı


$veri = file_get_contents("$haberurl");
preg_match('@
(.*?)
@si',$veri,$hava);

echo $hava;



Kaynağı Şu şekilde yaparsam çalışır diye düşünüyorum.


Ankara: 20



Tüm site yaynağını tek satır yapabilmek için ne yapmalıyım ?
 

 

wmaraci
reklam

Rec Rec Rock Metal and Yazılım. Kullanıcı
  • Üyelik 13.11.2013
  • Yaş/Cinsiyet 27 / E
  • Meslek Girişimci
  • Konum İstanbul Avrupa
  • Ad Soyad C** A**
  • Mesajlar 146
  • Beğeniler 37 / 36
  • Ticaret 0, (%0)
php değilde htmlden iframe dene siteyi tek kodla sitende gösterir
 

 

alidebre alidebre www.alidebre.com Kullanıcı
  • Üyelik 26.11.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek Bilgisayar/Web Programclığı
  • Konum Manisa
  • Ad Soyad A** D**
  • Mesajlar 257
  • Beğeniler 8 / 46
  • Ticaret 0, (%0)
curl kütüphanesi kullan çektiğin sitenin newline tab vs temizlersin.
Al sana curl fonksiyon

$baglan =Baglan("http://www.siteadresi.com"); olarak bağlanırsın preg_match ile verileri çekersin

error_reporting(0);

function Baglan($url){
$curl=curl_init();
curl_setopt($curl,CURLOPT_URL, $url);
curl_setopt($curl,CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl,CURLOPT_USERAGENT,$_SERVER["HTTP_USER_AGENT"]);
$cikti=curl_exec($curl);
curl_close($curl);
return str_replace(array("\n","\t","\r"), null, $cikti);
}

?>
 

 

moryesil moryesil WM Aracı E-Mail Onaysız
  • Üyelik 26.01.2013
  • Yaş/Cinsiyet 37 / E
  • Meslek Öğretmen
  • Konum Trabzon
  • Ad Soyad M** Ç**
  • Mesajlar 67
  • Beğeniler 8 / 10
  • Ticaret 2, (%100)
iframe olmaz sanırım hocam. php ile bot yazmaya çalışıyorum. örneğin meteorolojinin sitesinden hava durumu alacağım. ama yukarıdaki sıkıntıdan dolayı veriyi gösteremiyorum.

ya da uygun kodlama yapısı nedir onu bilmiyorum.

Ek Olarak: hocam verdiğiniz kodu uyguladım ama sonuç elde edemedim. bakar mısınız yanlış mı uyguladım:



$baglan =Baglan("http://www.modkadin.com");
error_reporting(0);

function Baglan($url){
$curl=curl_init();
curl_setopt($curl,CURLOPT_URL, $url);
curl_setopt($curl,CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl,CURLOPT_USERAGENT,$_SERVER["HTTP_USER_AGENT"]);
$cikti=curl_exec($curl);
curl_close($curl);
return str_replace(array("\n","\t","\r"), null, $cikti);
}

echo $cikti;







alidebre adlı üyeden alıntı

curl kütüphanesi kullan çektiğin sitenin newline tab vs temizlersin.
Al sana curl fonksiyon

$baglan =Baglan("http://www.siteadresi.com"); olarak bağlanırsın preg_match ile verileri çekersin

error_reporting(0);

function Baglan($url){
$curl=curl_init();
curl_setopt($curl,CURLOPT_URL, $url);
curl_setopt($curl,CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl,CURLOPT_USERAGENT,$_SERVER["HTTP_USER_AGENT"]);
$cikti=curl_exec($curl);
curl_close($curl);
return str_replace(array("\n","\t","\r"), null, $cikti);
}

?>
 

 

wmaraci
wmaraci

Onur89TR Onur89TR Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 04.12.2011
  • Yaş/Cinsiyet 35 / E
  • Meslek .
  • Konum İzmir
  • Ad Soyad ** **
  • Mesajlar 2376
  • Beğeniler 704 / 791
  • Ticaret 1, (%100)
Ben şu şekilde kullanıyorum.
function Baglan($url) {
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl,CURLOPT_USERAGENT, $_SERVER["HTTP_USER_AGENT"]);
$cikti = curl_exec($curl);
curl_close($curl);
$cikti = str_replace(array("\n","\t","\r"), null, $cikti);
return $cikti;
}
?>


Ek Olarak: Fonksiyon üstte olmalı moryesil.
 

 

alidebre alidebre www.alidebre.com Kullanıcı
  • Üyelik 26.11.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek Bilgisayar/Web Programclığı
  • Konum Manisa
  • Ad Soyad A** D**
  • Mesajlar 257
  • Beğeniler 8 / 46
  • Ticaret 0, (%0)
Yanlış yapmışısınız bu kodları fonksiyon.php olarak kaydedin.

error_reporting(0);

function Baglan($url){
$curl=curl_init();
curl_setopt($curl,CURLOPT_URL, $url);
curl_setopt($curl,CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl,CURLOPT_USERAGENT,$_SERVER["HTTP_USER_AGENT"]);
$cikti=curl_exec($curl);
curl_close($curl);
return str_replace(array("\n","\t","\r"), null, $cikti);
}

?>

sonra bot.php oluşturun içine










$Baglan = Baglan("http://www.modkadin.com");
preg_match('#
(.*?)
#',$Baglan,$hava);
print_r($hava);
?>




yazın preg_match kısmından çekeceğiniz yerin kodlamasını ayarların print_r array sonuçlarını yazdırır onun doğrultusunda gidebilirsiniz.
 

 

soulmy soulmy WM Aracı Kullanıcı
  • Üyelik 12.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Öğretmen
  • Konum Samsun
  • Ad Soyad O** Y**
  • Mesajlar 1722
  • Beğeniler 398 / 400
  • Ticaret 20, (%100)
$veri = file_get_contents("$haberurl");
preg_match('/
(.*?)
/s',$veri,$hava);

echo $hava;

Şu şekilde dener misin?
 

 

.

moryesil moryesil WM Aracı E-Mail Onaysız
  • Üyelik 26.01.2013
  • Yaş/Cinsiyet 37 / E
  • Meslek Öğretmen
  • Konum Trabzon
  • Ad Soyad M** Ç**
  • Mesajlar 67
  • Beğeniler 8 / 10
  • Ticaret 2, (%100)

soulmy adlı üyeden alıntı

$veri = file_get_contents("$haberurl");
preg_match('/
(.*?)
/s',$veri,$hava);

echo $hava;

Şu şekilde dener misin?



Warning: preg_match() [function.preg-match]: Unknown modifier 'a' in

diye hata verdi hocam dediğiniz biçimde yapınca.
 

 

soulmy soulmy WM Aracı Kullanıcı
  • Üyelik 12.06.2012
  • Yaş/Cinsiyet 38 / E
  • Meslek Öğretmen
  • Konum Samsun
  • Ad Soyad O** Y**
  • Mesajlar 1722
  • Beğeniler 398 / 400
  • Ticaret 20, (%100)

moryesil adlı üyeden alıntı

Warning: preg_match() [function.preg-match]: Unknown modifier 'a' in

diye hata verdi hocam dediğiniz biçimde yapınca.


$veri = file_get_contents("$haberurl");
preg_match("/
(.*?)<\/div>/s",$veri,$hava);

echo $hava;
 

 

.

Gandak Gandak Web Master &amp; Yazar Kullanıcı
  • Üyelik 25.08.2013
  • Yaş/Cinsiyet 33 / E
  • Meslek Web Master &amp; Yazar
  • Konum Balıkesir
  • Ad Soyad M** K**
  • Mesajlar 230
  • Beğeniler 36 / 49
  • Ticaret 25, (%100)
hocam kodlardaki satırları ve boşlukları php de sil bence yani gelen veriyi ilk düzenle sonra içinden çek veriyi
 

 

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)