Obter informações de um outro site

Fala galera, tudo beleza?

Seguinte.. essa semana eu estava desenvolvendo um site para um cliente e houve a necessidade de pegar dados sobre o Clima aqui da nossa cidade (Santa Maria - RS).

Ai pesquisando na internet achei um jeitinho em PHP de pegar informações de um outro site :D

Abaixo segue o código.. bem simples


$ch = curl_init();
$timeout = 0;
curl_setopt($ch, CURLOPT_URL, 'http://tempo1.cptec.inpe.br/cidades/previsao.do?parameter=estendida&id=4599');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$conteudo = curl_exec ($ch);
curl_close($ch);

$conteudo = utf8_encode($conteudo);
preg_match_all('/div id="sub3"(.+)div id="mini"/s', $conteudo, $array);

$dados = $array[0][0];

echo $dados;



Aqui vai uma breve introdução sobre a biblioteca cURL do PHP

O PHP suporta a libcurl, uma biblioteca criada por Daniel Stenberg, que permite a você conectar e comunicar com vários tipos diferentes de servidor com vários tipos diferentes de protocolos. libcurl atualmente suporta os protocolos http, https, ftp, gopher, telnet, dict, file, e ldap. libcurl também suporta certificados HTTPS, HTTP POST, HTTP PUT, upload com FTP (isto também pode ser feito com a extensão de ftp do PHP), upload baseado em formulário HTTP, proxies, cookies, e autenticação usuário+senha.

Mais informações clique aqui.

Voltando ao código nos gravamos o site na variável $conteudo.
Ai com a função preg_match_all defino com expressões regulares e pequenos trechos de código o que realmente eu quero pegar.. no caso eu pego o conteúdo que está entre os códigos..

div id="sub3"
....
div id="mini"


e após isso o conteúdo fica salvo em um array que denominei de $array.

ai no final eu apenas imprimo a posição onde se encontra o conteúdo dentro do array..

Seria isso.. qualquer dúvidas prende o grito :)

PS: Ai o código esta bem simples.. mas depois você poderá tratar os dados que obter, com str_replace e algumas outras funções para deixar os dados, digamos que mais apresentaveis :)

Outra coisa super importante, ali onde eu coloquei a função preg_match_all deverá colocar as tags das Div's corretamente.

[]'s

0 Comments:

Post a Comment



Postagem mais recente Postagem mais antiga Página inicial