ignoredxyz 17 Denunciar post Postado Janeiro 6, 2014 Teste Compartilhar este post Link para o post Compartilhar em outros sites
Raphael Barros 48 Denunciar post Postado Janeiro 6, 2014 Dê uma olhada em: https://github.com/petewarden/ParallelCurl Ou veja se melhorou em alguma coisa o teste abaixo: <?php function file_get_contents_curl($urls) { foreach($urls as $url){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION , 1); curl_setopt($ch, CURLOPT_USERAGENT , "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"); curl_setopt($ch, CURLOPT_ENCODING, 'gzip'); // ISSO DIMINUI A ESPERA EM 30% $data = curl_exec($ch); $pagina = ''; $erro = ''; $req = null; if($data === false) $erro .= curl_errno(); else $pagina .= $data; $req[] = array ('pagina' => $pagina , 'erro' => $erro); curl_close($ch); } return $req; } $urls = array( 'google.com.br' , 'yahoo.com.br' , 'terra.com.br' , 'submarino.com.br' , 'uol.com.br' , 'bol.uol.com.br', 'mercadolivvre.com.br', 'riodejaneiro.olx.com.br/nf/all-results/', 'voegol.com.br', 'tam.com.br' ); // TEMPO DE EXECUCAO $time_start = microtime(true); $conts = file_get_contents_curl($urls); $time_end = microtime(true); $time = $time_end - $time_start; echo "Tempo do processo: {$time}"; print_r($conts); ?> Compartilhar este post Link para o post Compartilhar em outros sites
ignoredxyz 17 Denunciar post Postado Janeiro 7, 2014 O código não deu certo. Considerando com a função que eu postei, fiz 5 testes com um array de url de tamanho 10 e obtive os seguinte tempos: 19.8 21.2 24.2 19.8 20.4 Média: 21,08 A nova função que foi postada obtive o seguinte: 21.4 20.2 22.5 21.4 21.2 Média: 21,34 Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Janeiro 7, 2014 O que impera aqui é o tempo de conexão com os links. Se a resposta da página alvo demorar, não há mágica.. Mas há soluções alternativas. Compartilhar este post Link para o post Compartilhar em outros sites
Raphael Barros 48 Denunciar post Postado Janeiro 7, 2014 Sim, o @hinom tem plena certeza, os links tem q ajudar tb :D Compartilhar este post Link para o post Compartilhar em outros sites
ignoredxyz 17 Denunciar post Postado Janeiro 7, 2014 Procurei saber, encontrei algo como sobre a biblioteca Dom do próprio PHP. (DOMDocument). Fiz alguns testes, e o retorno dele é extremamente mais rápido, porém ele retonar tudo em DOM mesmo, como se fosse JavaScript. Tendo que usar métodos do objeto dom, para comseguir o conteúdo de uma div por exemplo. Alguém sabe o método mais simples utilizando essa biblioteca? Apesar de ter conhecimento em JavaScript DOM, não tenho certeza se a lógica é a mesma. Compartilhar este post Link para o post Compartilhar em outros sites
Raphael Barros 48 Denunciar post Postado Janeiro 8, 2014 DOM e CURL não tem nada em comum! Não entendi o link que você fez com as duas tecnologias Compartilhar este post Link para o post Compartilhar em outros sites
ignoredxyz 17 Denunciar post Postado Janeiro 11, 2014 Pode deixar ja consegui, usando o objeto DOM JUNTO COM O CURL, reduzi o tempo em 90% Compartilhar este post Link para o post Compartilhar em outros sites
Enrico Pereira 299 Denunciar post Postado Janeiro 11, 2014 O máximo que ocorreu foi que a sua máquina fez cache ou algum(s) servidor(es) melhorou(aram) o tempo de resposta. Usar DOM é para análise, não para criar requisições HTTP. Compartilhar este post Link para o post Compartilhar em outros sites
Raphael Barros 48 Denunciar post Postado Janeiro 12, 2014 :upset: :no: Compartilhar este post Link para o post Compartilhar em outros sites
ignoredxyz 17 Denunciar post Postado Janeiro 15, 2014 O meu Chrome é habilitado navegação anônina. Ele não armazena Cache. Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Janeiro 15, 2014 Não há relação alguma com browser pois a operação não utiliza browser. Compartilhar este post Link para o post Compartilhar em outros sites
Diegodargos 0 Denunciar post Postado Janeiro 21, 2015 Posta a soluçao ae caraTem como? Compartilhar este post Link para o post Compartilhar em outros sites