2015-07-19 2 views
5

Я пытаюсь получить все ответы этого пользователя. Таким образом, у этого конкретного пользователя есть reply_to_user_id_str из 151791801. Я попытался распечатать все ответы, но я не уверен, как это сделать. Однако мне удается распечатать только 1 из ответов. Может ли кто-нибудь помочь мне распечатать все ответы? enter image description hereTweepy Twitter получить ответы на все твиты конкретного пользователя

Мои коды:

for page in tweepy.Cursor(api.user_timeline, id="253346744").pages(1): 
    for item in page: 
      if item.in_reply_to_user_id_str == "151791801": 
       print item.text 
       a = api.get_status(item.in_reply_to_status_id_str) 
       print a.text 

Output:

ответ

7

Во-первых, найти перечириканье нить разговора с поставщиком услуг:

# Find the last tweet 
for page in tweepy.Cursor(api.user_timeline, id="253346744").pages(1): 
    for item in page: 
     if item.in_reply_to_user_id_str == "151791801": 
      last_tweet = item 

Переменная last tweet будет содержать свой последний перечириканье тебе. Оттуда вы можете вернуться к исходному твиту:

# Loop until the original tweet 
while True: 
    print(last_tweet.text) 
    prev_tweet = api.get_status(last_tweet.in_reply_to_status_id_str) 
    last_tweet = prev_tweet 
    if not last_tweet.in_reply_to_status_id_str: 
     break 

Это некрасиво, но он выполняет свою работу. Удачи!

+0

спасибо! Оно работает. Только один вопрос, знаете ли вы, как вы избегаете предела твита? Исправлено исключение, но does'nt работает –

+0

Вы имеете в виду ограничения скорости API twitter? Вы можете установить для параметра wait_on_rate_limit значение true, когда вы настраиваете api. Например: 'api = tweepy.API (auth_args, wait_on_rate_limit = True)'. – jjinking

+0

Ответит ли это на ваш вопрос? – jjinking

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