2015-06-17 1 views
1

В настоящее время я пытаюсь использовать Instagram API с помощью Python. Мне удается собирать комментарии из каждого заголовка, но я могу только собрать максимум 8 комментариев из каждого заголовка. В некоторых заголовках есть 30 комментариев, но я получаю только последние 8 комментариев из этих 30 комментариев.API-интерфейс Instagram с использованием Python и сбор комментариев от каждой подписи

Что-то не в порядке с моим кодом? Есть ли способ собрать более 8 комментариев на подпись?

Мои коды:

from instagram.client import InstagramAPI 
import re 

access_token = "XXX" 
client_secret = "XXX" 

api = InstagramAPI(access_token=access_token, client_secret=client_secret) 
recent_media, next_ = api.user_recent_media(user_id="476132155") 

for media in recent_media: 
    try: 
     comments = media.comments 

     for i in comments: 
      print i.text, " --> ", i.user.username 
      print "" 

except (UnicodeEncodeError, AttributeError, SyntaxError): 
    pass 

ответ

1

Ваш код правильный, если вы хотите, чтобы принести только Media объекты. Если вы специально настроили таргетинг на комментарии, вам нужно будет получить их с информацией из каждого объекта Media по отдельности.

From The Docs: Используйте id объекта Media, чтобы вызвать комментарии-api. Для того, чтобы сделать это, вы должны получить каждый id в вашем for-loop:

for media in recent_media: 
    comments = api.media_comments(media.id) 
    # do something with comments here 
+0

Спасибо за вашу помощь. Я попытался использовать его, но он по-прежнему собирает максимум 8 комментариев на подпись, но на этот раз первые 8 комментариев, а не последние. Мой код являются: для СМИ в recent_media: комментарии = api.media_comments (media.id) для г в комментариях: печати i.text, "--->", i.user.username –

+0

однако, если я попытался распечатать i, он распечатает все. Спасибо! –

+0

Добро пожаловать! – ezcoding

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