2016-03-20 2 views
0

Я пытаюсь найти, я следую за кем-то или нет. Я понял, что, хотя он написан в официальном документе Tweepy, я больше не могу использовать API.exists_friendship. Поэтому я попытался использовать API.show_friendship(source_id/source_screen_name, target_id/target_screen_name), и, как сказано в документе, он возвращает мне объект дружбы. (<tweepy.models.Friendship object at 0x105cd0890>, <tweepy.models.Friendship object at 0x105cd0ed0>)Проверка дружбы в Tweepy

Когда я пишу screen_names = [user.screen_name for user in connection.show_friendship(target_id=someone_id)], он возвращает my_username и имя пользователя для someone_id.

Может ли кто-нибудь сказать мне, как я могу использовать его правильно? или есть какой-либо другой метод, который просто возвращает меня True/False, потому что я просто хочу знать, следую ли я ему/ей или нет.

ответ

1

На самом деле мне не нравится ответ, но на данный момент я использовал;

me = api.me() 
user = api.get_user(username) 

for f in user.friends(): 
    if me.name in f.name: 
     print "FOLLOWING" 
    else: 
     print "NOT FOLLOWING" 

Я думаю, что должно быть (и есть) оптимальное решение (именно поэтому я спросил) об этом, и, возможно, когда мое количество последователей увеличивается, процесс его будет больше. Если вы знаете лучшее/оптимальное решение, сообщите мне.

1

Метод show_friendship возвращает кортеж, который трудно понять, когда вы пытаетесь увидеть, следит ли за вами конкретный пользователь, и есть другой способ сразу увидеть всех последователей, которые не следуют за вами. Однако, если вы все еще хотите проверить одно соединение, я обнаружил, что при попытке следующее:

status = api.show_friendship(A,B) 
print(status[0].following, status[1].following) 

Если вы получаете вывод как True False это означает, что он/она не следует за вами. Другие случаи:

  1. False True = вы за ним следуете.
  2. False False = между вами нет связи.

Однако, как я сказал выше, вы можете проверить всех людей, которые не следуют за вами, с одним фрагментом кода. Как указано в другом аналогичном вопросе, вы можете найти код на https://stackoverflow.com/a/45776597/4091473

Надеюсь, это поможет!

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