Reddit RSS feed在通过HTTP请求时返回的项目较少?

时间:2009-12-14 02:30:01

标签: php xml rss domdocument reddit

我正在尝试从包含25个项目的RSS源中读取数据。当我通过HTTP请求RSS文件时,它说只有20个项目。

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源,结果相同。

2 个答案:

答案 0 :(得分:2)

我现在看到的问题是......如果你访问像/r/programming/这样的子reddit,并转到“新”标签查看最新的提交,有两种排序选项。第一个选项是“上升”,仅显示即将到来的条目,备用排序顺序为“新”。

由于我在浏览器中选择了“新”排序顺序,因此保存了一个cookie并在之后用作默认排序顺序。但是,通过代码访问页面仍然使用默认排序顺序,该顺序返回了可变数量的结果。

我通过将排序顺序查询字符串附加到请求网址解决了该问题:http://www.reddit.com/r/programming/new/.rss?sort=new

答案 1 :(得分:0)

如果在加载Feed时出现问题,可能会发出某种警告。

现在,reddit Feed的示例代码显示它有14个项目。该Feed中的商品数量不是固定的。所以问题是您的本地副本与您从reddit加载的副本不同。