$ch= curl_init();
curl_setopt_array($ch,[
CURLOPT_URL => 'https://www.olx.ro/animale-de-companie/animale-de-companie/',//buranın adresi degistirilcek
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_RETURNTRANSFER => 1
]);
$veri = curl_exec($ch);
curl_close($ch);
//
preg_match_all('/img class="fleft" src="(.*?)"/',$veri,$sonuc);
preg_match_all('@<strong>(.*?)</strong>@',$veri,$yazi);
echo "<pre>";
print_r($yazi);
echo "</pre>";
$i=0;
foreach($sonuc[1] as $key) {
echo $yazi[0][$i]." "."<img src='".$key."' style='height:50px; width:50px;'/>.<br>";
$i++;
} phpde bot yazma sorunu
25
●249
- 11-12-2021, 22:58:20Üyeliği durdurulduselam arkadaşlar php de bir konuda takıldım şu siteden bu site telefonları çekmek istiyorum.ama çekemedim şöle bir kod yazdım cul ile resimleri çekebiliyorum ama yazıları çekemiyorum.lütfen yardım edermisiniz büyük bir ihtimalle preg_match_all'da sorun olabilir işte kodlarım:
- 11-12-2021, 23:28:59Şu sayfaya POST gönderilip, HTML sonuç alınmaktadır.
https://www.olx.ro/ajax/search/list/
Şu şekilde çalıştığını görebilirsiniz.
<?php function minify($buffer) { $search = array( '/\>[^\S ]+/s', '/[^\S ]+\</s', '/(\s)+/s' ); $replace = array( '>', '<', '\\1' ); $buffer = preg_replace($search, $replace, $buffer); $buffer = str_replace('> <', '><', $buffer); $buffer = str_replace("\t", '', $buffer); $buffer = preg_replace('/<!--.*?-->/ms', '', $buffer); return $buffer; } $ch = curl_init(); curl_setopt_array($ch, [ CURLOPT_URL => 'https://www.olx.ro/ajax/search/list/', CURLOPT_SSL_VERIFYPEER => false, CURLOPT_POST => 1, CURLOPT_POSTFIELDS => http_build_query(array('search' => array('category_id' => 101), 'page' => 1)), CURLOPT_RETURNTRANSFER => 1 ] ); $buffer = minify(curl_exec($ch)); curl_close($ch); preg_match_all('#<img class="fleft" src="(.+?)" alt="(.+?)">#si', $buffer, $matches); foreach ($matches[2] as $index => $img) { echo '<li>'; echo '<figure>'; echo '<img src="' . $matches[1][$index] . '" style="width:216px;height:152px;object-fit:cover;">'; echo '<figcaption>' . $matches[2][$index] . '</figcaption>'; echo '</figure>'; echo '</li>'; } - 11-12-2021, 23:51:06Üyeliği durdurulduhocam ne yaptınız siz bu ne ya?? hiç bişey anlamadım ben biraz açık anlatırsanızQuarkChain adlı üyeden alıntı: mesajı görüntüle
- 11-12-2021, 23:55:48Örnek verdiğiniz adres kaynağını görüntüleme yaparsanız, listenen verilerin kaynakta olmadığını göreceksiniz yani ajax ile sayfaya çağırılıyor.
Verileri alacağınız sayfa farklı.
Kodda ekstra bir şey yok sadece minify adında bir fonksiyon ekledim, oda gelen HTML verinin gereksiz boşlukları vs temizleyip daha sağlıklı ayıklayabilmek için. - 12-12-2021, 00:09:44Üyeliği durdurulduSiz şunumu demek istiyorsunuz hocam veriler JavaScript ile yani ajax ile geliyor bu yüzden ben verileri çekemedimQuarkChain adlı üyeden alıntı: mesajı görüntüle
- 12-12-2021, 00:21:10Evet aynen öyle. Chrome konsol'dan Network / Fetch/XHR incelerseniz eğer o sayfaya POST edildiğini görürsünüz.
Betmen35 adlı üyeden alıntı: mesajı görüntüle - 12-12-2021, 00:29:10Üyeliği durdurulduHocam şimdi anladım çok teşekkür ederim peki bunun %100 çözümü nedir?QuarkChain adlı üyeden alıntı: mesajı görüntüle
- 12-12-2021, 00:30:20Yani PHP bilginiz çok fazla az sanırım, onumu anlıyorum. Zaten çalışan kodları size verdim, onun üzerinden kendi geliştirmenizi yapabilirsiniz.
Betmen35 adlı üyeden alıntı: mesajı görüntüle - 12-12-2021, 00:40:12Üyeliği durdurulduYok yanlış anlamışsınız PHP bilgim varda benimde bilmediğim şeyler var sonuçta mükemmel değiliz..fakat yapacağım şey o post edilen Sayfa üstünden verileri çekmek olucak anladım.QuarkChain adlı üyeden alıntı: mesajı görüntüle

