Format xml search image dengan Bing API lawas yang gratis alias free, sudah tidak berlaku. Yang dipakai sekarang Bing API V.2 atau dengan Windows Azure Markerplace, masih ada yang gratis walaupun terbatas (limit) hanya sampai 5000 request. Dengan menggunakan format Bing Windows Azure, kita dapat melakukan parsing PHP yang sederhana untuk Bing Search Image format json dengan cara berikut:
Membuat Form Search Box
<form method="get" action="<?php echo $_SERVER['PHP_SELF'];?>">
Type in a search:
<input type="text" id="searchText" name="s"
value="<?php
if (isset($_GET['s']))
{
echo($_GET['s']);
}
else
{
echo('superman');
}
?>"/>
<input type="submit" value="Search" id="searchButton" />
</form>
Menampilkan hasil pencarian gambar berdasarkan kata kunci (keyword) yang ditentukan.
if (isset($_GET['s'])) {
$accountKey = 'your-account-key-here'; //get it here https://datamarket.azure.com/account
$ServiceRootURL = 'https://api.datamarket.azure.com/Bing/Search/';
$count = 2;//total list
$skip = 0; //for paged
$WebSearchURL = $ServiceRootURL . 'Image?$format=json&$top=' . $count . '&$skip=' . $skip . '&Query=';
$context = stream_context_create(array(
'http' => array(
'request_fulluri' => true,
'header' => "Authorization: Basic " . base64_encode($accountKey . ":" . $accountKey)
)
));
$request = $WebSearchURL . urlencode( '\'' . $_GET['s'] . '\'');
$response = file_get_contents($request, 0, $context);
$jsonobj = json_decode($response);
echo('<ul id="result">');
foreach($jsonobj->d->results as $value)
{
echo('<li class="resultlistitem">');
echo('<b>Title</b>: ' . $value->Title .'<br>');
echo('<b>Url</b>: ' . $value->MediaUrl .'<br>');
echo('<b>Source</b>: ' . $value->SourceUrl .'<br>');
echo('<b>Display Url</b>: ' . $value->DisplayUrl .'<br>');
echo('<b>Width</b>: ' . $value->Width .' px<br>');
echo('<b>Height</b>: ' . $value->Height .' px<br>');
echo('<b>File Size</b>: ' . KByteSize($value->FileSize) .'<br>');
echo('<b>Image Type</b>: ' . $value->ContentType .'<br>');
echo('<b>Thumbnail Url</b>: ' . $value->Thumbnail->MediaUrl . '<br>');
echo('<b>Thumbnail Display</b>:<br><img src="' . $value->Thumbnail->MediaUrl. '"><br>');
echo('<b>Large Image Display</b>:<br><img src="' . $value->MediaUrl. '">');
echo('</li>');
}
echo("</ul>");
}
//function to convert file size image
function KByteSize($bytes) {
$size = $bytes / 1024;
if($size < 1024)
{
$size = number_format($size, 2);
$size .= ' KB';
}
else
{
if($size / 1024 < 1024)
{
$size = number_format($size / 1024, 2);
$size .= ' MB';
}
else if ($size / 1024 / 1024 < 1024)
{
$size = number_format($size / 1024 / 1024, 2);
$size .= ' GB';
}
}
return $size;
}
Tampilannya seperti gambar ini
Pastikan Anda mencantumkan Primary/Account Key Anda dalam kode tersebut, silahkan daftar di Windows Azure https://datamarket.azure.com/account, gratis terbatas. Semoga bermanfaat.
Reference Code
Migrating Bing Search API Applications
Share
Gan gimana agar permalink search uniq, asalnya kan gini : www.namadomain.com/?s=good+images&cat=0
agar seperti ini www.namadomain.com/search/good-images.html atau gini www.namadomain.com/search-good-images.html
Gimana?
Gan , ane pasang script diatas di theme AGC vitarich dan permalink search STT2 seperti ini www.namadomain.com/search/good-images.html
Nah tu script diatas nggak work (AGC image ngk tampil), script baru jalan jika permalink nya /?s=good+images&cat=0
Lalu piye solusine gan?
Perlu dimengerti mas, script PHP ini masih mentah, sangat mentah bahkan, dan bukan cuma diperuntukkan hanya untuk WordPress, karena blog ini punya kategori khusus untuk tutor WordPress, begitu juga script-script lainnya yang ada di blog ini. Jadi tidak bisa langsung digunakan untuk production site, just development. Jadi tugasnya para developer untuk menyesuaikannya dengan cms atau aplikasi yang digunakan. Khusus WP, kalau masalah permalink, plugin STT2EXTAT sudah ada menyediakan pengaturan permalink untuk itu, query s harus diganti get_search_query. please try to learn more about WP theme here https://developer.wordpress.org/themes/getting-started/ dan solusi lainnya please contact your developer.
rame lagi post agc imagenya semenjak google update api hehehe..kalo pake yang ini kira2 kalo kuota azure limit jadi eror image gak nongol ya bang?masih ragu nih buat masang entar baru masang seminggu udah keburu limit hehehe.
jadi eror nih bang bisa bantuin bang?ane ada script agc image yg masih work tapi ane gak bisa edit biar jadi 1 file php doang
link pagenya di baca ada virusnya gan. Sorry.. gak bisa dibuka.
bukan virus bang mungkin iklan popup nakal hehehe..
agc .ane ada plugin agc wordpress yg agc imagenya masih work..bisa bang jevuska bantu edit biar jd 1 file php/yang lebih simple.ane email ya bang…kesian situs ane page imagenya melompong hehehe
send code via email gan… nanti coba dibantu.
Thanks gan, script nya work. tapi ane ingin pasang script nya di 404.php coding nya gimana gan, ane sdah coba2 tetap ngak work
Please bantu ane gan
Untuk WordPress, kode ini menggunakan GET dengan parameter s yang ditujukan untuk halaman search, sedangkan halaman 404 tidak merequest query varian s, lebih baik tetap menggunakan halaman search.php di tambahkan di bagian loop jika tidak ada post yang ditampilkan dan code PHP header tetap 200 OK. Halaman search yang “not Found” bukan berarti itu adalah halaman 404. Selalu hindari halaman web kita menuju ke halaman 404.
Begitu baiklah. Terima kasih atas jawabannya
Maaf gan masih belum paham, bisakah jika script di atas dipasang di singlepost.php dan work?
Jika iya, coding nya gimana?
Untuk WP, itu tergantung dari apa yang ingin kita request dari halaman WP. Jika hanya menginginkan title halaman yang direquest pada single post, cukup menggunakan single_post_title() menggantikan $_GET[‘s’]
Gan nih script masih work nggak?
nggak ada contoh blognya gan work atau nggak gitu?
Please Gan share script AGC Google search image terbaru nya Gan?
Scriptnya ada.. kebetulan ada sobat blogger yang bagi via email kemarin… tapi saya dilarang share. So sorry, belum bisa saya share.
dalam satu pencarian defauld nya 50 gambar.kalo pingin page 2 atau gambar yg 51 ke atas gimana ya mas ?
coba gunakan page=2 gak bisa
gunakan parameter skip mas. code update.
minta link dawnload source kodenya gan
kalau maksudnya kode referensinya ada di sini http://go.microsoft.com/fwlink/?LinkID=248077
Mau tanya om , caranya kalau menambahkan lebih dari api key gimana ya codingnya ? jadi kalau 5000 api pertama habis, otomatis pakai api kedua dan seterusnya.. terima kasih.
belum tersedia API untuk mengetahui total request, jadi musti selalu memantau di https://datamarket.azure.com/account/datasets
dulu waktu di bing untuk filter safemode=on,off ….kalo di azure pakai apa mas ?
makasih banyak sebelum nya
Try “Adult” as parameter and “Off|Moderate|Strict” as optional values.
kode di atas include php 5 gak gan?trims
This code tested in php 5.
kalo kita mau letakan di search.php wordpress di taro di mana yah kang?
before or after the_content loop
Eror bang
Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed in /home/***
trying to compile with curl like this code http://www.jevuska.com/2013/04/15/parsing-rss-menggunakan-curl-dan-simplexmlelement/ or this one may solve your issue… http://php.net/manual/en/migration56.openssl.php