Inserire le news di google automaticamente in un sito

Google News
Vogliamo oggi mostrare come si può inserire nel proprio sito una pagina che riporti sempre le news aggiornate automaticamente, prelevate da google news, ovviamente relativamente ad una parola chiave di vostro interesse.
In un prossimo articolo vedremo poi come si possono inserire in ticker rotante, in una angolo della vostra pagina.
Per far questo utilizzeremo php. Per chi non conoscesse php, diciamo subito che l’unica condizione sarà avere abilitato il php dal proprio servizio di hosting. Per il resto sarà sufficiente fare un copia e incolla di quanto mostriamo qui, con un minimo di personalizzazione per quanto riguarda la parola chiave da voi scelta e poco altro.

Il trucco (si fa per dire) starà nell’ottenere le news in formato xml per poterle leggere col php.


Scriveremo una pagina php che farà il lavoro chiamandola nel nostro esempio ‘LetturaNews.php‘ e quindi la richiameremo dalla pagina che dovrà mostrare le news e che chiameremo ‘Test_LetturaNews.php‘. Voi dategli i nomi che preferite.

Cominciamo a mostrare il codice di LetturaNews.php cercando di spiegare cosa stiamo facendo e sottolineando i punti che se volete potrete personalizzare.

	<?php
	//LetturaNews.php
	//Prelevato da http://www.weweb.in
	//---------------------------------

		$num_RSS=8; // Numero di news da mostrare nella nostra pagina
		$Keyword="smartphone"; //impostare la keyword di cui cercare notizie
		$lang="it";
		$url="http://news.google.com/news?q=$Keyword&hl=$lang&gl=$lang&um=1&ie=UTF-8&output=rss";
		$i=0;
		$objDOM = new DOMDocument();
		$objDOM->load($url);
		$note = $objDOM->getElementsByTagName("item");

		$html='<div>'."\n";
		foreach( $note as $value )
		{
			if($i < $num_RSS)
			{
			$html.='<div class="box">'."\n";
			$html.='<h4 style="color:#003366">'."\n";
			$html.='<a href="'.$value->getElementsByTagName("link")->item(0)->getAttribute("href").'" target="_blank">';
			$html.= $value->getElementsByTagName("title")->item(0)->nodeValue;
			$html.='</a>';
			$html.='</h4>'."\n";
			$html.='<div style="font-size:0.6em">'.date("F d,Y h:i A ",strtotime($value->getElementsByTagName("pubDate")->item(0)->nodeValue)).'</div>'."\n";
			$html.='<div style="font-size:0.8em; align="left"">'. $value->getElementsByTagName("description")->item(0)->nodeValue.'</div>'."\n";
			$html.='</div>';
			}
			$i++;
		} 
		$html.='</div>'."\n";
		echo $html;
	?>

Nella variabile $num_RSS abbiamo messo il numero di news da mostrare. Potete personalizzare come vi pare.

Nella variabile $Keyword abbiamo messo la nostra keyword, che per l’esempio sarà “smartphone”. Qui dovrete scrivere quella di vostro interesse.

$lang=”it”; indica ovviamente la lingua italiana e la variabile $url è l’url dove leggere le news. Lasciatela così com’è.

Nel ciclo di visualizzazione delle news abbiamo inserito una <div class=”box”> per personalizzare il box di ciascuna news. Usando i CSS potrete personalizzare a vostro piacimento. Noi abbiamo inserito uno ‘style’ all’interno della <head> della pagina Test_LetturaNews.php.

Non resta che includere questo php all’interno della nostra pagina così:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<style>	
		.box {
			float:left; 
			margin: 0 0 10px 7px; 
			padding: 0 0 10px 5px;
			width: 700px;
			border: 2px groove threedface;
		}
		.box table {border-color: gray;}
	</style>
</head>

<body>
<?php
include("LetturaNews.php");
?>
</body>
</html>

Eseguite Test_LetturaNews.php dal vostro server ed otterrete una pagina come questa con le ultime news.

news
Chiunque richiamasse la pagina vedrà sempre le news aggiornate.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.