2012-11-27 124 views
3

我是新来的instagram,我的任务是编写一个应用程序,以抓取基于某个主题标签的instagram照片上传。这意味着如果应用程序已启动并搜索标签“#awesomeevent”,那么上传带有该标签的照片的标签将自动存储到我们的数据库中。根据主题标签抓取instagram照片

该应用程序的工作原理与http://statigr.am/tag/类似,但是显示的照片应该将照片存储到数据库中。

这样做的过程是什么。任何从开始到结束的教程。甚至涵盖了如何从头开始创建一个instagram应用程序。任何帮助将不胜感激。

感谢

回答

1

用于起动器,您应该咨询到instagram api

至于具体的API,你需要的是:

/tags/tag-name/media/recent 

例如,如果你想寻找图片来自标签#awesomeevent,你会做一个API查询:

https://api.instagram.com/v1/tags/awesomeevent/media/recent?access_token=ACCESS-TOKEN 
+0

但是,如何创建应用程序来执行该操作,而不是输入网址。 –

+0

@BryanChew:你可以使用jQuery.ajax来读取由该URL生成的json文件。只要确保你使用'dataType:'jsonp'' – JFK

4

我们开发人员经常忽略的是API条款。我一直在那里。 USE

API条款开始使用API​​之前,我们有我们想告诉您一些指导方针。请务必阅读完整内容API Terms of Use

使用条款。下面是你会读到什么:

  • Instagram的用户拥有自己的形象。确保您尊重这项权利是您的责任。

  • 您不能在您的应用程序中使用Instagram名称。

  • 不能使用Instagram的API没有他们的明确同意,抓取或存储用户的图像。

  • 你不能复制Instagram.com

  • 的核心用户体验,不要滥用API。请求过多过快会得到您的访问关闭

然而,在条款的一部分还指出:

  • 您不得缓存或存储任何的Instagram用户照片等比合理的时间段,以提供服务,你是 提供给Instagram的用户。

希望这是一个开始之前,你实际上得到的编码和存储图像。

API使用条款:http://instagram.com/about/legal/terms/api/

API:http://instagram.com/developer/

+0

Bhavik虽然这是真的,但我不确定Instagram会将返回的JSON存储在本地文件/数据库中,然后查询存储的JSON。没有实际的图像存储和所有数据仍然是指Instagram,但是你需要每10-15分钟左右刷新一次缓存,或者可能运行一个后台进程来定期向缓存中提取新数据。 –

0

您可以使用下面的ruby脚本检索图像并将其保存到文件。然后,您可以在数据库中引用该文件,或将最后一个块替换为特定数据库实现的代码。在不知道数据库类型和模式的情况下,没有人能告诉你如何添加一些内容。

require "instagram" 
require "restclient" 

Instagram.configure do |config| 
    config.client_id = INSTAGRAM_CLIENT_ID 
    config.client_secret = INSTAGRAM_CLIENT_SECRET 
end 

instagram_client = Instagram.client(:access_token => INSTAGRAM_ACCESS_TOKEN) 
tags = instagram_client.tag_search('cat') 
urls = Array.new 

for media_item in instagram_client.tag_recent_media(tags[0].name) 
    urls << media_item.images.standard_resolution.url 
end 

urls.each_with_index do |url, idx| 
    image = RestClient.get(url) 
    path = Dir.pwd + "/#{idx}.jpg" 
    File.open(path, 'w') {|f| f.write(image) } 
end 
+0

现在不工作,因为Instagram不会返回哈希标签照片 – stereodenis

相关问题