如何使用图像获取最新的两个帖子

时间:2013-05-22 18:51:49

标签: ruby-on-rails tumblr

我们正在使用tumblr gem来获取我们博客的帖子。我们得到这样的帖子:

client = Tumblr::Client.new
posts = client.posts("blog_url", :type => "text", :limit => 2)["posts"] #gets a posts array

在Tumblr中,图像存储在帖子正文中,因此您必须在帖子正文中搜索img标记,例如,以下查询从第一篇文章中获取图像:

posts = client.posts("blog_url", :type => "text", :limit => 2)["posts"][0]["body"][/<img.*/]

但是如果没有图像怎么办...它返回nil并且不显示图像。

我想找到两张带图片的最新帖子,我该怎么做?有什么想法吗?

1 个答案:

答案 0 :(得分:2)

使:limit超过2(记录的限制一次最多20个,未记录的限制似乎是50)。您可以使用:offset批量检索。在收集到两个有效的图片帖子之前,请忽略nil的返回。

另外,你说“在Tumblr中,图像存储在帖子体内”。如果帖子属于text类型,则为true。但也有photo类型的帖子。我猜你知道这个吗?

我问的原因是你是张贴照片还是带简短笔记的照片。你可以制作带有字幕的照片帖子。然后,您就可以:type=>"photo"

请求:limit=>2

或者 - 您可以使用例如“image”标记所有图片博客帖子。然后,您可以使用:limit=>2

运行:tag=>"image"搜索

希望以某种方式有所帮助:)