Takip et

Web sitesinin ekran görüntüsü URL üzerinden nasıl alınabilir? (PHP)

Merhaba, bu makalede, bir web sitesinin URL üzerinden ekran görüntüsünü yakalamak için basit bir PHP betiği yazacağız. Bunu yaparken google amcanın pagespeedonline servisinin sunmuş olduğu JSON çıktısını kullanacağız.

Bunu örnek bir çalışmaya dönüştürmeye kadar verdim. Dolayısıyla kullanıcıdan URL almak için bir HTML formu oluşturacağız. Buradan gelen URL ile işlem yaptırarak, kullanıcıya sitenin ekran görüntüsünü göstereceğiz.

HTML Form

<form method="post" action="screenCaptureFromURL.php" >
<p>Website URL: <input type="text" name="url" value="" /></p>
<input type="submit" name="submit" value="Website URL">
</form>

Yeni bir alan olan URL ve gönder butonunu içeren basit bir form oluşturduk. Gönder butonu isteği sunucuya göndermek için. Form isteğimizi screenCaptureFromURL.php dosyasına yönlendirildiğinden, şimdi dilerseniz screenCaptureFromURL.php dosyasını oluşturmaya başlayalım.

Sabir bir URL için ekran görüntüsü oluşturmak için kullanacağımız PHP kodları

Web sitesi ekran görüntüsünü elde etmek için google api kullanacağız. Kod bölümlerini daha iyi anlamak için betikler arası yorumları inceleyebilirsiniz.

Örnek istek URL üzerinden JSON ile google tarafından nasıl veriler döndüğünü inceleyebilirsiniz.

https://www.googleapis.com/pagespeedonline/v2/runPagespeed?url=http://fatihsoysal.com&screenshot=true

<?php
//screenCaptureFromURL.php
if(!empty($_POST['url'])){
    //website url
    $siteURL = $_POST['url'];
 
    if(filter_var($siteURL, FILTER_VALIDATE_URL)){
        //Google PageSpeed Insights API'yi URL göndererek çağıralım.
        $googlePagespeedData = file_get_contents("https://www.googleapis.com/pagespeedonline/v2/runPagespeed?url=$siteURL&screenshot=true");
 
        //json verileri decode edelim
        $googlePagespeedData = json_decode($googlePagespeedData, true);
 
        //screenshot verisini alalım
        $screenshot = $googlePagespeedData['screenshot']['data'];
        $screenshot = str_replace(array('_','-'),array('/','+'),$screenshot);
 
        //ekrana site ekran görüntüsünü gösterelim.
        echo "<img src=\"data:image/jpeg;base64,".$screenshot."\" />";
    }else{
        echo "Lütfen geçerli bir URL yazınız.";
    }
}
?>

Bir makalenin daha sonuna geldik. Soru, görüş ve önerilerinizi hemen altta bulunan yorum bölümünden paylaşabilirsiniz. Sağlıkla, huzurla kalın.

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Gönder

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.
Exit mobile version