基于标签抓取instagram照片

基于标签抓取instagram照片,instagram,hashtag,Instagram,Hashtag,我是instagram新手,我的任务是编写一个应用程序,根据某个标签抓取instagram照片上传。这意味着,如果应用程序启动并搜索标签“#awesomeevent”,任何上传带有该标签的照片的人都会自动将其存储到我们的数据库中 应用程序的工作方式应该与之类似,但它应该将照片存储到数据库中,而不是显示照片 这样做的过程是什么。任何从开始到结束都包含此内容的教程。甚至包括如何从头开始创建instagram应用程序。任何帮助都将不胜感激 感谢您提供初学者,您应该咨询 至于具体的api,您需要的是:

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

应用程序的工作方式应该与之类似,但它应该将照片存储到数据库中,而不是显示照片

这样做的过程是什么。任何从开始到结束都包含此内容的教程。甚至包括如何从头开始创建instagram应用程序。任何帮助都将不胜感激


感谢您提供初学者,您应该咨询

至于具体的api,您需要的是:

/tags/tag-name/media/recent
例如,如果您想从标记
#awesomeevent
中查找图像,您将执行api查询以:

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

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

API使用条款

在您开始使用API之前,我们有一些准则要告诉您。请务必阅读全文

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

  • Instagram用户拥有自己的图像。你有责任确保你尊重这一权利

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

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

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

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

但是,条款中的一部分还规定:

  • 您不得缓存或存储任何Instagram用户照片,除非是为了提供您正在使用的服务 提供给Instagram用户
希望这是在您真正开始编码和存储图像之前的一个开始

API使用条款:


API:

我想看看Instagram提供的两个库。ruby库位于,python库位于

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

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


希望对您有所帮助。

您可以使用下面的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
需要“instagram”
需要“restclient”
Instagram.configure do | config|
config.client\u id=INSTAGRAM\u client\u id
config.client\u secret=INSTAGRAM\u client\u secret
结束
instagram\u客户端=instagram.client(:access\u token=>instagram\u access\u token)
tags=instagram\u客户端。tag\u搜索(“cat”)
URL=Array.new
用于instagram\u客户端中的媒体项目。标记\u最近的\u媒体(标记[0]。名称)

但是,如何创建一个应用程序来执行此操作,而不是键入URL。@BryanChew:您可以使用jQuery.ajax读取该URL生成的json文件。只需确保使用
数据类型:“jsonp”
Bhavik虽然这是真的,但我不确定Instagram是否会在将返回的JSON仅存储在本地文件/数据库中,然后查询存储的JSON时出现问题。没有存储实际图像,所有数据仍然指向Instagram,但是您需要每隔10-15分钟左右刷新此缓存,或者可能运行后台进程定期将新数据提取到缓存中。现在不工作,因为Instagram不会返回标签照片