Giriş Yap / Kayıt Ol
sosyal.market

WM Aracı'na üyelikler tekrar açıldı! Kayıt olmak için TIKLAYIN!

1Beğeni
  • 1 Yazan Decimas

Cevap Yaz Favorilerime Ekle
Seçenekler Stil
Geri Git   Forum > > PHP

Curl ile belirli bir alanı çekme

  #1  
Okunmamış 15 Mart 2019, 15:59
Avatar Seçilmemiş
Webmaster
 
Üyelik Tarihi: 19 Ağustos 2015
Yaş / Cinsiyet: 25 / Erkek
Meslek: Webmaster
Konum: İzmir
Ad, Soyad: Em... Ay...
Mesajlar: 47
Beğeniler: 6 / 24
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 ?

PHP- Kodu:
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($chCURLOPT_URL,$site_url);

    
curl_setopt($chCURLOPT_SSL_VERIFYPEER 0);
    
curl_setopt($chCURLOPT_RETURNTRANSFER 1);
    
curl_setopt($chCURLOPT_HEADER         0);
    
curl_setopt($chCURLOPT_TIMEOUT        $timeout);
    
curl_setopt($chCURLOPT_USERAGENT      $tarayici);

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

    return 
$result;

}

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

preg_match_all('@<h3 class="title">(.*?)</h3>@si' $kaynak $cik);
preg_match_all('@<img width="380" height="280" class="attachment-svecc_general_content size-svecc_general_content wp-post-image">(.*?)</img>@si' $kaynak $cikti);

echo 
"<pre>";
//print_r($kaynak);
echo "</pre>";

for(
$sayi 0$sayi 9$sayi++) {
    echo 
'<tr>';
        echo 
$cik[0][$sayi];
    echo 
$cikti[0][$sayi];
    echo 
"</tr>";

  #2  
Okunmamış 15 Mart 2019, 22:37
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 19 Nisan 2015
Yaş / Cinsiyet: 23 / Erkek
Meslek: Coder
Ad, Soyad: Ey... Er...
Mesajlar: 645
Beğeniler: 216 / 1
Ticaret: 0, 0%
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 bunu beğendi.
no time for caution
  #3  
Okunmamış 16 Mart 2019, 00:33
Avatar Seçilmemiş
Webmaster
 
Üyelik Tarihi: 19 Ağustos 2015
Yaş / Cinsiyet: 25 / Erkek
Meslek: Webmaster
Konum: İzmir
Ad, Soyad: Em... Ay...
Mesajlar: 47
Beğeniler: 6 / 24
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 ?
  #4  
Okunmamış 16 Mart 2019, 13:37
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 19 Nisan 2015
Yaş / Cinsiyet: 23 / Erkek
Meslek: Coder
Ad, Soyad: Ey... Er...
Mesajlar: 645
Beğeniler: 216 / 1
Ticaret: 0, 0%
mrhydgn tüm içeriği doğrudan basıyorsan belki içinde yenileme kodu olduğu için yapabilir.
no time for caution
  #5  
Okunmamış 16 Mart 2019, 13:42
Avatar Seçilmemiş
WM Aracı
 
Üyelik Tarihi: 24 Ağustos 2018
Yaş / Cinsiyet: 22 / Erkek
Meslek: Maliyeci
Konum: Uşak
Ad, Soyad: La... Ha...
Mesajlar: 443
Beğeniler: 130 / 54
Ticaret: 5, 100%
str_replace() Fonksiyonlu kullanarak yenileme kodunu kaldırabilirsiniz
  #6  
Okunmamış 17 Mart 2019, 20:20
Avatar Seçilmemiş
Webmaster
 
Üyelik Tarihi: 19 Ağustos 2015
Yaş / Cinsiyet: 25 / Erkek
Meslek: Webmaster
Konum: İzmir
Ad, Soyad: Em... Ay...
Mesajlar: 47
Beğeniler: 6 / 24
Ticaret: 0, 0%
Teşekkürler, cssleri de ekledim ana siteden. Bahsettiğim yenileme düzeldi.
Cevap Yaz Favorilerime Ekle


Konuyu toplam 1 kişi okuyor. (0 üye ve 1 Ziyaretçi)
 
Seçenekler
Stil
Normal Normal

Geri Git   Forum > PHP


Yetkileriniz
Konu açma yetkiniz: Yok
Cevap Yazma Yetkiniz Yok
Eklenti yükleme yetkiniz: Yok
Mesajınızı değiştirme yetkiniz: Yok

BB code: Açık
İfadeler: Açık
[IMG] Kodları: Açık
HTML kodu: Kapalı




Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şu anki Zaman: 22:45.