如何检查Instagram图像是否已被删除

时间:2015-07-29 07:44:33

标签: ruby instagram

我一直在尝试检测Instagram图片是否已被移除以隐藏我的数据库中的这些照片。

现在我正在存储Instagram图像短代码。并使用"https://instagram.com/p/#{shortcode}"

访问图片

如果您使用(Ruby)访问例如合法网址: open "https://instagram.com/p/1"然后返回200 OK, 另一方面,随机不存在的页面抛出异常404。

但有时它似乎在合法页面上抛出404,这就是为什么我的代码会执行它不应该对它们执行的操作。

begin
      link = "https://instagram.com/p/#{submission.image}"
      submission.visible = true
      open link, :allow_redirections => :all
rescue OpenURI::HTTPError => e
      if e.message.include? '404 NOT FOUND'
        submission.visible = false
      end
end

你有什么想法吗?

2 个答案:

答案 0 :(得分:0)

您可能需要使用API​​。如果有帮助,请查看Instagram API的媒体端点:

https://instagram.com/developer/endpoints/media/#get_media

答案 1 :(得分:0)

在这种情况下,我使用的是您使用的相同方法。唯一区别我正在使用 HTTParty gem。

def image_from_instagram
  response = HTTParty.get(image_url)
  response.ok? && response.body
end

所以基本上我检查的是image_from_instagram在某些时间段出现,这只是工作正常。并且没有404或任何其他特殊情况。