Python初心者がTwitterのリムーブ自動化してみた話【2020】

新月一2020-05-02AutomationPython 自動化 Tweepy

twitter

TIP

今回はPythonによるTwitter自動化の話をします。

ここから本題

前回はフォローを自動化してみた話ですが、今回はリムーブに関してです。それでは早速ですが、肝心のコードを紹介していきます。

1. コードの実物

今回のコードはこんな感じです。

#coding:utf-8
import config
import tweepy
import time
# Accesss Token Secert
CK = config.CONSUMER_KEY
CS = config.CONSUMER_SECRET
AT = config.ACCESS_TOKEN
ATS = config.ACCESS_TOKEN_SECRET
auth = tweepy.OAuthHandler(CK, CS)
auth.set_access_token(AT, ATS)
api = tweepy.API(auth)
user_id = "kanzak1dea" #ここに自分のuseridを入れる
followers_id = api.followers_ids(user_id) #自分のアカウントのフォロワーをすべて取得する
following_id = api.friends_ids(user_id) #自分のアカウントのフォローをすべて取得する
time_count = 0 #ループ休みに入るまでのカウント
end_count = 0 #ループ抜けるまでのカウント
for following in following_id: #自分がフォローしているユーザーだけ取得する
   if following not in followers_id: #自分のフォローしているユーザーで、フォロワーに属さないユーザーを取得する 
       user_follower_count = api.get_user(following).followers_count
       user_following_count = api.get_user(following).friends_count
       username = api.get_user(following).name
       if end_count > 60:
           break
       if time_count > 10:
           print("5分待ちます")
           time.sleep(300)
           time_count = 0
       if user_following_count == 0:
           print("-------------------------------------")
           print("リムーブするユーザー名は",username,"です。")
           print("フォロー数は",user_following_count,"フォロワー数は",user_follower_count,"です。")
           print("-------------------------------------")
           api.destroy_friendship(following)
           time_count += 1
           end_count += 1
       if user_follower_count < 20*user_following_count:
           print("-------------------------------------")
           print("リムーブするユーザー名は",username,"です。")
           print("フォロー数は",user_following_count,"フォロワー数は",user_follower_count,"です。")
           print("-------------------------------------")
           api.destroy_friendship(following)
           time_count += 1
           end_count += 1
       else:
           print(username,"はリムーブしません")
           time_count += 1

2. コードの説明

随分カウント数が少ないのは、キーがぶっ飛ぶのを恐れているからです。

一応リムーブの条件としては、フォローが返ってきていない人物で、フォロワー数がフォロー数の20倍以下の人をリムーブするというようにしています。

雲の上の存在の絵師さんとかのリムーブを防ぐためにこの条件を付けました。

※前回に引き続き何回も言いますが、私は自動化をPythonの練習とTwitterを便利に使いたいという目的で行っていますので、アカウント凍結とかの責任はとれませんし、自分が凍る可能性があることも承知しています。

まあ、そうならないように最大限注意してはいますが。

あと、前回に引き続きこちらのサイト様を参考にさせて頂きました。ありがたきことです。

Pythonでwebアプリケーション開発⑦ ~TwitterAPIで自動フォロー/アンフォロー改良版~ - 仮想サーファーの日常open in new window

Python初めてからリムーブを自動化できるようになった感動を噛み締めつつ、同じようなことしようとして条件式に困っている人がいたら助けになるかなと思いこの記事を書きました。

それでは今日はこの辺で。

ここまで読んでいただき、ありがとうございました!

Last Updated 2023-03-10 17:35:41