Я пытаюсь провести анализ аналитики на фотографиях Instagram, которые публикуются с заданным хэштегом. Итак, теперь я пытаюсь сохранить все изображения во временной базе данных, которые будут использоваться для анализа.Instagram get next_max_tag_id
Я использую python, и у меня есть задача celery для получения всех изображений, но он не работает, когда я запускаю next_max_tag_id, что, вероятно, неверно.
Кто-нибудь знает, как получить правильный next_max_tag_id?
это код, я использую:
@task()
def get_latest_photos():
next_max_tag_id = get_option('next_max_tag_id')
if not next_max_tag_id:
next_max_tag_id = 0
url = BASE + '/tags/{tag}/media/recent?client_id={cliend_id}' \
'&max_tag_id={max_id}'.format(**{
'tag': a_tag,
'cliend_id': getattr(settings, 'INSTAGRAM_CLIENT_ID'),
'max_id': next_max_tag_id
})
while url:
request = requests.get(url)
if request.status_code != 200:
pass #TODO: error
json_response = request.json()
if json_response['meta']['code'] != 200:
pass #TODO: error
# do something with json_response['data']:
url = None
if json_response.has_key('pagination'):
pagination = json_response['pagination']
if pagination.has_key('next_url'):
url = json_response['pagination']['next_url']
if pagination.has_key('next_max_tag_id'):
next_max_tag_id = pagination['next_max_tag_id']
update_option('next_max_tag_id', next_max_tag_id)
Поток в основном это:
- прибудете next_max_tag_id из БД (по умолчанию 0)
- в то время как у нас есть действительный URL-адрес он извлекает данные, следующий URL-адрес и next_max_tag_id
- обновляет next_max_tag_id
Единственное, что мне кажется неправильным, это next_max_tag_id, потому что каждый раз, когда я перехожу к URL-адресу API с последним next_max_tag_id, я получаю старые изображения.
Я экспериментирую себя прямо сейчас, насколько я увидел, что next_max собирается в каталоге истории, а next_min переходит в будущее – Dukeatcoding