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
Marcadores: PHP
0 Comments:
Postagem mais recente Postagem mais antiga Página inicial
Subscribe to:
Postar comentários (Atom)