Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

sylar_head

[Resolvido] Leitor RSS de outro site

Recommended Posts

Boas.

 

Eu to com um problema pra colocar o RSS desse site http://www.nominuto.com/rss/ultimas/ em outro site que estou fazendo.

talvez seja porque esse rss tem uma estrutura diferente das que estou acostumado. Alguém pode me ajudar com algum código pra que eu possa desenrolar?

 

Obrigado desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como você tá tentando fazer? Posta ai código.

 

<?php $rss = simplexml_load_file("http://www.nominuto.com/rss/ultimas/");
 
foreach ($xml->channel->item as $node) {

print $node->title . "<br>";

}
?>

Sendo que não há esse "channel" no xml e por isso fica dando erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Análise do seu código:

 

<?php 
/* A variável tem o nome de RSS, mas onde ela entra no loop?? */
$rss = simplexml_load_file("http://www.nominuto.com/rss/ultimas/");
 
/* Substitua na linha abaixo $xml por $rss */
foreach ($xml->channel->item as $node) {

print $node->title . "<br>";

}
?>

Ou tenta isso:

<?php
//Endereço do XML
$xml = simplexml_load_file('http://g1.globo.com/dynamo/rss2.xml');
echo '<table>';

//Loop
foreach($xml->channel->item as $item){
echo '<tr><td>' . utf8_decode($item->category). '<br><a href="' . $item->link . '" target="_blank" >' . utf8_decode($item->title)  . "</a><br>utf8_decode($item->pubDate)" . '</td></tr>';
echo '<tr><td><br></tr></td>';
}
echo '</table>';
?>

Se der erro, poste aqui.

Abraços ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sendo que não há esse "channel" no xml e por isso fica dando erro.

 

Então faça com o que há.

Parte da estrutura XML (código-fonte) desse seu alvo:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<feed xmlns="http://www.w3.org/2005/Atom">

	<title>Nominuto.com</title>
	<subtitle>Últimas notícias do portal Nominuto.com</subtitle>
	<link href="http://www.nominuto.com/rss/ultimas/" rel="self"/>
	<link href="http://www.nominuto.com/"/>
	
	<updated>2010-11-30T09:00:21Z</updated>
	<author>

		<name>Nominuto.com</name>
		<email>contato@nominuto.com</email>
	</author>
	<id>tag:www.nominuto.com,2010-11-30:/rss/ultimas/</id>
	
		
	<entry>
		<title>Justiça Federal nega pedido de Baía Formosa para manter lixão</title>
				<link href="http://www.nominuto.com/noticias/cidades/justica-federal-nega-pedido-de-baia-formosa-para-manter-lixao/64701/"/>

		<id>tag:www.nominuto.com,2010-11-30:/noticias/cidades/justica-federal-nega-pedido-de-baia-formosa-para-manter-lixao/64701/</id>
		<updated>2010-11-30T09:00:21Z</updated>
		<summary>Decisão é do Juiz Federal Ivan Lira de Carvalho, titular da 5ª Vara Federal.</summary>
	</entry>
	
		
	<entry>
		<title>Câmara aprova MP que prevê capitalização da Petrobras</title>
				<link href="http://www.nominuto.com/noticias/brasil/camara-aprova-mp-que-preve-capitalizacao-da-petrobras/64700/"/>

		<id>tag:www.nominuto.com,2010-11-30:/noticias/brasil/camara-aprova-mp-que-preve-capitalizacao-da-petrobras/64700/</id>
		<updated>2010-11-30T08:46:49Z</updated>
		<summary>Medida foi aprovada na forma de projeto de lei de conversão apresentado pelo relator, deputado Geraldo Simões (PT-BA).</summary>
	</entry>

</feed>

foreach ($rss->entry as $node) ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiramente, obrigado a todos.

 

Haz, deu certo com o que você me disse. Mas agora to com outro probleminha, como faço pra fazer com a noticia fique como link? tentei fazer pegando a tag "Link" assim:

<?php foreach ($rss->entry as $node) {

$link = $node->link;
print "<a href=".$link.">" . $node->title . "</a><br>";

} ?>
Mas não funcionou. Ficou como se a variavel $link estivesse vazia. e agora?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentou

echo '<a href="'.$node->title.'">' . $node->title . '</a><br />';
?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentou

echo '<a href="'.$node->title.'">' . $node->title . '</a><br />';
?

 

Aí ficaria no link o titulo da noticia, ou seja, não levaria a canto nenhum =/

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa! desculpa cara, falta de atenção minha.

 

<?php 
$rss = simplexml_load_file("http://www.nominuto.com/rss/ultimas/");
foreach ($rss->entry as $node) 
{
	$link = $node->link->attributes()->href;
	echo '<a href="'.$link.'">' . $node->title . '</a><br />'.PHP_EOL;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa! desculpa cara, falta de atenção minha.

 

<?php 
$rss = simplexml_load_file("http://www.nominuto.com/rss/ultimas/");
foreach ($rss->entry as $node) 
{
	$link = $node->link->attributes()->href;
	echo '<a href="'.$link.'">' . $node->title . '</a><br />'.PHP_EOL;
}

Valeu cara, deu certo. Só mais uma besteirinha. Como é que eu tiro esses caracteres "estranhos" dos nomes? por exemplo:"MP discute construções próximas ao Forte dos Reis Magos "

Compartilhar este post


Link para o post
Compartilhar em outros sites

use o Responder Azul: Imagem Postada

ou a 'Resposta Rápida'.

tá vindo em utf:

 

<?php 
header("Content-Type: text/html; charset=UTF8");
$rss = simplexml_load_file("http://www.nominuto.com/rss/ultimas/");
foreach ($rss->entry as $node) 
{
        $link = $node->link->attributes()->href;
        echo '<a href="'.$link.'">' . $node->title . '</a><br />'.PHP_EOL;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.