Revista Active Delphi
terça-feira, 9 de fevereiro de 2010
Busca  
Porta 80 Web Hosting
 :: Acessibilidade
Ir para conteúdo principal: ALT + 1
 :: Participe
Seja um autor de CD/DVD de Treinamento
Publique um artigo
Publique uma oportunidade
Publique uma notícia
Publique um curso
Publique uma dica
Publique um código
 :: Informativo
Receba nossos informativos por e-mail.
E-mail:   
 
Digite a palavra abaixo:  
 
 
 :: Oportunidades
Cadastrar oportunidades
Gerenciar suas oportunidades
Cadastrar nova empresa
 :: Especiais
Básico de C++
C++ Builder
Curso ASP.NET 3.5 em VB.NET e C#
Guia Prático de HTML
Testes com Visual Studio Team System 2008
 :: Desenvolvimento
ActionScript
ADO.NET
ASP
ASP.NET
Automação Comercial
C#
C/C++
Coldfusion
CSS
Delphi
Disp. Móveis
HTML
Java
Javascript
LSL (Second Life)
Modelagem
PHP
Python
Sharepoint
Silverlight
SQL
VBA (Office)
Visual Basic
Visual Basic .NET
Visual Fox Pro
WCF/WPF
Web Services
XML
 :: Infra
BizTalk Server
CRM
Exchange Server
ForeFront / Antigen / IAG
Interoperabilidade
ISA Server
Linux
MOF
MS Dynamics CRM
Network
OCS / LCS
Outlook
Powershell e Scripts
Redes
Segurança
System Center e Gerenciamento
Virtualização
Windows
Windows Server
 :: Banco de Dados
Access
Caché
Firebird
Interbase
MySQL
Oracle
SQL Server
Sybase
 :: Gerência
Arquitetura
Ciclo de Vida de Desenvolvimento
Controle de Versão
Estimativas
Metodologias
MOF
Qualidade e Testes
 :: Design
Corel
Flash
Photopaint
Photoshop
 :: Livros
Análise Sistemas
Aplicativos
Banco de Dados
Certificação
Design e CAD
Gerência
Hardware
Internet
Programação
Programação Web
Rede
Segurança
Servidores
Sistemas Operacionais
 :: CDs/DVDs
Desenvolvimento
Infra
Design
 :: E-Books
.NET 2.0 (VS 2005)
.NET 1.1 (VS 2003)
SQL Server
Excel 2007
Excel 2003
Access 2003
ASP 3.0
Delphi
Java
Artigos
RSS para seu site - do começo ao fim (usando PHP)
Por: Paulino Michelazzo
[Entre em contato com o autor ]
Especialista em ferramentas de gestão de conteúdo e escritor técnico. Atualmente atende clientes nacionais e internacionais de vários segmentos pela sua empresa Fábrica Livre (www.fabricalivre.com.br) provendo soluções em Drupal, Mambo e Joomla!
Feed de artigos.
Feed de artigos deste autor.
Gere seu feed personalizado  
RSS para seu site - do começo ao fim (usando PHP)
Publicado em: 20/12/2004

Precisei várias vezes de um tutorial para criar um arquivo RSS para que, de forma rápida, pudesse espalhar em vários sites e clientes de RSS as informações postadas em meu website e/ou blog mas nunca encontrei um completo. Alguns davam parte do caminho das pedras, outros somente a picareta e outros ainda somente diziam que eu precisava de uma pedra, nada mais.

Resultado: aproveitando-se do modelo do software livre, pude ter acesso à vários códigos-fonte de várias ferramentas e consegui, com um pouco de esforço, criar uma função para a geração de arquivos RSS de uma forma simples e fácil. Este aprendizado está agora no formato deste tutorial.

Iniciando - o que é RSS
RSS significa Rich Site Syndication (ou outros nomes existentes) e nada mais é que um formato de distribuição de informações entre sites baseado em tags muito parecidas com HTML ou XML (na verdade, ele é oriúndo de XML). Estes arquivos são lidos por aplicativos conhecidos como agregators (Firefox, Evolution, etc) e trazem, rapidamente, as informações que foram "assinadas" de uma forma simples de rápida leitura.

