2016-08-14 2 views
1

Официальный интерфейс API Instagram (link) позволяет нам искать последние фотографии с определенным хэштегом, выполнив запрос на получение конечной точки https://api.instagram.com/v1/tags/{tag-name}/media/recent?access_token=ACCESS-TOKEN. Таким образом, мы получаем последние 33 фотографии этого хэштага, и мы также получаем max_tag_id, что позволяет нам запрашивать следующие 33 фотографии.Найти старые изображения instagram с определенным hashtag

Я хочу получить фотографии, по крайней мере, одного месяца. Я мог продолжать делать запросы и находить новые 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'] 

Все идентификаторы имеют одинаковую длину 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_id и min_tag_id значениями были отметки времени эпохи, поэтому было легко сделать поиск даты и времени для хэштегов. Затем они изменили max_tag_id и min_tag_id на media_id, поэтому он стал двухэтапным подходом к поиску media_id с меткой времени, которую вы хотите найти, и вы можете применить ее к max_tag_id, но теперь они изменились на некоторое хешированное значение, которое сложно декодирования. Поэтому я предполагаю, что Instagram пытается предотвратить создание сторонних разработчиков.

Я использовал дату/время поиска в https://www.picodash.com для всех запросов, кроме хэштегов. Я попытался декодировать tag_id, но никогда не был успешным и не получил ответа от Instagram относительно того, почему они сделали это трудным.

Смежные вопросы