1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Twitter API】自動フォロー&フォロー募集形成方法

Posted at

まとめ

Twitter apiを使うと、毎日、2000人を自動でフォローできます。
また、フォローが返ってこない人を自動でフォロー取り消しできます。

フォローする人の条件設定として、以下の様なものを設定できます。:

  • 特定のキーワードをプロフィールに含む人
  • 最近、特定のキーワードを含むツイートをした人
  • 誰かのフォロワー又は誰かがフォローしている人

自動で特定の人をフォローする方法

環境設定

今回使った環境:

  • Mac OS 12.6
  • Python 3.10
  • tweepy 4.10.1
  • jupyter lab 3.2.9(Pythonが書ければなんでもいいです笑)

私はAnacondaという、Pythonのバージョン管理が楽になるソフトを使ってます。
jupyter labの環境設定は以下のサイトが参考になるかと思います

Twitter api設定

TwitterAPIを使うには、Twitterアカウントと、利用申請が必要です。
以下のサイトが参考になるかと思います。

ただ、TwitterAPIの利用申請はやる度に、やり方が変わっている印象があります。
2022年10月1日に申請したところ、TwitterAPIでダイレクトメッセージを送るAPIは追加の申請が必要になっていました!
2021年には追加申請なく使えていた思い出があります?

フォローする

以下のコードで単純に一人をフォローできます!

.py
import tweepy 

#TwitterAPIの管理画面から取得します
APIKEY=
APIKEYSecret=
BearerToken=
AccessToken=
AccessTokenSecret=

client = tweepy.Client(
    bearer_token    = BearerToken,
    consumer_key = APIKEY,
    consumer_secret = APIKEYSecret,
    access_token = AccessToken,
    access_token_secret = AccessTokenSecret
)

#フォローしたい人の、useridを取得しますuseridは長い数列です。
user = client.get_user(username="FullStackSES")

#取得した人をフォローします。
client.follow_user(user.data.id)#

もっと多くの人を同時にフォローしたい!

今回は対象者のフォロワー全員をフォローすることにします!
twitterapiは15分間に自動的にフォローできる人数が決まっています!(50人です)
50人以上をフォローしたい時の注意点も書いてあります!

.py

import tweepy 
import time

#TwitterAPIの管理画面から取得します
APIKEY=
APIKEYSecret=
BearerToken=
AccessToken=
AccessTokenSecret=

client = tweepy.Client(
    bearer_token    = BearerToken,
    consumer_key = APIKEY,
    consumer_secret = APIKEYSecret,
    access_token = AccessToken,
    access_token_secret = AccessTokenSecret
)

#対象者を指定します!
t_user = client.get_user(username="FullStackSES")

#対象者のフォロワーを取得します!
users=client.get_users_followers(t_user.data.id,max_results=1000)

#usersに対し、for文を回し、対象者のフォロワー全員をフォローします!
for user in users.data:
    try:
        client.follow_user(user.id)
    except tweepy.errors.TooManyRequests:#15分以内に50人以上をフォローするとエラー出ます
        print("15分待ちます!")
        time.sleep(15*60+20)#エラーが出た時に15分待つ処理です!

いろんな方法でフォローしたい人を抽出しよう!

先ほどの例では、特定の人のフォロワーを全員フォローする方法を紹介しました!
その他の方法を2つ紹介します。

特定のキーワードを含む人をフォロー

このやり方をするには、TwitterAPIの利用申請後、Essensialではなく、 Elevatedというアクセス権限を再度申請する必要があります!

import tweepy
#同じようにアクセスキーを設定します
APIKEY=
APIKEYSecret=
BearerToken=
AccessToken=
AccessTokenSecret=

#今回は少し違う、認証方法をします!
auth = tweepy.OAuthHandler(APIKEY, APIKEYSecret)
auth.set_access_token(AccessToken, AccessTokenSecret)
api = tweepy.API(auth)

#今回はプロフィールに「エンジニア」と「1年目」を含む人を検索します!
#pageは上から数えて、何ページ目を取得するかです。countは取得するユーザー数です!
users=list(api.search_users("エンジニア 1年目",page=1,count=20))

#以下でまたフォローするコードを実行すれば、、、

終わり

^_^

なんでこれやったの?

私の会社でSES事業を始めます。
エンジニア界隈、SES営業界隈はTwitterでの活動が盛んです。
採用でも、情報収集でも、多くの人と繋がるためには自動化した方が早いなと思い、twitterapiで実装しました!

現在はSES事業の事業部長候補として、SESエンジニアとして働いた経験のある方を募集しております。
案件先の選定やフォロー環境の構築に熱意を持って取り組みたいと考えています!
意見だけでもいいのでお聞きしたいです。興味のある方は是非、コメントかDMください!

まとめ

Twitter apiを使うと、毎日、2000人を自動でフォローできます。
また、フォローが返ってこない人を自動でフォロー取り消しできます。

フォローする人の条件設定として、以下の様なものを設定できます。:

  • 特定のキーワードをプロフィールに含む人
  • 最近、特定のキーワードを含むツイートをした人
  • 誰かのフォロワー又は誰かがフォローしている人
1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?