Dica Rapida: Pegando Twittadas com PHP
Postado por João Vagner em 24.04.2009 11:25 Desenvolvimento web, Geral, php
Ola a todos,
Vou começar uma série de posts rapidos com dicas legais e uteis pro dia-a-dia relacionadadas a PHP.
Quase todos usam Twitter, e ja sabemos o o Twitter tem uma API para integração, porem nao e necessario usar uma API para algo basico, como pegar os Ultimos posts de alguem via RSS. Ja que RSS e um formato XML.
Abaixo um codigo simples e rapido:
1 2 3 4 5 6 7 8 9 10 11 12 | <?php $rss = 'http://twitter.com/statuses/user_timeline/14627317.rss'; $abre = simplexml_load_file($rss); $i = 0 ; $limite=3; foreach ($abre->channel->item as $itens ) { $post = utf8_decode($itens->title); echo $post .'<hr />'; if($i==$limite) { break; } $i++; } ?> |
$rss
Indica o caminho completo do RSS a ser lido.
$abre
Utiliza simplexml_load_file para ler o xml e converter em um objeto/p
$i
Define o inicio do loop para que possamos frear o loop no nosso limite de twittadas./p
$limite=3
Definimos um limite de posts, no caso como nosso loop comeca em em 0, definindo 3, o limite de posts seria 4: 0,1,2,3
foreach ($abre–>channel->item as $itens ) {
Aqui criamos um loop do item do XML e o chamamos de $itens para melhor identificação dentro do loop. Aqui ele herda os itens de channel->item, como title, e outros
$post = utf8_decode($itens->title);
Aqui usamos o UTF-8 para decodificar as mensagens evitando erros de charset e podemos interpretar para o ISO.
echo $post .’ < hr / >‘;
Aqui imprimos o Post na tela e adicionamos a tag
para separar os posts, criando uma linha de separação.
if($i==$limite) { break; }
Aqui verificamos se o nosso loop chegou ao nosso limite definido acima, se chegar coloca um fim no loop do channel->item
Por fim e isso, basta usar em seus blogs, e onde mais desejar ;)
Leitura de XML – Parte 2 SimpleXML
Postado por João Vagner em 24.12.2008 10:00 Desenvolvimento web, Destaques, Internet, php
Olá Pessoal,
Primeiramente, post de dia 24 de Dezembro, desejos a todos um Feliz Natal, que estejam todos ai junto a amigos e familiares curtindo uma data especial.
Bom, demorei um pouco, mas chegou, a segunta parte de Leitura de XML usando SimpleXML, dessa vez vou usar alguns modelos, ao invez de trabalhar com o nosso Feed de RSS, vamos trabalhar com valores de cambio e pesquisa de CEP. Tudo simples e em poucas linhas.
Primeiramente precisamos de algum XML que seja atualizado, com os valores que temos que trabalhar. Para isso existe esse endereço: http://www.republicavirtual.com.br/cotacao/exemplos.php
Não posso garantir 100% de uptime do link, pois não sei se algo vai mudar ok? Mas iremos trabalhar em cima dos retornos desse xml, ok?
Simple XML
O objetivo é fornecer acesso aos documentos XML usando propriedades de objetos e iterators, não é uma extensão complicada (são poucos métodos) mas é bastante flexível.
Exemplo Básico
Importando o XML da URL:
1 | $file = simplexml_load_file('http://cotacao.republicavirtual.com.br/web_cotacao.php?formato=xml'); |
Iniciando o trabalho
Aqui vamos pegar o valor do dolar comercial para compras:
1 2 3 4 | // importando o arquivo $file = simplexml_load_file('http://cotacao.republicavirtual.com.br/web_cotacao.php?formato=xml'); // pegando a tag dolar_commercial_compra echo $file->dolar_comercial_compra; |
As tags que podemos trabalhar podem ser encontrada nesse XML
1 2 3 4 5 6 7 8 9 10 | <webservicecotacao> <dolar_comercial_compra>2,1260</dolar_comercial_compra> <dolar_comercial_venda>2,1280</dolar_comercial_venda> <dolar_paralelo_compra>2,2200</dolar_paralelo_compra> <dolar_paralelo_venda>2,3000</dolar_paralelo_venda> <euro_dolar_compra>1,2410</euro_dolar_compra> <euro_dolar_venda>1,2410</euro_dolar_venda> <euro_real_compra>2,6384</euro_real_compra> <euro_real_venda>2,6408</euro_real_venda> </webservicecotacao> |
Viram como é simples trabalhar com o SimpleXML? Agora vamos trabalhar para achar endereços de CEP ;) O XML que iremos trabalhar emcima é desse modelo:
Trabalhando com CEP
Código:
1 2 3 4 5 6 7 8 9 10 | <?xml version="1.0" encoding="iso-8859-1" ?> <webservicecep> <resultado>1</resultado> <resultado_txt>sucesso - cep completo</resultado_txt> <uf>SP</uf> <cidade>São Paulo</cidade> <bairro>Santana</bairro> <tipo_logradouro>Rua</tipo_logradouro> <logradouro>Duarte de Azevedo</logradouro> </webservicecep> |
A URL que iremos importar as consultas é: http://cep.republicavirtual.com.br/web_cep.php?cep=02036021&formato=xml
Vamos ao Código:
1 2 3 4 5 6 7 | $file = simplexml_load_file('http://cep.republicavirtual.com.br/web_cep.php?cep=02036021&formato=xml'); echo "UF: " .$file->uf; echo "<br />Cidade: " .$file->cidade; echo "<br />Bairro: " .$file->bairro; echo "<br />Tipo de Logradouro: " .$file->tipo_logradouro; echo "<br />Endereço: " .$file->logradouro; |
Não recomendo que essa aplicação rode atravez da url de pesquisa, a base de dados pode ser baixada nesse endereço: Download
É isso, viram como é simples integrar uma pesquisa de CEP pra completar formulários de cadastros e tudo mais? Agora é com vocês ;)
Tags: Desenvolvimento web, php, simplexml, xml

