python - ユーザーAがユーザーBをフォローしているかどうかを確認しますか?

原文 python twitter tweepy

私はこのコードを持っています(すべてのコードではありません)。基本的に、最新の20人のフォロワーを取得します。問題は、私がすでにフォローしている人にフォロー要求を出すことです。これは問題にはなりませんが、ツイッターはリクエストできる数を制限します。

followers = api.followers()
following = api.friends()
tofollow = [x for x in followers if x not in following]
for u in tofollow:
   try:
      u.follow()
      number_followed+=1
      print number_followed,". ", u.screen_name
   except tweepy.TweepError as err:
    print "Error: when following ", u.screen_name


私がフォローするときに関係していると思います

何かご意見は?
答え
最新の20に対してではなく、セット全体に対してTwitterクエリを実行する場合は、カーソルを使用する必要があると思います。

例えば:

tweepy.Cursor(api.followers).items()


また、Twitterのレート制限に違反したくない場合は、apiオブジェクトを初期化するときに次の行を使用できます。

api = tweepy.API(auth, wait_on_rate_limit=True)


それが役に立てば幸い。次に例を示します。

auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)
api = tweepy.API(auth, wait_on_rate_limit=True)

friends = api.friends_ids(api.me().id)
print("You follow", len(friends), "users")

for follower in tweepy.Cursor(api.followers).items():
    if follower.id != api.me().id:
        if follower.id in friends:
            print("You already follow", follower.screen_name)
        else:
            follower.follow()
            print("Started following", follower.screen_name)
関連記事

python - Pythonで間違ったローカルIPアドレスを取得する

python - EB CLI 3.xのインストール後のエラー

python - python pypdfでpdfを2upに変換する

python - 次の行に進む前に、リスト内のすべての値の条件をテストするには

python - Squidプロキシは、PythonではなくcurlではないGETリクエストで501を返します

python - なぜprint()はcom1の読み取りに影響するのですか?

python - texファイルのトークン(文字列)をPythonの辞書の値で置き換えますか?

python - Pythonでのストックウェル変換

python - キャノピーパスにパスを追加するにはどうすればよいですか?

python - 関数でPythonのtimeitモジュールを使用する