2010-11-22 3 views
2

J'ai créé un analyseur RSS en utilisant la classe NSXMLParser. Le flux a un nombre d'éléments de 20. Je voudrais savoir comment récupérer les 20 prochains éléments du flux?Comment obtenir les 20 prochains éléments dans le flux RSS?

Si j'ajoute la même URL à google reader, elle récupère beaucoup d'éléments et continue de continuer lorsque je fais défiler vers le bas. Y at-il un moyen particulier d'aller chercher les 20 prochains articles du RSS? Considérez ce flux de blog dilbert par exemple. feed: //feeds.feedburner.com/typepad/ihdT? Format = xml

Répondre

3

Ceci est hors de la portée de la norme RSS.

Certains petits sites qui génèrent leurs flux à la demande peuvent vous permettre de paramétrer le nombre d'éléments en ajoutant? Maxitems = 50, et peut-être même vous laisser spécifier la position de départ. Cependant, la plupart du monde compte sur les flux statiques qui peuvent être mis en cache et propagés et ne fourniront probablement jamais ce que vous voulez. Google Reader gère sa propre base de données d'éléments, depuis la première fois que quelqu'un s'est abonné à ce flux. Ils pourraient théoriquement rendre cela disponible par programmation, mais pour le moment c'est fermé.

+2

Cela a continué à me harceler, a dû creuser un peu plus. Il semble que Google Reader fournisse certaines de ces fonctionnalités. Tous les flux sont republiés sous http://www.google.com/reader/atom/feed/feedname et contiennent un champ appelé gr: continuation qui peut être ajouté à l'URL pour obtenir la page d'éléments suivante. Consultez http://code.google.com/p/pyrfeed/wiki/GoogleReaderAPI pour en savoir plus. – Jarl

1

La solution la plus simple semble utiliser le service de cache de Google Reader et API:

http://www.google.com/reader/atom/feed/FEEDURL?n=100 

FEEDURL est le chemin complet http du RSS. Très probablement Google Reader stocke ses messages précédents et avec l'argument ?n=100, vous pouvez spécifier le nombre de billets de blog que vous souhaitez télécharger.

2

Il est probablement utile de mentionner que le générateur d'alimentation intégré de wordpress inclut une fonction de pagination. Vous pouvez utiliser l'argument 'paged'. Par exemple:

# Most recent posts: 
"http://example.com/feed/atom/" 
# Next most recent posts: 
"http://example.com/feed/atom/?paged=2" 

J'ai rencontré des problèmes pour trouver une documentation wordpress à ce sujet. Naturellement, ce ne sont que des informations utiles lorsque vous utilisez un site alimenté par WordPress.

+0

vous êtes un sauveteur –