[tutorial] Parser facile en PHP avec Magpie RSS
Par Cethy, samedi 15 septembre 2007 à 18:26 :: geek :: #2 :: rss
Pour bien commencer la partie "geek" de mon blog, voici un nano tutorial sur l'utilisation d'un parser, Magpie RSS.
Ce tutorial vous permettra d'afficher les news de mon blog sur votre site ;).
Avant tout, il faut télécharger la dernière version de Magpie RSS à cette adresse : sourceforge
Note : Le tuto sera fait à partir de la version 0.72 de Magpie RSS
Configuration de Magpie RSS
Magpie se présente sous la forme d'une archive tar.gz, il faut donc la décompresser dans un dossier de notre choix.
En lisant le fichier INSTALL (avec un bloc-note, pour les utilisateurs de windows), il nous apprend que nous avons besoin de 4 fichiers et d'un dossier se trouvant dans l'archive.
J'ai donc crée un nouveau dossier nommé "magpierss" et j'y ai copié les fichiers "ss_fetch.inc", "rss_parser.inc", "rss_cache.inc", et "rss_utils.inc" et le dossier "extlib" (qui doit contenir le fichier "Snoopy.class.inc").
Nous allons insérer ce dossier (magpierss) au même endroit que notre script qui parsera les news. Dans mon cas, je le mets directement en ligne sur mon site, donc j'utilise mon client ftp (gFTP).
Script qui utilisera le parser
Toujours en lisant le fichier INSTALL, on apprend que pour mettre en oeuvre le parser, il faut simplement insérer ces 2 lignes :
[php] <?php require_once('magpierss/rss_fetch.inc'); ?>
On notera que de cette facon, on peut placer le parser où on veut en remplacant "magpierss" par l'emplacement où il a été insérer sur le serveur.
[php] <?php $rss = fetch_rss('http://hybridnocorp.com/dotclear/rss.php'); ?>
Vous pouvez mettre l'url que vous voulez en argument de fetch_rss()
Et voilà, le tour est joué !
Il ne reste plus qu'à exploiter les données contenues dans $rss :
[php]
<?php echo "Channel Title: " . $rss->channel['title'] . "<p>";
echo "<ul>";
foreach ($rss->items as $item) {
$href = $item['link'];
$title = $item['title'];
echo "<li><a href=$href>$title</a></li>";
}
echo "</ul>";?>
C'est l'exemple qui se trouve dans le README. Oui je suis une faignasse -_-
Donc que fait-il ? Il affiche tout d'abord "Channel Title: " suivi du nom du blog (ou autre site) parsé. Et ensuite, il créer une liste (<ul>) contenant chaque entrées du lien rss.
Voici 2 exemples :
- ce blog : parser Cethy's world
- un blog un peu plus fourni : parser Emob
Rappel du code entier
[php]
<?php
require_once('magpierss/rss_fetch.inc');
$url = 'http://hybridnocorp.com/dotclear/rss.php';
$rss = fetch_rss( $url );
echo "Channel Title: " . $rss->channel['title'] . "<p>";
echo "<ul>";
foreach ($rss->items as $item) {
$href = $item['link'];
$title = $item['title'];
echo "<li><a href=$href>$title</a></li>";
}
echo "</ul>";
?>
Conclusion
Ici se termine ce nano-tuto. Je ne vous ai montré que la partie qui m'interessait de ce petit parser, mais je dois signaler qu'il embarque une fonction extrèment utile, le cache. En effet, pour ne pas surcharger le serveur sur lequel vous pompez les news.
Je vous invite donc à regarder plus en détail les possibilités de Magpie RSS à cette adresse : Magpie RSS.
Cethy's world ... what else ?

Commentaires
1. Le lundi 14 avril 2008 à 21:34, par klodio
2. Le samedi 24 mai 2008 à 11:38, par Pocosso
3. Le samedi 7 juin 2008 à 13:10, par Cethy
4. Le samedi 20 septembre 2008 à 21:40, par Jeff
Ajouter un commentaire