Tweepy:检查用户是否关注我

问题描述

我有以下代码,我正在尝试取消关注未关注我的任何人。我目前只是查看用户名是否在关注者列表中,如果没有,请取消关注他们。

followers = []
for follower in tweepy.Cursor(api.followers).items():
    followers.append(follower.screen_name)

for friend in tweepy.Cursor(api.friends).items():
    if friend.screen_name in followers:
        continue
    else:
        api.destroy_friendship(friend.screen_name)

这有点乏味,所以我想缩短它。我想我应该使用 api.show_friendshipsapi.lookup_friendships,但我不完全确定如何使用。

我将如何解决这个问题?

解决方法

您可以使用lookup_friendships来确认谁在关注您

    screen_names = ["user1","user2","user3"]
    api = tweepy.API(auth,wait_on_rate_limit=True)

    ret = api.lookup_friendships(screen_names = screen_names)
    for rel in ret:
        # name:user1 isFollowedBy? False
        print(f'name:{rel.screen_name} isFollowedBy? {rel.is_followed_by} ')

输出是一个 Relationship 对象列表,您可以在其中查看谁是关注者(参见上面的示例)以及您关注的人

,

我使用了以下代码:

my_screen_name = api.me().screen_name
    status = api.show_friendship(source_screen_name = friend.screen_name,target_screen_name = my_screen_name)
    if status[0].following:
        print(f'{friend.screen_name} follows {my_screen_name}.')
    else:
        api.destroy_friendship(friend.screen_name)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...