2011-06-05 3 views
0

J'utilise feedparser pour travailler avec RSS. Je reçois régulièrement (par exemple toutes les 15 minutes) une chaîne RSS contenant des articles et je les stocke. Dans les canaux, il n'y a pas souvent de nouveaux éléments. Donc, c'est inefficace.
Y at-il un moyen de détecter rapidement s'il y a de nouveaux éléments dans le canal et si ce n'est pas le cas, ne faites rien avec ce canal?Détection de nouvelles entrées de flux RSS

vous remercie

Répondre

1

Pour RSS 2.0, l'élément de canal a une option lastBuildDate eleement. Pour atom, il existe un élément similaire "atom: updated", mais le standard indique que c'est "lorsqu'une entrée ou un flux a été modifié d'une manière que l'éditeur considère comme significative. valeur".

Il existe également un élément PubDate dans RSS 2.0, également facultatif, mais lastBuildDate doit être celui à utiliser, en supposant qu'il existe et que l'éditeur l'utilise correctement.

Vous pouvez stocker le précédent et comparer la valeur nouvellement récupérée avec l'ancienne.

Ajout de données sur feedparser: Pour feedparser, voir feed-updated_parsed et feed-updated.

+0

Merci pour les informations, mais je ne trouve aucun support pour 'lastBuildDate' dans feedparser. Y a-t-il une détection alternative? – xralf

+0

Voir http://www.feedparser.org/docs/reference-feed-updated_parsed.html et http://www.feedparser.org/docs/reference-feed-updated.html. – ViennaMike