Come ho fatto per instagram con instaserver, ho realizzato Bingserver, un piccolo sistema client/server per recuperare le immagini presenti su Bing con una licenza Creative Commons.
Il funzionamento è identico a quello di instaserver e come per questo progetto ho proferito utilizzare un sistema client/server per poterlo usare con linguaggi di programmazione diversi.
Bingserver
Per ottenere Bingserver basta scaricarlo dalla pagina progetto su GitHub e poi caricarlo sul proprio host. Il codice è rilasciato con la licenza libera LGPL, inoltre è scritto in modo molto elementare e facilmente modificabile. Il client deve semplicemente fare una chiamata all’url dove abbiamo o caricato il nostro file e passare tramite POST:
- key: un token di sicurezza che inseriamo nel nostro file;
- hashtag: la parola da ricercare;
- limit: il numero di elementi da caricare.
Vediamo un po’ di esempi
Per capire meglio il funzionamento ecco due esempi che ho utilizzato, uno è in PHP e l’altro in JavaScript.
PHP, le ultime 5 immagini libere su Bing con la ricerca “mare”
$timeout = 5; $url = '{url}'; $data = array( 'key' => '{token}', 'search' => 'mare', 'limit' => 5 ); $cookie = tempnam ("/tmp", "CURLCOOKIE"); $ch = curl_init(); curl_setopt( $ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1" ); curl_setopt( $ch, CURLOPT_URL, $url ); curl_setopt( $ch, CURLOPT_COOKIEJAR, $cookie ); curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true ); curl_setopt( $ch, CURLOPT_ENCODING, "" ); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); curl_setopt( $ch, CURLOPT_AUTOREFERER, true ); curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false ); # required for https urls curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT, 5 ); curl_setopt( $ch, CURLOPT_TIMEOUT, 5 ); curl_setopt( $ch, CURLOPT_MAXREDIRS, 10 ); curl_setopt( $ch, CURLOPT_POSTFIELDS, $data); $content = curl_exec( $ch ); $response = curl_getinfo( $ch ); curl_close ( $ch ); $result = json_decode($content); var_dump($result);
JavaScript, le ultime 10 immagini libere su Bing con la ricerca “Sardegna”
$.ajax({ url: "{url}", method: 'POST', data: { 'key': '{token}', 'search': 'Sardegna', 'limit': 10 }, dataType: "text", crossDomain : true, success: function(msg) { var bb; bb = jQuery.parseJSON(msg); console.log(bb); } });