我想找到,我是否跟随某人。我意识到虽然它是用官方的Tweepy文档编写的,但我不能再使用cscope -b -f work/cscope.out `find src/bar -name *.[chly]`
了。因此,我尝试使用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>)
时,它会返回someone_id的my_username和用户名。
任何人都可以告诉我如何正确使用它?还是有任何其他方法只是简单地返回我的真/假,因为我只是想知道我是否跟随他/她。
答案 0 :(得分: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 :(得分:1)
方法show_friendship
会返回一个元组,当您尝试查看特定用户是否关注您时,有一点难以理解,并且还有另一种方法可以立即查看所有未关注您的关注者。但是,如果您仍想检查单个连接,我会在您尝试以下操作时发现:
status = api.show_friendship(A,B)
print(status[0].following, status[1].following)
如果输出为True False
,则意味着他/她没有关注您。其他情况是:
False True
=你被他/她跟踪。False False
=你们之间没有联系。但是,正如我上面所说,您可以使用一段代码检查所有未关注您的人。如在其他类似问题中发布的那样,您可以在https://stackoverflow.com/a/45776597/4091473
找到代码希望它有所帮助!
答案 2 :(得分:0)
我正在使用以下代码,效果很好..
if(api.show_friendship(source_screen_name='venky6amesh', target_screen_name='vag')):
print("the user is not a friend of ")
try:
api.create_friendship(j)
print('success')
except tweepy.TweepError as e:
print('error')
print(e.message[0]['code'])
else:
print("user is a friend of ",j)
答案 3 :(得分:0)
def unfollow_non_followers():
friends = api.friends_ids()
me = api.me()
followers = api.followers_ids(me)
non_followers = [x for x in friends if x not in followers]
# unfollow all non-follow backs
for id in non_followers:
api.destroy_friendship(id)
# Display unfollowed user, pause for API limitations (valid or not?)
user = api.get_user(id)
print(f'No longer following {user.name}')
time.sleep(3)