wmaraci reklam

Curl ile belirli bir alanı çekme

6 Mesajlar 1.290 Okunma
pst.net
wmaraci reklam

mrhydgn mrhydgn Webmaster Kullanıcı
  • Üyelik 19.08.2015
  • Yaş/Cinsiyet 30 / E
  • Meslek Webmaster
  • Konum Sakarya
  • Ad Soyad E** A**
  • Mesajlar 54
  • Beğeniler 24 / 6
  • Ticaret 0, (%0)
Merhabalar. https://www.livebitcoinnews.com/news/bitcoin-news/ linkteki sayfada yer alan haberleri çekmek istiyorum. Fakat her haber için post id farklı olduğundan thumbnail, başlık, açıklama vs. alanlarını parçalayamıyorum. Örnek kod aşağıda yer almaktadır. Bu konuda yardımcı olabilir misiniz ?


function startBot($site_url , $timeout = 5)
{

$ch = curl_init();

$tarayici = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:32.0) Gecko/20100101 Firefox/32.0';

curl_setopt($ch, CURLOPT_URL,$site_url);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER , 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER , 1);
curl_setopt($ch, CURLOPT_HEADER , 0);
curl_setopt($ch, CURLOPT_TIMEOUT , $timeout);
curl_setopt($ch, CURLOPT_USERAGENT , $tarayici);

$result = curl_exec($ch);
curl_close($ch);

return $result;

}

$kaynak = startBot('https://www.livebitcoinnews.com/news/bitcoin-news/');

preg_match_all('@

(.*?)

@si' , $kaynak , $cik);
preg_match_all('@(.*?)@si' , $kaynak , $cikti);

echo "
";

//print_r($kaynak);
echo "
";

for($sayi = 0; $sayi < 9; $sayi++) {
echo '';
echo $cik[0][$sayi];
echo $cikti[0][$sayi];
echo "";
}
 

 

wmaraci
reklam

Decimas Decimas WM Aracı Kullanıcı
  • Üyelik 19.04.2015
  • Yaş/Cinsiyet 26 / E
  • Meslek Developer
  • Konum İstanbul Avrupa
  • Ad Soyad E** E**
  • Mesajlar 821
  • Beğeniler 1 / 302
  • Ticaret 1, (%100)
Regex bir noktadan sonra zaman kaybı, bunun yerine işin mantığına uygun olarak DOM'da selectors mantığını PHP tarafında uygulamalısın.
mrhydgn

kişi bu mesajı beğendi.

no time for caution

mrhydgn mrhydgn Webmaster Kullanıcı
  • Üyelik 19.08.2015
  • Yaş/Cinsiyet 30 / E
  • Meslek Webmaster
  • Konum Sakarya
  • Ad Soyad E** A**
  • Mesajlar 54
  • Beğeniler 24 / 6
  • Ticaret 0, (%0)
Decimas Teşekkürler, file_get_html mantığı ile kolay bir şekilde istediğim sonuca ulaştım. Ek olarak belirtmeyi unuttuğum bir nokta var. Çektikten sonra sayfada sürekli olarak bir yenileme oluyor. Bunun önüne geçebilir miyiz ? Ya da alternatif olarak dbye kaydedip öyle mi basmalıyım ?
 

 

Decimas Decimas WM Aracı Kullanıcı
  • Üyelik 19.04.2015
  • Yaş/Cinsiyet 26 / E
  • Meslek Developer
  • Konum İstanbul Avrupa
  • Ad Soyad E** E**
  • Mesajlar 821
  • Beğeniler 1 / 302
  • Ticaret 1, (%100)
mrhydgn tüm içeriği doğrudan basıyorsan belki içinde yenileme kodu olduğu için yapabilir.
 

 

no time for caution
wmaraci
Mersin evden eve nakliyat

basich basich WM Aracı Kullanıcı
  • Üyelik 24.08.2018
  • Yaş/Cinsiyet 27 / E
  • Meslek Maliyeci
  • Konum Uşak
  • Ad Soyad L** H**
  • Mesajlar 890
  • Beğeniler 109 / 319
  • Ticaret 8, (%100)
str_replace() Fonksiyonlu kullanarak yenileme kodunu kaldırabilirsiniz
 

 

mrhydgn mrhydgn Webmaster Kullanıcı
  • Üyelik 19.08.2015
  • Yaş/Cinsiyet 30 / E
  • Meslek Webmaster
  • Konum Sakarya
  • Ad Soyad E** A**
  • Mesajlar 54
  • Beğeniler 24 / 6
  • Ticaret 0, (%0)
Teşekkürler, cssleri de ekledim ana siteden. Bahsettiğim yenileme düzeldi.
 

 

wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al