Competition Dominator 468*60
quinta-feira, 2 de setembro 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
Olá, muito bom o artigo!!

Também é possivel utilizar o Yubi RSS. É muito fácil!

http://www.yubi.com.br/RSS

Abs,

Adilson.
Quem enviou: Adilson Simões
Postado em: 19/02/2010 00:00:00
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
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
Redirecionamento permanente de páginas web com PHP
Fazendo Conexão com banco de dados com PHP + MySQL
IV ENSOL - Performance de PHP
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
Produtos relacionados Topo
Pacote: Promoção PHP + MYSQL Intelimax (válido somente para pagamento via boleto bancário)
CD/DVD: DVD Criando uma loja virtual completa com PHP e MySql
CD/DVD: Curso PHP, CSS, HTML - Vídeo Aula - 25 horas
Livro: PHP Programando com Orientação a Objetos (inclui Design Patterns)
Livro: Ajax na Prática - Todo o poder dos melhores Frameworks Ajax aliados ao desenvolvimento Web 2.0 com PHP 5
Livro: Web Interativa com Ajax e PHP
Livro: PHP para quem conhece PHP
Livro: Tudo Sobre a JSP com o NetBeans em Aplicações Distribuídas
© 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: 2.623
Artigos: 3.020
Cases: 14
Oportunidades: 4.591
Vídeos .Net: 484
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
O que você fará com o Visual Studio 2010?
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 Wordpress + Tabless (válido somente para pagamento via boleto bancário)
Promoção Wordpress + Tabless (válido somente para pagamento via boleto bancário)
De: R$ 149,70
Por: R$ 99,80
Promoção PHP + MYSQL Intelimax (válido somente para pagamento via boleto bancário)
De: R$ 308,00
Por: R$ 219,00
Promoção Especial Infra
De: R$ 175,95
Por: R$ 136,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
CDs/DVDss
DVD Desenvolvimento de Games - Programando Jogos com o 3D Game Studio
DVD Desenvolvimento de Games - Programando Jogos com o 3D Game Studio
Por: R$ 59,00
DVD Curso de CorelDraw X4
Por: R$ 79,90
DVD Curso de Fireworks CS4
Por: R$ 49,90
DVD Curso de Indesign CS4
Por: R$ 55,00
DVD Curso de Efeitos Digitais
Por: R$ 49,90
Livros
MSProject 2007 - Metodologia e Critérios de Qualidade para o Gerenciamento de Projetos
MSProject 2007 - Metodologia e Critérios de Qualidade para o Gerenciamento de Projetos
De: R$ 129,00
Por: R$ 77,40
Foundation FLASH CS3 para Designers
Ciência Moderna
De: R$ 139,00
Por: R$ 83,40
ALGORITMOS O Guia Essencial
Alta Books
De: R$ 64,90
Por: R$ 58,40
Treinamento Prático em Dreamweaver
Digerati Books
Por: R$ 14,95
Estudo Dirigido de Adobe Photoshop CS4 em português - Para Windows
Erica
De: R$ 88,00
Por: R$ 74,80
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
Anderson Patricio
Luiz Felipe de Freitas
Marcio Franco
Eric C M Oliveira
Robert Martim
Ramon Durães
Alessandro de Oliveira Faria
Alfred Reinold Baudisch
Os 10+ | Artigos do dia
HTML Básico
HTML Avançado
Criando aplicativos para o Orkut
PL/SQL - Procedures e Funções
Tutorial de Tabelas Dinâmicas no Excel – Parte 1
Como configurar Conexão Remota no SQL Server 2005
WCF – Gerenciamento de Instância
Básico de C++: Estrutura de um programa em C++
ASP.NET 2.0 - Explorando o GridView
Tutorial: Desenhando com o Corel Draw