Question

Je suis en train de lire les données à partir d'un flux RSS qui a 25 points. Quand je demande le fichier RSS via HTTP, il dit qu'il n'y a que 20 articles.

function test($location)
{
    $doc = new DomDocument();
    $doc->load($location);
    $items = $doc->getElementsByTagName('item');
    return $items->length;
}

// Prints 20
echo test('http://www.reddit.com/r/programming/new/.rss?after=t3_');

// Prints 25
echo test('programming.xml');

Je l'ai essayé flux RSS d'autres subreddits aussi bien avec le même résultat.

Était-ce utile?

La solution

Je vois ce que la question est maintenant ... Si vous visitez un sous-reddit comme / r / programmation / et allez dans l'onglet « nouveau » pour voir les plus récentes soumissions, il y a deux options de tri. La première option est « en hausse », qui ne montre que-et-vient des entrées, l'ordre de tri alternative est « nouveau ».

Depuis que je choisi l'ordre de tri « nouvelle » dans mon navigateur, il a sauvé un cookie et a été utilisé comme l'ordre de tri par défaut par la suite. Cependant, l'accès à la page par le code utilisait toujours l'ordre de tri par défaut, ce qui a renvoyé une quantité variable de résultats.

Je résolu le problème en ajoutant la chaîne de requête de l'ordre de tri à l'URL de la requête: http://www.reddit.com/r/programming/new/.rss?sort=new

Autres conseils

Si l'on a des problèmes de chargement l'alimentation, ce serait probablement un avertissement de quelque sorte.

En ce moment, votre exemple de code pour l'alimentation reddit montre qu'il a 14 articles. Le nombre d'éléments de cette alimentation ne sont pas constantes. Donc, le problème est que votre copie locale est différente que celle que vous chargeaient de reddit.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top