Comment faire apparaitre les news Yahoo en contenu dynamique

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

cheloniologue
WRInaute impliqué
WRInaute impliqué
 
Messages: 375
Inscription: Mer Fév 08, 2006 21:11

Comment faire apparaitre les news Yahoo en contenu dynamique

Message le Mer Jan 02, 2008 11:08

Bonjour à tous
Tout d'abord bonne année 2008 en vous souhaitant à tous prospérité sur le net :wink:

Voilà mon problème, J'en ai marre de prendre les news yahoo sur un sujet que je reçois par email et que je tape une a une tout les mois.
Je cherche un moyen de faire apparaitre en contenu dynamique de façon automatique sur mon site internet.

Je sais pas trop où m'orienter pour trouver un script ... une page explication ..? un moyen spécifique ?

Pourriez vous m'aider ?

D'avance je vous remercie
G.Bruno


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 5151
Inscription: Mer Nov 23, 2005 10:38

Message le Mer Jan 02, 2008 11:15

Tu peux récupérer le flux RSS de Yahoo News et l'afficher sur ton site après l'avoir parsé, en utilisant par exemple MagpieRSS :

http://fr.news.yahoo.com/rss/

cheloniologue
WRInaute impliqué
WRInaute impliqué
 
Messages: 375
Inscription: Mer Fév 08, 2006 21:11

Message le Mer Jan 02, 2008 12:10

J'ai aussi entendu parlé de lamooche ... ou un truc dans le genre ... :roll: :roll: :roll: qu'en pensez vous ?

Merci pour ton intervention ... je vais jeter un oeil :D

Koxin-L
WRInaute accro
WRInaute accro
 
Messages: 1925
Inscription: Jeu Mar 29, 2007 15:54

Message le Mer Jan 02, 2008 14:21

cheloniologue a écrit:J'ai aussi entendu parlé de lamooche ... ou un truc dans le genre ... :roll: :roll: :roll: qu'en pensez vous ?

Non, c'est bien ça... Mais ajouteencore un o
C'est un excellent annuaire de Flux RSS.
Par contre, je préfère utiliser les flux direct que de passer par lamoooche.

cheloniologue
WRInaute impliqué
WRInaute impliqué
 
Messages: 375
Inscription: Mer Fév 08, 2006 21:11

Message le Mer Jan 02, 2008 14:29

Quel en est l'inconvénient ?

:roll: :roll: :roll: :roll:


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 5151
Inscription: Mer Nov 23, 2005 10:38

Message le Mer Jan 02, 2008 14:33

cheloniologue a écrit:Quel en est l'inconvénient ?

:roll: :roll: :roll: :roll:


Il y en a plusieurs :

1) tu ne gère pas les fréquences de mise à jour
2) si lamoooche est indisponible, tu n'as plus d'accès directement au flux

Perso je préfère faire comme Koxin-L, aller chercher moi-même le flux d'origine (et soit recréer ensuite le fichier xml en local, où le sauvegarder en base de donnée, de manière à me prémunir de toute indisponibilité sur le site distant).

cheloniologue
WRInaute impliqué
WRInaute impliqué
 
Messages: 375
Inscription: Mer Fév 08, 2006 21:11

Message le Mer Jan 02, 2008 14:49

Y'aurait il un tuto d'installation ??? (une page web d'explication ??)

D'avance merci à vous deux

Victor BRITO
WRInaute impliqué
WRInaute impliqué
 
Messages: 423
Inscription: Jeu Déc 21, 2006 13:15

Message le Mer Jan 02, 2008 15:53

Si tu peux faire du PHP 5, tu peux utiliser SimpleXML.

Un exemple :
Code: Tout sélectionner
<?php
// Chargement du flux RSS
$xml = simplexml_load_file ('http://fr.news.yahoo.com/rss/');

// On récupère tous les éléments item
$item = $xml -> channel -> item;

// Affichage des entrées (titre, résumé, lien et date)
foreach ($item as $valeur)
{
  // Formatage de la date
  // Conversion du format RSS 2.0 au format timestamp Unix
  $timestamp = strtotime ((string) $valeur -> pubDate);
  // Conversion du timestamp Unix en date compréhensible par un humain
  setlocale (LC_TIME, 'fr_FR');
  $date = strftime ('%A %e %B %Y à %Hh%M', $timestamp);
  // Sous Windows, remplacer les deux lignes ci-dessus par celles-ci
  setlocale (LC_TIME, 'fra');
  $date = strftime ('%A %d %B %Y à %Hh%M', $timestamp);
?>
<h2><?php echo htmlspecialchars ((string) $valeur -> title, ENT_COMPAT, 'UTF-8') ?></h2>
<p><?php echo htmlspecialchars ((string) $valeur -> description, ENT_COMPAT, 'UTF-8') ?></p>
<p>Publié le <?php echo $date ?> - <a href="<?php echo $valeur -> link ?>">Lire la suite</a></p>
<?php
}
?>

cheloniologue
WRInaute impliqué
WRInaute impliqué
 
Messages: 375
Inscription: Mer Fév 08, 2006 21:11

Message le Mer Jan 02, 2008 19:30

Cela reste encore du chinois mais merci pour cet aide ....

Connaissez vous une page d'explication de qualité ? Etape par etape ...

D'avance je vous en remercie

Bien cordialement

darkjukka
WRInaute passionné
WRInaute passionné
 
Messages: 612
Inscription: Sam Avr 28, 2007 12:34

Message le Mer Jan 02, 2008 20:03

Avec Magpierss et ces explications c'est enfantin !
http://www.webrankinfo.com/analyses/art ... cation.php


zeb
WRInaute accro
WRInaute accro
 
Messages: 1186
Inscription: Dim Déc 05, 2004 19:47

Message le Mer Jan 02, 2008 21:15

Victor BRITO a écrit:Si tu peux faire du PHP 5, tu peux utiliser SimpleXML.

Un exemple :
Code: Tout sélectionner
<?php
// Chargement du flux RSS
(...)
<?php
}
?>


