3

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

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

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

谢谢

4

4 回答 4

4

我们开发人员经常忽略的事情是 API 条款和条件。我自己去过那里。

API 使用条款

在您开始使用 API 之前,我们想告诉您一些指南。请务必阅读完整的API 使用条款

使用条款。以下是您将阅读的内容:

  • Instagram 用户拥有他们的图像。您有责任确保尊重该权利。

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

  • 未经用户明确同意,您不能使用 Instagram API 抓取或存储用户的图像。

  • 您无法复制 Instagram.com 的核心用户体验

  • 不要滥用 API。请求太多太快会关闭您的访问权限

但是,条款中的一部分还指出:

  • 除合理期限外,您不得缓存或存储任何 Instagram 用户照片,以便向 Instagram 用户提供您提供的服务。

希望这是您真正开始编码和存储图像之前的开始。

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

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

于 2012-11-28T06:06:22.753 回答
1

对于初学者,您应该咨询instagram api

至于您需要的具体api是:

/tags/tag-name/media/recent

例如,如果您想从 tag 中查找图像#awesomeevent,您将执行 api 查询:

https://api.instagram.com/v1/tags/awesomeevent/media/recent?access_token=ACCESS-TOKEN
于 2012-11-27T01:40:20.977 回答
1

我会看看 Instagram 提供的两个库。ruby 库位于https://github.com/Instagram/instagram-ruby-gem,python库位于https://github.com/Instagram/python-instagram

如果您使用任一库进行编程,它们似乎都有示例可以帮助您入门。

就存储问题而言,您是否可以存储图像的 URL 地址而不是实际图像本身?API返回JSON信息,返回图片的URL。

希望有帮助。

于 2012-12-05T17:04:37.957 回答
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
于 2014-04-17T17:56:57.610 回答