Assim, se você quer que qualquer um tenha uma foto de suas notícias, fácil e rapidamente, o RSS é a tecnologia mais indicada para isso.

Como colocar um RSS em meu site? Antes de começarmos, vamos dar uma olhada em um arquivo RSS básico:
<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="0.91">
   <channel>
      <title>Meu blog</title>

      <description>As coisas de meu blog</description>
      <link>http://www.michelazzo.com.br/blog.php</link>
      <language>pt-br</language>
         <item>

            <title>Tutorial de RSS</title>
            <description>Um tutorial simples sobre RSS</description>
            <link>http://www.michelazzo.com.br/blog.php?id=1>/link>
         </item>

   </channel>
</rss>
Podemos observar que este é um arquivo que contém um "mix" de HTML com XML onde tags separam os blocos de informações que serão lidos pelo aplicativo leitor de RSS. Agora, o que são cada uma destas tags e "blocos"? Vamos ver:
  • <?xml version="1.0" encoding="iso-8859-1"?> - tag que indica o tipo de arquivo (hmmm, um xml certo?) e também o formato de codificação de caracteres que está sendo usado.
  • <rss version="0.91"> - qual a versão do RSS que estamos usando (neste caso, 0.91)
  • <channel> - tag que une um grande bloco de informações. Obrigatória e deve ser fechada no fim do arquivo
  • <title> - O título do conteúdo que está sendo disponibilizando (blog, site, etc). A tag é usada para mostrar nos leitores de RSS o nome do site ou do conteúdo.
  • <description> - a descrição do conteúdo
  • <link> - o link absoluto para o conteúdo
  • <language> - o idioma do conteúdo que está sendo disponibilizando
E os itens são formados por:
  • <item> - Indica um bloco de conteúdo. Dentro dele existem várias tags, sendo as obrigatórias as seguintes:
    • <title> - título do conteúdo. Pode ser, por exemplo, o título da entrada do blog
    • <description> - o conteúdo em sí. Pode ser somente uma chamada para a notícia ou ainda o conteúdo inteiro.
    • <link> - link direto para o conteúdo
Muito bem, depois de conhecer o que existe e o que precisamos, vamos fazer o arquivo.

Antes de tudo, vamos criar a base do arquivo XML/RSS:
$arquivo = '<?xml version="1.0" encoding="iso-8859-1"?>';
$arquivo .= '<rss version="0.91">';
$arquivo .= '<channel>';
$arquivo .= '<title>Meu blog</title>';
$arquivo .= '<description>As coisas de meu blog</description>';
$arquivo .= '<link>http://www.michelazzo.com.br/blog.php</link>';
$arquivo .= '<language>pt-br</language>';

Feito isso, pegamos os dados do banco de acordo com nosso interesse e criamos os itens do RSS:
$connect = mysql_connect('localhost','usuario','senha'); // conexão com o BD
mysql_select_db('banco',$connect); 
$evt = mysql_query("SELECT * FROM blog WHERE ativo = 1 ORDER BY data DESC LIMIT 20", $connect); 
// query básica. Alterar de acordo com as necessidades. 

Agora, geramos os itens com o resultado da busca do banco de dados
$corpo = ""; // cria uma variável sem conteúdo
while($prt=mysql_fetch_object($evt)){
	$corpo .= '<item>';
      	$corpo .= "<title>$prt->nome</title>"; // o nome do conteúdo
         // o conteúdo em sí
      	$corpo .= "<description>$prt->artigo</description>"; 
         // o link para o conteúdo
      	$corpo .= "<link>http://www.michelazzo.com.br/blog.php?id=$prt->id</link>";  
      	$corpo .= '</item>';
}
Juntamos tudo em um único arquivo/variável
$rss = $arquivo.$corpo;
$rss .= '</channel></rss>';
Finalmente, vamos escrever o arquivo dentro do disco para disponibilizá-lo.
$arq = fopen('/local/do/arquivo/blog.rss','w+'); 
// abre o arquivo em leitura e escrita, apagando seu conteúdo antigo
fwrite($arq,$rss); // grava os dados no arquivo
fclose($arq); //fecha o arquivo

