php

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.trkodlama.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.trkodlama.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>";

Kolay gelsin arkadaşlar,

Post Author: Oral ÜNAL

Web geliştirmeyi başta meslek olarak hayal eden fakat daha sonra bir hobi haline getiren birisiyim işte.

Yorum yazma sırası sizde!