Domanda

Sto cercando di leggere i dati da un feed RSS, che dispone di 25 elementi. Quando richiedo il file RSS tramite HTTP si dice che ci sono solo 20 elementi.

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');
RSS

Ho provato feed da altri subreddits così con lo stesso risultato.

È stato utile?

Soluzione

vedo quale sia il problema è ora ... Se si visita un sub-reddit come / r / programmazione / e andare alla scheda "nuova" per vedere più nuove osservazioni, ci sono due opzioni di ordinamento. La prima opzione è "aumento", che mostra solo fino emergenti voci, l'ordinamento alternativo è "nuovo".

Da quando ho scelto il "nuovo" ordinamento nel browser ha salvato un cookie ed è stato usato come l'ordinamento di default in seguito. Tuttavia, l'accesso alla pagina tramite il codice è stato ancora utilizzando l'ordine predefinito, che ha restituito una quantità variabile di risultati.

Ho risolto il problema aggiungendo la stringa di query di ordinamento per la richiesta URL: http://www.reddit.com/r/programming/new/.rss?sort=new

Altri suggerimenti

Se si stavano avendo problemi di caricamento del mangime, sarebbe probabilmente emettere un avviso di qualche tipo.

In questo momento, il codice di esempio per l'alimentazione reddit mostra che ha 14 articoli. Il numero di elementi che i mangimi non è costante. Quindi il problema è che la copia locale è diverso che quello che stavano caricando da reddit.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top