找到带有特定标签的旧Instagram图片

时间:2016-08-14 15:11:19

标签: instagram instagram-api

Instagram官方API(link)允许我们通过向端点https://api.instagram.com/v1/tags/{tag-name}/media/recent?access_token=ACCESS-TOKEN执行get请求来搜索具有特定主题标签的最近图片。通过这样做,我们得到了该主题标签的最新33张图片,我们还获得了max_tag_id,可以让我们要求下33张图片。

我想要拍摄至少一个月大的照片。我可以继续发出请求并找到新的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不是有效的游标。'

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

有关主题标签和日期/时间搜索的一些历史记录:

Instagram出于某种原因试图阻止第三方开发者按时间进行标签搜索。最初max_tag_idmin_tag_id值曾经是纪元时间戳,因此很容易对日期/时间搜索主题标签。接下来,他们将max_tag_idmin_tag_id更改为media_id,因此找到一个带有您想要搜索的时间戳的media_id,然后您可以将其应用于{{1但是现在它们已经变成了一些难以解码的散列值。所以我的猜测是Instagram试图阻止第三方开发者这样做。

我已在https://www.picodash.com中为除散列标签之外的所有查询实施了日期/时间搜索。我试图解码tag_id,但从来没有成功过,并且没有得到Instagram的回应,为什么他们这么难。

相关问题