URL de imagem aleatória do Google

Estou me perguntando se alguém sabe como obter um URL de imagem random do Google no php? Obrigado pela sua ajuda e tempo com antecedência.

Primeiro download e inclua PHP Simple HTML DOM Parser , espero que seja útil para alguém.

'; } function random_image( $key = "love" ) { $url = sprintf( "https://www.google.com/search?q=%s&tbm=isch&sout=1", urlencode( trim( $key ) ) ); $html = get_page( $url ); if ( $html ) { $images = find_images( $html ); if ( !empty( $images ) ) { $images = $images[array_rand( $images )]; return $images; } } return false; } function get_page( $url = null ) { $url = trim( $url ); if ( !$url ) { return false; } return @file_get_contents( $url ); } function find_images( $html = null ) { $html = trim( $html ); if ( !$html ) { return false; } $html = str_get_html( $html ); $imgs = array(); if ( $links = $html->find( ".images_table td a" ) ) { foreach( $links as $link ) { $link = ( isset( $link->href ) ) ? $link->href : null; $link = htmlspecialchars_decode( parse_url( $link, PHP_URL_QUERY ) ); parse_str( $link, $link ); if ( isset( $link["imgurl"] ) ) { $imgs[] = urldecode( trim( $link["imgurl"] ) ); } } } unset( $html ); return $imgs; } ?> 

Até agora, a maneira mais simples que descobri foi usar o google image api (por enquanto, é de uso gratuito):

 function random_google_image($topic='') { $url = sprintf('http://ajax.googleapis.com/ajax/services/search/images?q=%s&v=1.0&rsz=large&start=1', urlencode($topic)); $results = json_decode(file_get_contents($url))->responseData->results; $image = $results[array_rand($results)]; return $image->url; } echo random_google_image('sexy girl'); 

A solicitação do Api obtém as primeiras 8 imagens. Observe a variável inicial na api url – você também pode aleatorizar isso para obter mais alguma variabilidade. Verifique também todas as propriedades do object de imagem $, existem algumas informações que podem ser úteis (dependendo do seu caso de uso).

Para obter imagens totalmente aleatórias, primeiro você deve definir seus tópicos, como “paisagem”, “imagem”, “imagem”, “horizonte”, “casa”, “céu”, “mar” etc. Então, passe uma function aleatória para cima e para cima.

Eu escrevi isso há algum tempo, quando não consegui que os que estão acima para o trabalho, espero que isso ajude alguém. Isso significa que você não precisa include nenhum outro projeto (Simple HTML DOM Parser, por exemplo), você pode usar o código como está.

Você precisará instalar a habilidade DOMDocument e XML no PHP.

https://github.com/damiankw/google.imagesearch