Rss SimplePie未解析flickr提要

Rss SimplePie未解析flickr提要,rss,parsing,feed,flickr,simplepie,Rss,Parsing,Feed,Flickr,Simplepie,我正在尝试使用SimplePie获取组池flickr提要: $feed = new SimplePie(); $feed->set_feed_url('http://api.flickr.com/services/feeds/groups_pool.gne?id=25938750@N00&lang=en-us&format=rss_200'); $feed->init(); $feed->handle_content_type(); 然后,我使用典型的Sim

我正在尝试使用SimplePie获取组池flickr提要:

$feed = new SimplePie();
$feed->set_feed_url('http://api.flickr.com/services/feeds/groups_pool.gne?id=25938750@N00&lang=en-us&format=rss_200');
$feed->init();
$feed->handle_content_type(); 
然后,我使用典型的SimplePie php调用循环遍历提要项。但是,没有返回任何内容。HTML在那里,但是没有插入提要元素

当我尝试使用flickr标记提要时,例如:

$feed->set_feed_url('http://api.flickr.com/services/feeds/photos_public.gne?tags=architecture,building&lang=en-us&format=rss_200');
我从公共照片源中得到了一张照片列表,但是标签没有被考虑在内


有什么想法吗?我能想到的唯一一件事是我需要一个API密钥,但是flickr网站上没有任何东西表明提要调用需要一个密钥。另外,我可以在浏览器中打开这两种类型的提要,并获取我要查找的提要。

我找到了答案——感谢ceejayoz帮助我找到了要搜索的内容

找到了答案

在simplepie.inc中,在第12146行附近,您应该看到以下函数:

function set_query($query)
{
if ($query === null || $query === '')
{
$this->query = null;
}
else
{
$this->query = $this->replace_invalid_with_pct_encoding($query,
'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~!$\'()*+,;:@/?');
}
$this->valid[__FUNCTION__] = true;
return true;
}
将其更改为:

function set_query($query)
{
if ($query === null || $query === '')
{
$this->query = null;
}
else
{
$this->query = $query;
}
$this->valid[__FUNCTION__] = true;
return true;
}

我不确定这会对代码中的其他内容产生什么影响,但似乎可以将查询的项目拉进去。

这对于我正在编写的Flickr/ZenPhoto/Picasa Web RSS脚本非常有用,该脚本可以从提要中创建小方指


我想对它稍加润色,并准备代码供其他人使用,而不仅仅是我自己使用,但事实就是如此。

用\u pct\u编码替换\u invalid\u的目的是转义查询字符串中的所有无效字符

因此,仅仅移除它可能不是最安全的选择。从那时起,通过rss条目进入的链接中的无效字符也不再转义。这可能不是你想要的

您遇到的问题不是由问号引起的,而是由url中的“=”和“&”字符引起的

我也有同样的问题,并将这两个字符添加为“有效”字符,如下所示:

$this->query=$this->将\u无效\u替换为\u pct\u编码($query, “ABCDEFGHIJKLMNOPQRSTUVXYZABCDFGHIJKLMNOPQRSTUVXYZ0123456789-.~!$\”()*+,;:@/?=&')

”&=“
添加到
set\u query
函数中,效果非常好!(谢谢帕特里斯)

我对设置为null感到不舒服,因为这个包的安全部分远远超出了我的想象。几个小时来,我一直在绞尽脑汁,试图从我的phpBB论坛上获取链接到姐妹网站的提要


get_links
是拼图的最后一块。对我有效。

我也有同样的问题,解决方案是确保您获得的是该组图像池的RSS源,而不是该组讨论的RSS源,然后缩略图就可以随时使用。

听起来您的查询字符串不知怎的被删除了。如果从这些URL中删除查询字符串,您将获得所描述的内容。好的,这是有意义的,但问题是:为什么Simplepie会删除查询字符串(即“?”之后的所有内容)。这是某种编码问题吗?