파이썬으로 덕질하기! 네번째시간!
지난 시간에 맞팔하기 기능을 알려드렸습니다.
이번에는 저를 맞팔하지 않은 사람을 언맞팔 해보도록 하겠습니다.
트위터 계정을 만들고 처음에 저와 관심분야가 비슷한 사람들을 무작위로 팔로우하고
맞팔이 들어 온 사람을 제외하고 다 언맞팔을 해서 안정적으로 트위터 활동을 할 수 있습니다.
제 트위터입니다.
6월쯤에 만들었으나 사용하지 않다가 이번에 사용하기 시작했습니다.
초반 팔로워 수를 늘려보고자 약 400명을 팔로잉 했으나 40명만 맞팔이 들어왔네요.
좀 더 기다리면 맞팔이 늘어날 수도 있겠지만, 이번시간을 위해 언 맞팔을 해보겠습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | import time import tweepy import sys consumer_key = 'a' consumer_secret = 'b' access_token = 'c' access_token_secret = 'd' auth = tweepy.OAuthHandler(consumer_key, consumer_secret) auth.set_access_token(access_token, access_token_secret) api = tweepy.API(auth) print "Loading followers.." followers = [] for follower in tweepy.Cursor(api.followers).items(): followers.append(follower) print "Found %s followers, finding friends.." % len(followers) friends = [] for friend in tweepy.Cursor(api.friends, wait_on_rate_limit=True).items(): friends.append(friend) # creating dictionaries based on id's is handy too friend_dict = {} for friend in friends: friend_dict[friend.id] = friend follower_dict = {} for follower in followers: follower_dict[follower.id] = follower # now we find all your "non_friends" - people who don't follow you # even though you follow them. non_friends = [friend for friend in friends if friend.id not in follower_dict] # double check, since this could be a rather traumatic operation. print "Unfollowing %s non-following users.." % len(non_friends) print "This will take approximately %s minutes." % (len(non_friends)/60.0) answer = raw_input("Are you sure? [Y/n]").lower() if answer and answer[0] != "y": sys.exit(1) for nf in non_friends: print "Unfollowing " + str(nf.id).rjust(10) try: nf.unfollow() except: print " .. failed, sleeping for 5 seconds and then trying again." time.sleep(5) nf.unfollow() print " .. completed, sleeping for 1 second." time.sleep(1) | cs |
이 소스는 제가 한줄도 짜지 않았어요...
인터넷에서 그대로 가져온 겁니다.
모든 소스는 인터넷에 있으니 가져다 쓰기만 하면 된다는 말이 있을 정도로,
인터넷에 유사한게 많이 있으니 찾아서 쓰면 됩니다 ㅎㅎ
소스설명
followers = []
for follower in tweepy.Cursor(api.followers).items():
followers.append(follower)
나를 팔로잉 한 사람들을 찾습니다.
friends = []
for friend in tweepy.Cursor(api.friends, wait_on_rate_limit=True).items():
friends.append(friend)
내가 팔로잉 한 사람들을 찾습니다.
non_friends = [friend for friend in friends if friend.id not in follower_dict]
서로 빼주면 저를 팔로잉 안한사람들이 나오겠죠??
그 다음부터는 안한사람을 빼주는 구문입니다. ㅎ
결과는?
깔끔하게 정리되었습니다..
이제 트위터 활동을 하면 되겠네요..
공식 트위터들도 다 언팔되어서 다시 팔로우해야하는 수고로움이 있었습니다...만 좋은 기능입니다.
'IT > 파이썬 덕질' 카테고리의 다른 글
[파이썬 덕질] 트위터 자동 맞팔을 해보자! (0) | 2018.09.14 |
---|---|
[파이썬 덕질] 트위터의 사진을 모조리 저장해보자 (1) | 2018.09.13 |
[파이썬 덕질] 브이라이브 하트를 자동으로 눌러보자 (0) | 2018.09.13 |