Pronto!
Depois de tudo isso, somente é necessário disponibilizar o aquivo em qualquer lugar do site para que os usuários possam ter facilmente as informações mais novas.

Observação: é interessante criar uma função com este código para que, toda vez que seja incluído um novo conteúdo no blog/site, o arquivo seja recriado. Uma outra opção é fazer uso do comando cron do Linux ou ainda o Task Schedule do Windows, agendando para que, a cada X tempo, o arquivo seja recriado com as últimas informações

Para verificar se a sintaxe de seu arquivo está correta, utilize a seguinte ferramenta na web: http://feeds.archive.org/validator/

Caso esteja tudo ok, você já poderá usar o botão RSS no seu site.

Bom proveito!

PS: no botão de arquivos nesta página você pode encontrar este código em formato txt pronto para uso.

Referências:

Este artigo é licenciado sob CreativeCommons disponível em http://creativecommons.org/licenses/by-nc-sa/2.0/br/deed.pt


 

Inclua um comentário sobre o artigo Topo
Elogios e críticas são muito bem vindos, porém o comentário deve ter referência ao artigo em pauta.
O portal e o autor agradecem.
Nome:    
E-mail:      
Comentários:    
Digite a palavra abaixo:  
Para dúvidas técnicas, NÃO UTILIZE ESTE ESPAÇO, utilize nosso fórum de discussão.
http://linhadecodigo.com.br/cs2/forum
 
Comentários sobre o artigo Ver Todos comentários
Fala Galera , eu preciso de um RSS onde eu possa disponibilizar em meu site as noticias do site do uol.

alguem conhece um script para isso?

att.
Felipe Augustp
Quem enviou: Felipe Augusto
Postado em: 14/10/2009 00:00:00
Bom tuto, mas um pouco confuso..
Quem enviou: Felipe
Postado em: 27/05/2009 00:00:00
Olá é o seguinte, não entendi muito bem, é necessário um banco de dados?? E é necessário reescrever TODAS as mensagens para que chegue ao leitor?? Espero resposta, se possível por e-mail, obrigado.
Quem enviou: Vinicius Raphael
Postado em: 20/04/2009 00:00:00
alguem tem algum script em php para eu apenas colocar o link do xml gerado e eu incluir a rss no meu site?
Quem enviou: Jasar
Postado em: 15/04/2008 00:00:00
eu gostaria saber como colocar o rss de um site para o site
Quem enviou: Rosimar Pereira
Postado em: 19/09/2007 00:00:00
Parabéns, o artigo é ótimo!

Mas será q vc poderia me indicar um artigo ou tutorial que ensine como aplicar no meu site as noticias do teu, por exemplo:

Quero que no meu site apareça o titulo das notícias de uma agência de notícias e leve a elas se o usuário do meu site quiser lê-las

tudo isso em php

Valeu!
Quem enviou: Isaque Martins
Postado em: 23/02/2007 00:00:00
bom vou tentar fazer , parece bom só penso q deveria colocar o Sql do banco para facilitar.
Quem enviou: Rogério
Postado em: 02/02/2007 00:00:00
é necessário permissão na pasta aonde vou armazenar o xml, num é?
Quem enviou: Cadu
Postado em: 16/01/2007 00:00:00
Como que eu faço para mostrar apenas as noticias do RSS de um outro site no meu ??
Quem enviou: Marcelo
Postado em: 23/11/2006 00:00:00
bom, eu estava querendo colocar informações de outros sites, com rss, tem como eu faze-lo???