@victor
dans ton exemple comment fais tu pour acceder l'url quand le flux se presente sous cette forme :

<item>
<media:content url="http://d.yimg.com/eur.yimg.com/ng/ne/zonenumerique/20080102/19/1108511164-optimus-tactus-clavier-polymorphe-dalle-tft-tactile.jpg" height="75" width="90"></media:content>
<title><![CDATA[Optimus Tactus: clavier polymorphe à dalle TFT tactile]]></title>
(...)
<media:credit role="publishing company">Zone Num&#xE9;rique</media:credit>
</item>


j'ai cherché dans la php doc mais je sèche lamentablement. le flux est ici au cas ou ... -http://fr.news.yahoo.com/rss/fc/hardware.xml

Victor BRITO
WRInaute impliqué
WRInaute impliqué
 
Messages: 423
Inscription: Jeu Déc 21, 2006 13:15

Message le Jeu Jan 03, 2008 19:13

Pour les éléments qui utilisent un préfixe, il faut passer par la méthode children () en indiquant comme paramètre l'espace de nom de ces élements (en gros, la valeur de l'attribut xmlns:prefixe pour les éléments dont le nom commence par prefixe:).

Dans ton cas, il s'agit des éléments à préfixe media:, dont l'espace de nom est renseigné par l'attribut xmlns:media de l'élément racine du fil RSS (pour info, l'élément racine est rss et l'espace de nom cherché est http://search.yahoo.com/mrss/). Étant donné que les éléments media:content sont vides (Yahoo! aurait pu les coder sous la forme "<media:content />" :roll: ), seuls ses attributs nous intéressent, auxquels on peut accéder grâce à la méthode attributes ().

Autrement dit, et en reprenant mon code :
Code: Tout sélectionner
<?php
// Chargement du flux RSS
$xml = simplexml_load_file ('http://fr.news.yahoo.com/rss/fc/hardware.xml');

// On récupère tous les éléments item
$item = $xml -> channel -> item;

// Affichage des entrées (titre, résumé, lien et date)
foreach ($item as $valeur)
{
  // Récupération des élements media:
  // On renseigne l'espace de nom de ces éléments
  $media = $valeur -> children ('http://search.yahoo.com/mrss/');
  foreach ($media as $nom => $element)
  {
    if ($nom == 'credit') $credit = htmlspecialchars ((string) $element, ENT_COMPAT, 'UTF-8');
    // Récupération des attributs de l'élément media:content
    if ($nom == 'content')
    {
      foreach ($element -> attributes () as $attribut => $valeur_attribut)
      {
        // On force PHP à interpréter la valeur de chaque attribut comme une chaîne de caractère et non comme un objet
        $media_content[$attribut] = (string) $valeur_attribut;
      }
    }
  }
  // Formatage de la date
  // Conversion du format RSS 2.0 au format timestamp Unix
  $timestamp = strtotime ((string) $valeur -> pubDate);
  // Conversion du timestamp Unix en date compréhensible par un humain
  setlocale (LC_TIME, 'fr_FR');
  $date = strftime ('%A %e %B %Y à %Hh%M', $timestamp);
  // Sous Windows, remplacer les deux lignes ci-dessus par celles-ci
  setlocale (LC_TIME, 'fra');
  $date = strftime ('%A %d %B %Y à %Hh%M', $timestamp);
?>
<h2><?php echo htmlspecialchars ((string) $valeur -> title, ENT_COMPAT, 'UTF-8') ?></h2>
<p><img src="<?php echo $media_content['url'] ?>" alt="<?php echo htmlspecialchars ((string) $valeur -> title, ENT_COMPAT, 'UTF-8') ?>" width="<?php echo $media_content['width'] ?>" height="<?php echo $media_content['height'] ?>" /></p>
<p><?php echo htmlspecialchars ((string) $valeur -> description, ENT_COMPAT, 'UTF-8') ?></p>
<p>Publié le <?php echo $date ?> par <?php echo $credit ?> - <a href="<?php echo $valeur -> link ?>">Lire la suite</a></p>
<?php
}
?>
Dernière édition par Victor BRITO le Ven Jan 04, 2008 16:13, édité 1 fois.


zeb
WRInaute accro
WRInaute accro
 
Messages: 1186
Inscription: Dim Déc 05, 2004 19:47

Message le Ven Jan 04, 2008 12:21

@Victor BRITO merci pour le coup de pouce, j'aurais pu chercher encore un moment, ton code est divinement bien commenté.

Encore MERCI :wink:


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : Google Blog Search, Google Base

  • Analyse du positionnement dans Yahoo
    Cet outil vous permet de vérifier si une ou plusieurs page(s) de votre site arrive(nt) dans les premiers résultats de Yahoo, pour certains mots-clés recherchés.
  • Analyse du positionnement
    AgentWebRanking est un logiciel professionnel qui permet d'analyser le positionnement d'un ou plusieurs sites dans plus de 300 moteurs de recherche dans le monde. Vous pouvez ainsi analyser les performances du référencement pour de nombreux mots-clés.
  • Calcul du taux de liens profonds
    Cet outil vous permet de calculer le taux de liens profonds vers un site web. Un lien profond est un lien qui ne pointe pas vers la page d'accueil mais au contraire vers une page interne du site. Les sites dont l'essentiel du référencement vient de leurs inscriptions dans des annuaires ont un taux de liens profonds faible ; à l'inverse, les sites de référence ont souvent un taux de liens profonds plus important, signe que leur contenu a suscité de nombreux liens spontanés.


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités