我正在使用SimplePie,这让我很头疼。首先,让我解释一下我正在尝试做什么。 我的朋友,我正在建立一个网站,已经有博客,帖子不多,我想从那里加载所有项目,解析它们,如果标签是正确的,显示它们。当SimplePie未加载整个Feed但限制为25时问题就开始了。根据此SO question,默认限制为10,我还检查了使用Google Chrome扩展程序的Feed整个博客内容。并且澄清一下,这些项目没有缓存(好的,实际上它们都是)但仍然存在于博客上,所以它们没有被删除,我也没有得到旧的内容。 此外,我下载了提要网址,并在记事本中打开,有25个项目。
这是我的init()代码示例:
require_once("php/autoloader.php");
$feed=new SimplePie();
$feed->set_feed_url("http://jadran303.blogspot.com/feeds/posts/default");
$feed->enable_cache(false);
$feed->init();
$feed->handle_content_type();
这是我的代码,用于测试结果并查看我得到的内容(这不是生产版本):
$i=1;$j=1;$k=1;
foreach($feed->get_items() as $item):
echo$k." ".$item->get_title()." - ".$item->get_date('j F Y, g:i a')."<br />";
if($category=$item->get_category()){
echo$j". ".$item->get_title()." - ".$category->get_label()." - ".$category->get_term()."<br />";
if($category->get_label()=="Peugeot 406 Coupé na terenu"){
echo" - $i ".$item->get_title()."<br />";
$i++;
}
print_r($category);
$j++;
}
$k++;
endforeach;
我的问题:
感谢您的帮助。
答案 0 :(得分:0)
另外,我下载了提要网址,并在记事本中打开,有25个项目。
这就是SimplePie无法加载任何物品的原因;那里没有任何东西。 SimplePie(或任何其他解析器)只能获取Feed中的内容。
如果您想要更多商品,可以尝试使用Google的Feed API(他们使用来自Google阅读器的缓存数据,因此他们应该拥有所有商品)。 (另一个答案实际上是不正确的,因为它不仅限于10个项目;这只是在NewsBlocks示例代码中。)或者,在网站上挖掘并查看是否可以找到分页Feed的方法。 < / p>
根据您在下方的评论,您应该可以将?max-results=1000
附加到任何Blogger Feed,以获取1000个项目。这是Blogger特有的,但大多数网站都有类似的东西。