我们正在使用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并且不显示图像。
我想找到两张带图片的最新帖子,我该怎么做?有什么想法吗?
答案 0 :(得分:2)
使:limit
超过2(记录的限制一次最多20个,未记录的限制似乎是50)。您可以使用:offset
批量检索。在收集到两个有效的图片帖子之前,请忽略nil
的返回。
另外,你说“在Tumblr中,图像存储在帖子体内”。如果帖子属于text
类型,则为true。但也有photo
类型的帖子。我猜你知道这个吗?
我问的原因是你是张贴照片还是带简短笔记的照片。你可以制作带有字幕的照片帖子。然后,您就可以:type=>"photo"
:limit=>2
或者 - 您可以使用例如“image”标记所有图片博客帖子。然后,您可以使用:limit=>2
:tag=>"image"
搜索
希望以某种方式有所帮助:)