dediğiniz şekilde daha önceden denedim fakat tam istediğim içeriği vermedi bu şekilde sizin dediğiniz gibi yaptığımızda istediğimiz yeri elde edemiyoruz bu yüzden kodu atmadan denemelisiniz bence hocam.
Denemediğim hiçbir kodu paylaşmam ama bence siz ne istediğinize önce bir karar vermelisiniz.
Kod çalışıyor ancak belliki sizin isteklerinizi karşılamıyor. Sanırım ürüne ait bilgileri çektirmeye çalışıyosunuz listenenler içinden; </div> bitişi ile çektiğinizden dolayı diğer verileri almadan geçiyor, bitişi </li> yaparsanız sanırım istediğiniz olur.
Ama profosyonel destek almanızı veya bu konu ile ilgili dersleri incelemenizi öneririm. Benden bu kadar
Örnek kod;
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://www.hepsiburada.com/kampanyalar/cok-satan-kitaplar',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_REFERER => "https://google.com.tr/",
CURLOPT_USERAGENT => "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36"
]);
$cek = curl_exec($curl);
$cek = preg_replace("/\s+/", " ", $cek);
preg_match_all('@<div class="box product (.*?)" data-bind="(.*?)">(.*?)</li>@si', $cek, $sonuc);
curl_close($curl);
echo"<pre>";
print_r($sonuc);
echo "</pre>";
?>