tipu usando o link do rss:
http://www.siteserver.com/arquivo.rss
Quem enviou: Gustavo Henrique
Postado em: 01/04/2006 00:00:00
Outros artigos do autor Topo
Softwares fast-food
Maldito sobrinho
O que você vai ser quando crescer?
O novo motor da web
O bom estagiário de TI (ou outro qualquer)
Traduzindo software com qualidade
Blob fields in MySQL Databases
Artigos relacionados Topo
Desenvolvedor Profissional. Será?
Economia e Liberdade: o software livre une o útil ao agradável
Sou programador, o mágico atende na sala ao lado
Xdebug: instalação, configuração e utilização com WAMP Server
PHP: Anti SQLInjection no Login
Migração do Joomla CMS e instalação do WAMPServer em Windows Server 2003
Fazendo um simples upload de arquivo com php
Tutorial - Criptografando senhas em PHP
PHP e MySQL: sistema de paginação
Classe para Conexão com o MySQL
PHP - Classe para Upload de Arquivo
Instalando e Configurando o EasyPHP
Upload de arquivos em Flash usando a Class FileReference e integração com PHP e MySQL
Servidor Web de MP3 com Amarok
Cadastro em PHP com AJAX + DOM
Aplicando AJAX com PHP, parte 2 - Combos e validação de formulário
PHP5 + OOP - Parte 1 - Autoloading
Configurando o IIS para rodar php 5 – Windows XP SP2
Oracle PL/Web em versao Open Source com PHP e PostgreSQL
Utilizando Impressora Não-Fiscal Bematech em Aplicações WEB (PHP)
Formulários acessíveis à prova de spam
Administrando banco de dados MySql com PHPMyadmin
Instalando Apache + MySQL + PHP 5 no Windows - (Segunda edição)
O que é AJAX e como aplicá-la com PHP, parte 1
Miniframework PHP
Safe mode - Modo seguro no PHP
PHPDOC – Documentando bem seu código
Autenticação de usuários utilizando PHP/MySQL com Dreamweaver
Criando uma página de busca por registros em um banco de dados com PHP/MySQL usando Dreamweaver - Parte 3
PHP: Formulários e upload de múltiplos arquivos e fotos
Produtos relacionados Topo
Livro: Recursos Visuais na Web com PHP
Livro: Joomla! Avançado
Livro: Crie um Sistema Web com PHP 5 e AJAX - Controle de Estoque
Livro: Dreamweaver CS4
Livro: Desenvolvendo Sistemas com Flex e PHP
Livro: Zend Framework Componentes Poderosos para PHP
Livro: Curso prático de Criação de Sites
Livro: Crie um Framework para Sistemas Web com PHP 5 e AJAX
Livro: PHP 5 - Guia de Consulta Rápida (3ª edição)
Livro: PHP para quem conhece PHP – 3ª edição
Livro: Integrando PHP 5 com MySQL – 2ª edição
Livro: PHP Programando com Orientação a Objetos – 2ª edição
Livro: Desvendando o Delphi for PHP
Livro: Guia Profissional PHP
Livro: Coleção Linux Pocket Pro - Desenvolvimento Web
CD/DVD: DVD Criando uma loja virtual completa com PHP e MySql
Livro: PHP 6 e MySQL 5 para Web Sites Dinâmicos
CD/DVD: Curso PHP, CSS, HTML - Vídeo Aula - 25 horas
Livro: PHP - Do Básico à Orientação a Objetos
Livro: Introdução à Programação: do Algoritmo às Linguagens Atuais - Inclui Java, PHP, ASP e Objeto Pascal
Livro: Zend Framework - Desenvolvendo em PHP 5 orientado a objetos com MVC
Livro: Introdução à HTML e PHP
Livro: PHP com AJAX na Web 2.0 - Com Muitos Exemplos Práticos
Livro: PHP & MySQL Guia Introdutório - 2a. Edição
Livro: Segurança em PHP
Livro: PHP Profissional
Livro: PHP para Profissionais
Livro: PHP Programando com Orientação a Objetos (inclui Design Patterns)
Livro: PHP com XML – Guia de Consulta Rápida – 3ª edição
Livro: Ajax na Prática - Todo o poder dos melhores Frameworks Ajax aliados ao desenvolvimento Web 2.0 com PHP 5
Livro: Macromedia Flash MX 2004 Dicas Geniais
© Copyright 2001-2010 Codeline Editora, Comércio e Tecnologia Ltda. | Política de privacidade e de uso | Anuncie | Fale conosco

» Site hospedado na Porta 80 Web Hosting «
Nossos números
Dicas: 1.314
Códigos/scripts: 279
Funções de VBScript : 90
Funções JScript : 05
Livros: 1.805
Notícias: 1.942
Artigos: 2.746
Cases: 14
Oportunidades: 4.185
Publicidade

