2012-11-27 49 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

相關問題