Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

bentley_new

[Resolvido] Criando um Robó para pegar imagens do Google

Recommended Posts

Criando um robó em php

você vai precisar:

Ir ao nosso multicanal no tntabordo para pegar a classe: http://www.tntabordo.com/php.net

 

Vou interagir com vocês atravéz do nosso multicanal no tntabordo citado acima.

 

Vou postar separado e depois tudo junto:

 

Primeiro chame a classe; lá no nosso multicanal damos o nome de bot.class por que tudo que é incluído no code php vira php independente da extenção do arquivo incluído.

require('bot.class'); 

 

Agora vamos criar um novo objeto com classe wwwebbot{}.

 $bot = new wwwebbot(); 

 

Agora vamos setar todos os parametros usando uma função conhecida que é CURL. Vamos ver como fica a url de imagens do google. você poderá enviar sua tag de busca para esta página usando aqui a tag vai se chamar fotos veja ali em q=.

$tag='fotos'; // Poderia ser $tag=strip_tags($_GET['tag']); 
$bot->optrequest = array(
CURLOPT_URL => 'http://www.google.com.br/search?hl=pt-BR&safe=off&gbv=2&sout=1&biw=1024&bih=548&tbm=isch&sa=1&q='.$tag.'', 
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_HEADER 		 => FALSE,
CURLOPT_FOLLOWLOCATION => FALSE,
CURL_AUTOREFERER 		 => FALSE,
CURL_CONECTTIMEOUT 	 => 5,
CURL_TIMEOUT 			 => 5,
CURL_VERBOSE 			 => TRUE,
CURL_USERAGENT 		 => 'WWWeb::Bot',
	);

 

Agora vamos iniciar nosso bot;

 $bot->init(); 

 

Agora tudo junto:

 

<? require('bot.class');
$tag='fotos'; // Poderia ser $tag=strip_tags($_GET['tag']); 
$bot = new wwwebbot();

$bot->optrequest = array(
CURLOPT_URL => 'http://www.google.com.br/search?hl=pt-BR&safe=off&gbv=2&sout=1&biw=1024&bih=548&tbm=isch&sa=1&q='.$tag.'', 
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_HEADER 		 => FALSE,
CURLOPT_FOLLOWLOCATION => FALSE,
CURL_AUTOREFERER 		 => FALSE,
CURL_CONECTTIMEOUT 	 => 5,
CURL_TIMEOUT 			 => 5,
CURL_VERBOSE 			 => TRUE,
CURL_USERAGENT 		 => 'WWWeb::Bot',
);
$bot->init();
?>	

 

 

Se tiver algum problema ai basta usar:

 

$bot->optrequest = array(
CURLOPT_URL => 'http://www.google.com.br/search?hl=pt-BR&safe=off&gbv=2&sout=1&biw=1024&bih=548&tbm=isch&sa=1&q='.$tag.'', 
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_HEADER           => FALSE
);

 

 

A primeira parte está pronta, agora você precisa do cérebro que está no nosso multicanal lá no tntabordo citado acima.

Apenas vamos atender repostas se perguntadas do nosso multicanal, iremos responder e ajudar no que for preciso

Compartilhar este post


Link para o post
Compartilhar em outros sites

Testei seu código e deu erro

 

Warning: curl_setopt_array() [function.curl-setopt-array]: Array keys must be CURLOPT constants or equivalent integer values in /home/site/public_html/pasta/bot.class on line 27

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pronto tinha uma coisa ali em tag, é que estava assim $tag; então o google tava procurando por isso $tag, agora já mudamos para '.$tag.', e outra coisa é quer estava cortando quando nos escrevemos ++ no incremento de $i lá no nosso multicanal

Compartilhar este post


Link para o post
Compartilhar em outros sites

Legal... só q agora num aparece nada.. atela fica em branco =(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Legal... só q agora num aparece nada.. atela fica em branco =(

 

Mas você nem voltou lá no nosso multicanal para pegar as mudanças, faz tudo de novo tinha outra coisa também, basta pegar tudo lá, tava apagado os ++ de uma expressão regular ai a tela fica branca

 

Posta ai como você fez e se você voltou lá no tntabordo.com no nosso multicanal para pegar tudo com as mudanças

Compartilhar este post


Link para o post
Compartilhar em outros sites

Okay.. ta assim o meu.

 

teste.php

 <? require('bot.class');
$tag='fotos'; // Poderia ser $tag=strip_tags($_GET['tag']); 
$bot = new wwwebbot();

$bot->optrequest = array(
CURLOPT_URL => 'http://www.google.com.br/search?hl=pt-BR&safe=off&gbv=2&sout=1&biw=1024&bih=548&tbm=isch&sa=1&q='.$tag.'', 
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_HEADER           => FALSE
);
$bot->init();
?>      

 

bot.class

<?
class wwwebbot{
                                          //-start()->
   public $getcontent                     = ''; //this->
       public $codeout                    = ''; //this->
           public $output                 = ''; //this->
               public $msgout             = ''; //this->

                       public $optrequest = array();

                   public $multicontent   = ''; //this->
               public $content            = ''; //this->
           public $errcode                = ''; //this->
       public $errmsg                     = ''; //this->
                                          //<-end();

   public function init(){
       $initcurl = curl_init();
                   if(!function_exists('curl_setopt_array')){
                       function curl_setopt_array(&$init,$options){
                          foreach ($options as $option => $value) {
                              curl_setopt($init, $option, $value);
                          }
                          return true;                       
                       }
                   }
                   curl_setopt_array($initcurl,$this->optrequest);
                   $this->getcontent=curl_exec($initcurl);
                   $this->multicontent=curl_multi_getcontent($initcurl);
                   $this->codeout=curl_errno($initcurl);
                   $this->msgout=curl_error($initcurl);
                   $this->output=curl_getinfo($initcurl);
                   curl_close($initcurl);                       

   }

}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ops.. pode cré brother..rss

 

teste.php

<? require('bot.class');
$tag='fotos'; // Poderia ser $tag=strip_tags($_GET['tag']); 
$bot = new wwwebbot();

$bot->optrequest = array(
CURLOPT_URL => 'http://www.google.com.br/search?hl=pt-BR&safe=off&gbv=2&sout=1&biw=1024&bih=548&tbm=isch&sa=1&q='.$tag.'', 
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_HEADER           => FALSE
);
$bot->init();

$url = preg_match_all('/src="http:\/\/t3.gstatic.com\/images\?([^"]++)"/i',$bot->multicontent,$goo); 
for($i=0;$i<$url;$i++):
echo '<img src="http://t3.gstatic.com/images?'. $goo[1][$i] .'"> <P>'; 
endfor;
?>    

 

Agora funfou ... valew.. da hora

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.