Conheça a loja do Linha de Código.

Microsoft indica Linha de Código.

Assine a Revista Mundo .NET
Portal de Vídeos .NET - os melhores vídeos .NET estão aqui
Baixe o Visual Studio 2010 Beta
Revista Codificando .Net

Siga-nos no Twitter

Linha de Código no Orkut
Fórum de discussão do portal Linha de Código
Feeds
Oportunidades
Notícias
Artigos
Artigos personalizado
       (Por assunto)
Artigos personalizado
       (Por autor)
Portal Vídeos .NET
Portal Vídeos Delphi
LC Blog
       (Onde você faz a notícia)
Promoções
Promoção Mobile (válido somente para pagamento via boleto bancário)
Promoção Mobile (válido somente para pagamento via boleto bancário)
De: R$ 239,00
Por: R$ 146,00
Promoção: Portal de Vídeos .Net + CD Novidades das Linguagens (válido somente para pagamento via boleto bancário)
De: R$ 162,00
Por: R$ 89,00
Promoção VSTS (válido somente para pagamento via boleto bancário)
De: R$ 219,00
Por: R$ 146,00
Promoção Linq To SQL (válido somente para pagamento via boleto bancário)
De: R$ 249,00
Por: R$ 156,00
Promoção ASP.Net com Banco de Dados (válido somente para pagamento via boleto bancário)
De: R$ 249,00
Por: R$ 146,00
CDs
DVD de Treinamento LINQ TO SQL e Entity Framework Avançado
DVD de Treinamento LINQ TO SQL e Entity Framework Avançado
De: R$ 83,00
Por: R$ 73,00
Curso completo de MySQL
Por: R$ 89,00
DVD de Treinamento - ISA Server 2006 - Implementação
De: R$ 83,00
Por: R$ 73,00
CD de Treinamento Adobe Photoshop CS4 Extended – 3D Arte
De: R$ 83,00
Por: R$ 53,00
DVD de Treinamento - Recursos avançados do Windows Mobile 6
De: R$ 83,00
Por: R$ 73,00
Livros
Aprendendo SQL
Aprendendo SQL
Por: R$ 83,00
Web Services SOAP em Java
Novatec
Por: R$ 42,00
Guia Mangá de Bancos de Dados
Novatec
Por: R$ 39,00
Guia Mangá de Estatística
Novatec
Por: R$ 39,00
Guia Mangá de Eletricidade
Novatec
Por: R$ 39,00
E-Books
Manual Completo de Estudos MCSE 70-270 - Instalando, Configurando e Administrando o Windows XP (506 páginas) - Entrega via download
Manual Completo de Estudos MCSE 70-270 - Instalando, Configurando e Administrando o Windows XP (506 páginas) - Entrega via download
Por: R$ 30,00
Manual de Estudos - Exame 70-291 - Windows Server 2003 (606 páginas) - entrega via download
Por: R$ 30,00
Dominando MS – Visio ® em 20 Passos - Melhores Práticas em Gestão de Projetos (entrega via download)
Por: R$ 30,00
MS-Project® 2007 - Melhores Práticas de Gestão de Projetos - Dominando MS – Project ® em 20 Passos (e-book com entrega via download)
Por: R$ 20,00
Banco de dados com C# e Visual Studio .Net 2005 (entrega via download)
Por: R$ 20,00
Os 10+ | Autores do dia
Israel Aéce
Júlio Cesar Fabris Battisti
Alfred Reinold Baudisch
Luiz Felipe de Freitas
Anderson Patricio
Ramon Durães
Robert Martim
Fernando Amaral
Eric C M Oliveira
Marcio Franco
Os 10+ | Artigos do dia
HTML Básico
HTML Avançado
SAP Business One - Implementação e Localização para o Brasil – Overview
PL/SQL - Procedures e Funções
ASP.NET 2.0 - Explorando o GridView
Tutorial de Tabelas Dinâmicas no Excel – Parte 1
PHP: Upload de imagens com segurança
Nota Fiscal Eletrônica - Geração, Assinatura e Transmissão
Criando aplicativos para o Orkut
Instalando Apache + MySQL + PHP 5 no Windows