Html Kaynaktaki Bütün Resimleri Çekme


Merhaba arkadaşlar,

Facebook’da bir web sayfası paylaştığınızda facebook size sitede bulunan resimleri sunuyordu. Sizde bu resimlerden seçip paylaşıyordunuz. Peki Facebook bir web sayfasındaki bütün resimleri çekebiliyorda siz neden çekemeyesiniz.

İşte bugün size bir web sayfasındaki bütün resimleri cURL ile bağlanıp regexp yardımıyla nasıl ayaklayacağımızı anlatıyorum. Hatta anlatmıyorum direkt olarak kodu paylaşıyorum:

$curl = curl_init("http://www.turk-php.com");
$agent = "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_USERAGENT, $agent); // Mozilla gibi göründük
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // Burayı 0 yaparsanız sitenin çıktısını da ekrana basar. Bunu istemeyiz..
$data = curl_exec($curl);
curl_close($curl);

$images = array();
preg_match_all('/(img|src)=("|')[^"'>]+/i', $data, $media);
unset($data);
$data=preg_replace('/(img|src)("|'|="|=')(.*)/i',"$3",$media[0]);
foreach($data as $url)
{
$info = pathinfo($url);
if (isset($info['extension']))
{
if (($info['extension'] == 'jpg') ||
($info['extension'] == 'jpeg') ||
($info['extension'] == 'gif') ||
($info['extension'] == 'png'))
array_push($images, $url);
}
}

// www.turk-php.com adresindeki bütün resimleri $images dizisine aktardık. Bunun içeriğine de
// şöyle bakalım
echo "<pre>";
print_r($images);
echo "</pre>";


Yorumlar

Bu blogdaki popüler yayınlar

Corel Draw Arrange/Organizasyon Menüsü Kullanım Alanları

Corel Draw Effects Menüsü Kullanım Alanları

Corel Draw 10 Üzerinden Kullanım Anahatları - Önemli Bilgiler