NASIL YAPILIR? web page thumbnail

arcface

Âyinesi iştir kişinin lafa bakılmaz
Kayıtlı Kullanıcı
Katılım
25 Eyl 2020
Mesajlar
216
Tepkime puanı
162
Puanları
48
Konum
istanbul
Web sitesi
www.arcface.net
Merhabalar,

Çok saçma şekilde bunun için api sağlayan yeler bir de ek ücret talep ediyor garibime gidiyor açıkcası google bunu free şekilde sunarken hem de neyse konumuza gelecek olursak thumbnail olarak bilinen küçük resim nasıl alınır onu anlatacağım.

Öncelikle belirttiğim gibi bunu sağalayan 15-20 tane yer bulabilirsiniz ama hepsi ayda 100 alım kadar günde 10 alım kadar limitli verir üstünde ücret talep eder bakın şunu gözden kaçırmayın bahsettiğim şey full hd ekran görüntüsü değil yani 1920x1080px genişliğin de kaliteli bir çıktıdan bahsetmiyorum thumbnail olarak kullanılacak boyutta görselden bahsediyorum bunu google yıllardır sağlıyor ama çoğu kişi bilmiyor google'nin page speed adlı bir işlevi var onu da bırakayım hatta
link olarak :

Burada size hedef site ile ilgili bir çok bilgi döndürür açılış hızı, dosyaların yüklenme hızları vb. Ama bizim için önemli olan bir thumbnail vermesi ve gayet yeterli bir boyutta altta 1tik.net'in vereceğim kodla alınmış bir thumbnail'ini göreceksiniz.

1601038880145.png
google'nin apilerini kullandı iseniz bir çok işlevi zaten ücretsiz sağladığını görebilirsiniz buda onlardan bir tanesi api'ye çeşitli argumanlar da istek atıyorsun ve çıktıyı size döndürüyor json formatında. Sonra bunu alıp işliyorsunuz.

PHP:
<?php

$url = "https://1tik.net/";
$curl_init = curl_init("https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url={$url}");
curl_setopt($curl_init, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($curl_init);
curl_close($curl_init);

$decode = json_decode($response, true);

$snap = str_replace(['_', '-'], ['/', '+'], $decode['lighthouseResult']['audits']['final-screenshot']['details']['data']);
echo "<img src=\"".$snap."\" />";

Kod basit ama anlatayım yine de $url hedef siteniz ve hedef siteyi curl ile google'nin pagespeed apisine istek olarak atıyoruz ve dönen veriyi json'dan php'de kullanacağımız türde diziye çevirip lighthouseResult alanından final-screenshot ile son renderlanmış görseli detay deyip data olarak alıyoruz.

Bu kadar buda size web sitenin görsel çıktısının encode edilmiş halini base64 ile döndürüyor.
Ek olarak ben thumbnail değil de istediğim boyutta çıktı edilmiş bir görüntü istiyorum diyorsanız da böyle bir api var göz atabilirsiniz belli bir kullanıma kadar ücretsiz bunun gibi bir çok api'de bulunuyor github'da bu başlıkta aratarak bulabilirsiniz.
 
5,690Konular
16,886Mesajlar
9,808Kullanıcılar
mustafa1980Son üye
Üst