Ş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>';
}