Bing Search Images

Parsing XML Bing Images ke PHP

Seperti halnya Parsing RSS Bing Search Result ke PHP, untuk Parsing XML Bing Images ke PHP masih menggunakan fungsi php simplexml_load_file untuk merender halaman pencarian gambar Bing search engine.

Berikut kode parsing XML Bing Images ke PHP untuk blog WordPress:

<?php
//function untuk konversi Byte ke KB/MB gambar
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;
    }
?>
<?php
//eksekusi kata kunci
$bingimagequery = urlencode(get_search_query()); 

//jumlah gambar maksimal yang tampil (max 30)
$bingimagecount = 10;

//parsing xml Bing images
$xmlbingimage  = simplexml_load_file('http://www.bing.com/images/search?q='.$bingimagequery.'&count='.$bingimagecount.'&format=xml');

foreach ($xmlbingimage->section->documentset->document as $imagebing) {
//menampilkan gambar kecil dan sedang dengan eksternal link ke halaman bing image
  echo  '<a rel="nofollow" target="_blank" href="http://www.bing.com/images/search?q='.urlencode($bingimagequery).'&view=detail&id='.$imagebing->id.'">';
  echo  '<img src="'.$imagebing->thumbnail{0}->url.'" onmouseover="this.src=&#39;'.$imagebing->thumbnail{1}->url.'&#39;" onmouseout="this.src=&#39;'.$imagebing->thumbnail{0}->url.'&#39;"/>';
  echo  '</a>';

//menampilkan judul gambar yang di substrak jumlah karakternya menjadi 35 karakter
  echo  '<p><b>'.substr($imagebing->title, 0, 35).' &#8230;</b><br>';

//menampilkan host gambar
  preg_match('@^(?:http://)?([^/]+)@i',"$imagebing->displayurl", $matchurlbing);
  echo '<span style="color:#388222">'.$matchurlbing[1].'</span><br>';

//menampilkan ukuran lebar dan tinggi gambar
  echo  '<small><span style="color:#898994">'.$imagebing->width.' x '.$imagebing->height.' &#8211; ';

//menampilkan ukuran file gambar
  echo  KByteSize($imagebing->mediafilesize).' &#8211; ';

//menampilkan format file gambar
  echo  $imagebing->thumbnail{0}->format = str_replace('image/','',($imagebing->thumbnail{0}->format) ).'</span><br>';

//menampilkan link yang menuju url gambar ukuran aslinya
  echo '<a rel="nofollow" target="_blank" href="'.$imagebing->mediaurl.'">See full size image</a> &#8211; ';

//menampilkan url ke bing untuk melihat ukuran gambar lainnya
  echo  '<a rel="nofollow" target="_blank" href="http://www.bing.com/images/search?q='.urlencode($bingimagequery).'&cbir=ms&mid='.$imagebing->id.'">More Sizes</a></small><br>';

//menampilkan url/link sumber halaman gambar
  echo 'IMAGE SOURCE PAGE: <a rel="nofollow" target="_blank" href="'.$imagebing->url.'">'.substr($imagebing->url, 0, 35).' &#8230;</a></p>';
}

//jika gambar tidak ada, tampil pesan Not Found
if (empty($imagebing)) {
  echo '<small>Not Found</small>';
}
?>

Atribut Elemen
http://www.bing.com/images/search?q=‘.$bingimagequery.’&count=‘.$bingimagecount.’&format=xml : url XML BING Images.
$imagebing->title : untuk menampilkan judul gambar.
$imagebing->url : menampilkan url/link sumber halaman gambar.
$imagebing->id : ID gambar.
$imagebing->width : ukuran lebar gambar (pixel).

Bing Search Images
Contoh tampilan Bing Search Images
$imagebing->height : ukuran tinggi gambar (pixel).
$imagebing->mediafilesize : ukuran file gambar (bytes).
$imagebing->thumbnail{0}->format : format file gambar (jpeg).
$imagebing->mediaurl : url gambar untuk ukuran aslinya/full size/gambar besar.
$imagebing->thumbnail{0}->url : untuk menampilkan gambar kecil.
$imagebing->thumbnail{1}->url : untuk menampilkan gambar sedang.

Jika ingin menggunakan paramater query lainnya, contoh http://www.domain.ltd/?q=lady+gaga atau http://www.domain.ltd/?search=lady+gaga, Anda bisa mengganti kode get_search_query() menjadi $_GET['q'] atau $_GET['search'].

UPDATE 21-07-2015
Format XML Bing ini sudah tidak berlaku, silahkan merujuk pada Bing API versi 2 atau yang terbaru di sini https://www.jevuska.com/2015/07/21/bing-search-image-api-azure-format-json-php/

16 Replies to “Parsing XML Bing Images ke PHP”

  1. gambar gak nongol..update dong bang :)

    gambar gak nongol..update dong bang :)

  2. mas jev, request untuk dapat hasil dari bing.com video :)…

    mas jev, request untuk dapat hasil dari bing.com video :)

    seperti ini mas,

    $url = ‘http://www.bing.com/videos/search?q=’.$katakunci.

    saya cuma mau generate title hasil search aja, mau dibuat related artikel gitu dari bing video.

    misal katakunci nya “ariel peterpan”

    yang keluar :

    title = ariel peterpan aku menunggumu

    lalu kita jadikan url = domainkita.com/ariel-peterpan-aku-menunggumu

    • ada link api bing untuk video untuk format xml, json…

      ada link api bing untuk video untuk format xml, json atau lainnya mas?

  3. scripnya dah gak jalan om :D tolong diupdate

    scripnya dah gak jalan om :D tolong diupdate

    • Harusnya tetap jalan… mungkin ip-nya diblokir… combine dengan script proxy…

      Harusnya tetap jalan… mungkin ip-nya diblokir… combine dengan script proxy PHP mas.

  4. seperti error klo permalink pake ubahan di htaccess ya bro…

    seperti error klo permalink pake ubahan di htaccess ya bro ? ada solusi ?

    • What kind of errors mas…? :)

      What kind of errors mas…? :)

  5. parse ini uda ngga bisa d pake lagi po bro…

    parse ini uda ngga bisa d pake lagi po bro ? ane coba pasang ngga keluar apa2.

    • ipnya diblokir… coba di localhost dulu.

      ipnya diblokir… coba di localhost dulu.

  6. Btw.. ini scriptnya udah gak jalan lg bang…

    Btw.. ini scriptnya udah gak jalan lg bang…

  7. om jev, script nya kok gak bisa di copy..??

    om jev, script nya kok gak bisa di copy..??

    • Sudah bisa.. silahkan dicoba lagi. Klik 2x untuk select and…

      Sudah bisa.. silahkan dicoba lagi. Klik 2x untuk select and copy.

      • Pake firefox gak bisa di copy… Pake chrome baru bisa…

        Pake firefox gak bisa di copy…
        Pake chrome baru bisa copy codenya…

Leave a Reply

Use tag [php] to add code, e.g. [php]<?php echo $var; ?>[/php]

*

*