2016-08-14 26 views
1

Instagram的官方API(link)允許我們通過對端點https://api.instagram.com/v1/tags/{tag-name}/media/recent?access_token=ACCESS-TOKEN的獲取請求搜索帶有某個標籤的最近圖片。通過這樣做,我們得到了最近的33張圖片,我們也得到了一張max_tag_id,允許我們要求下一張33張圖片。用一定的標籤尋找舊的instagram圖片

我想獲得至少一個月的照片。我可以繼續提出請求並找到新的max_tag_id,直到找到足夠大的圖片。問題是,有數百萬張最近的照片,我會永遠拿到舊照片的頁面。我看到的唯一解決方案是瞭解max_tag_id如何工作並手動更改以查找舊照片的頁面。

這裏有連續頁面的5個不同max_tag_id

max_tag_ids = [u'AQDYK_538AzbSXpT2wfZrdhtqwJ8Buu0y5_Bcx-dZeQYX-RZeyRE1xW99JUoW4c2SNJ6GZ2Co-6UgWUpzdOCRl3RBIoNZw6ALRZTOYbM0kphPtEahSbv1nOyTO0SpdV3utw', u'AQA7JX63t9iVB8n0PE0_7JqUfYBWwSaukmkHJ6woOh7RTGyjbsRTFzoTr-Lml4rLnMdKKRlqbplTEK6JLfOq7r88fPmepra1SYiZKZNxh7--jxAvqWq5ru-Wt444-LuZQxk', u'AQD8GJCCxWDUd-Gv2Iys1G2RjUozXbAVcZOWa8H29vgq9UMVjD_kPVwp6y-Og2xQXO11R1ck5V925irELWK0MwHvrgGgbVljeGU9j0jpSEEDZ8ZfLmjTkbshiMsGqvw846g', u'AQCbV44lzEIHW4xgz82F-duu1iMIPLvp-ArXoTZrt_DgLwOBVpmWLsNlnyOGKlfimGrhZz3m5aFF-0lRrxNAr82pd9LOpJB06G4wwhv-VGmzZo8ZuBqnEV2LEqjNQudmZlQ', u'AQDX7sXWrADCvno3KUhvsO7r9ldcnGga5R42PSBUre2cVfu660gd232qpj74TQoboQFSS-y2jKwE2N4NAr4tsylqeA1BwArlcQpnsGO9SqusCpUG38KKJzjx7wXhdQIYE0A'] 

所有的ID有131個字符的長度相同。前面的頁面max_tag_id始終大於新頁面max_tag_id

for i in xrange(len(max_tag_ids)-1): 
    assert max_tag_ids[0]>max_tag_ids[1], 'you should never read this' 

所以我試圖用非常小的max_tag_id(例如'0'*131),但我得到了如下答覆:「max_id是不是一個有效的光標」

任何想法?

回答

0

歷史上的井號標籤和日期/時間搜索了一下:

的Instagram因爲某些原因正試圖阻止第三方開發者的時間做主題標籤搜索。起初max_tag_idmin_tag_id值曾經是紀元時間戳,所以很容易對日期/時間搜索標籤。接下來,他們將max_tag_idmin_tag_id更改爲media_id,因此它變成了一個2步的方法來查找帶有您要搜索的時間戳的media_id,並且您可以將其應用於max_tag_id,但現在它們已更改爲某些難以處理的哈希值解碼。所以我的猜測是Instagram試圖阻止第三方開發者這樣做。

我對https://www.picodash.com中的所有查詢實施了日期/時間搜索,除了#標籤。我試圖解碼tag_id,但從來沒有成功,並沒有得到任何Instagram的反應,爲什麼他們做到這一點困難。