pense-bête de bruno sanchiz

Accueil > Programmation > Html Css Javascript... > créer un flux rss

créer un flux rss

Publié le 19 juillet 2018, dernière mise-à-jour le 14 mai 2024, > 11 visites, >> visites totales.

  • Il suffit de télécharger un fichier rss, par exemple http://radiofrance-podcast.net/podcast09/rss_13957.xml, et de l’arranger.
  • avec le programme apt-get install python3-pyrss2gen
    • on crée ensuite un fichier comme ça pour 2 fichiers de flux
      import datetime
      import PyRSS2Gen
      
      item1=PyRSS2Gen.RSSItem(
      	 title = "1er flux",
      	 link = "http://bruno.sanchiz.free.fr/COURS/",
      	 description = "site de présentation des cours",
      	 guid = PyRSS2Gen.Guid("http://bruno.sanchiz.free.fr/COURS/"),
      	 pubDate = datetime.datetime(2018, 7, 19, 21, 31))
      	 
      item2=PyRSS2Gen.RSSItem(
      	 title = "2ème flux",
      	 link = "http://dindoun.lautre.net/",
      	 description = "Site informatique et divers",
      	 guid = PyRSS2Gen.Guid("http://dindoun.lautre.net/"),
      	 pubDate = datetime.datetime(2018, 7, 18, 21, 49))
      rss = PyRSS2Gen.RSS2(
          title = "flux de bruno sanchiz",
          link = "http://dindoun.lautre.net/",
          description = "flux des idées diverses",
          lastBuildDate = datetime.datetime.utcnow(),
          items = [item1,item2]
      )
      rss.write_xml(open("flux_rss.xml", "w"),"UTF-8")
      

le même en php


<?php



function RSSItem($item){
	$rss="";
	foreach ($item as $nom=>$data){
		if ($nom != "guid"){$rss.="<".$nom.">".$data."</".$nom.">"."\n";}
		if ($nom == "guid"){$rss.="<guid isPermaLink='true'>".$data."</guid>\n";}
	}
	return $rss;
}

$item1=RSSItem(
	array(
		"title" => "1er flux",
		"link" => "http://bruno.sanchiz.free.fr/COURS/",
		"description" => "site de présentation des cours",
		"guid" => "http://bruno.sanchiz.free.fr/COURS/",
		"pubDate" => date("D, j M Y H:i:s",mktime(18,30,0,5,14,2024))." GMT"
	)
);
	
$item2=RSSItem(
	array(
		"title" => "2ème flux",
		"link" => "http://dindoun.lautre.net/",
		"description" => "Site informatique et divers",
		"guid" => "http://dindoun.lautre.net/",
		"pubDate" => date("D, j M Y H:i:s",mktime(18,30,0,5,14,2024))." GMT"
	)
);

function RSS($titres){
	$rss='<?xml version="1.0" encoding="UTF-8"?>'."\n".'<rss version="2.0">'."\n"."<channel>\n";
	foreach ($titres as $nom=>$data){
		if ($nom != "items"){$rss.="<".$nom.">".$data."</".$nom.">"."\n";	}
	}
	$rss.="<generator>bruno_sanchiz_rss 1.0</generator>"."\n";
	
	foreach ($titres["items"] as $items){
		$rss.="<item>".$items."</item>"."\n";
	}
	$rss.="</channel>\n</rss>\n";
	return $rss;
}

$rss = RSS(
	array(
		"title" => "flux de bruno sanchiz",
		"link" => "http://dindoun.lautre.net/",
		"description" => "flux des idées diverses",
		"lastBuildDate" => date("D, j M Y H:i:s")." GMT",
		"items" => [$item1,$item2]
	)
);

$f=fopen("flux_rss.xml", "w");
fwrite($f,$rss);
fclose($f);

?>
[bruno sanchiz]