フォロワー20人を21人にするラクな方法
- 2020.07.27
- プログラミング
- Python, tweepy, Twitter API, ネタ
ネタです
つい最近、こんなツイートを見つけました。「お金配りおじさん」ことスタートトゥデイの前澤さんのものです。
これに対する興味深い回答がありました。
「フォロワー20人」という条件から外れるように、抗争が起きるわけです。なんとまあくだらない。
まあ私、お祭り気分で「フォロワー20人を21人にする」をやったんですけど笑
何をしたか
いちいち「この人はフォロワー20人かあ、じゃあ21人にしちゃおう!」とか考えるのって、面倒ですよね。
この部分をいつもどおりPythonを使ってラクします。
環境
- Tweepy 3.8.0
- Python 3.8.0
- macOS Catalina
まあ、いつもどおりです笑
フロー
流れとしては、以下のようになっています。
- Tweepyの認証
- 前澤さんのフォロワーのユーザー情報を取得
- 取得したユーザーでフォロワー数がちょうど20人かどうか確認する
1. フォロワー数が20人もしくは鍵アカウントではなかったら飛ばす
2. フォロワー数が20人だったらフォローする - 2に戻ってイテレーターで繰り返す
ほんとうはブロックされているとかすでにフォローしているとか確認したほうが良いのかもしれないけど、まあそれを考える必要がなさそうだったので今回は飛ばした。
プログラム
import tweepy
import json
class MyAPI(object):
def __init__(self):
with open('login_info.json', mode='r') as f:
login_info = json.load(f)
consumer_key = login_info['Consumer_key']
consumer_secret = login_info['Consumer_secret']
access_token = login_info['Access_token']
access_secret = login_info['Access_secret']
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)
self.api = tweepy.API(auth, wait_on_rate_limit=True)
def follow20(self):
screen_name = 'yousuck2020'
user = self.api.get_user(screen_name=screen_name)
for follower_id in tweepy.Cursor(self.api.followers_ids, screen_name=screen_name, cursor=-1).items():
user = self.api.get_user(follower_id)
print(f'{(user.screen_name, user.followers_count)=}')
if user.followers_count == 20 and not user.protected:
self.api.create_friendship(screen_name=user.screen_name)
print(f'{user.screen_name}をフォローしたよ!')
if __name__ == '__main__':
api = MyAPI()
while True:
api.follow20()
さいごに
自粛期間が長すぎて花火大会もイベントもないので、楽しむものがインターネットにしかありません。
ですが、Twitter APIで遊ぶのはほどほどにしましょう()
- 前の記事
PyAutoGUIの入力速度の超高速化 2020.07.24
- 次の記事
PythonでMinesweeperアルゴリズムを考える 2020.07.30