【tweepy】Twitter API v2でキーワードから自動いいね・フォロー

技術系

Twitterでフォロワーがたくさんほしい!って思ったことありませんか?

有名な人や、皆さんの有益な情報をコツコツ発信する人ほどTwitter上で友達を増やしていくものです。

しかし私は地道な努力を母親のおなかの中に置いてきてしまったので、寝ながらフォロワー数を増やしていきたいのですよ。

そこで、今回はTwitterの運用をPythonに任せてみたいと思います。

【本記事のゴール】

  • TwitterApiを簡単に利用できる、「Tweepy」を使用して、
  • ツイートを検索したり、
  • いいねを飛ばしてみたり、フォローしてみたり
  • v2用のコードを紹介します!

【本記事の対象者】

  • Python触れたことあるよっていう方
  • Twitterを使っている方
スポンサーリンク

どうすればTwitterのフォロワー数が伸びるのか

積極的にフォローやいいね、RTやリプをしていきましょう。

同じ属性のアカウントに対して、自分から反応していくことで相手に認知してもらえます。

Twitterのフォロワーを0から増やす方法【最初にやること9つ】(url)https://www.tsuzukiblog.org/twitter-followers/

答えにたどり着くまでが早かったです。

確かに肌間隔ですが、自分から積極的にフォローしていけばフォローを返してくれる割合が増える気がします。

しかしいちいち検索して、この人趣味会いそうだなって決めて、えい!ってフォローボタンを押すのも一苦労です。

ということで、Pythonに自動でいいね♡やフォロー+をしてもらいましょう。

Twitter APIに申請をし、各種キーを取得する

こちらはみなさんでお願いします。

「Twitter API 申請」などで検索するとやり方がたくさん出てきますので参考にするとよいでしょう。

ライブラリのインストール

今回はPythonの「Tweepy」というライブラリを使用します。

pip install tweepy

など、お好きな方法でインストールしてください。

コードの紹介

それでは早速コードを見ていきましょう。

なお、Twitter APIはV2を使っているためEssensialのAPIアカウントでも実装できます!

コード全体

import tweepy

targetWord = '旅好き' #検索するキーワード
MaxResults = 10      #検索するツイートの数(10以上100以下)

# Twitterの認証(皆さんの取得したキーを入力してください)
api_key = 'XXXXX'
api_key_secret = 'XXXXX'
access_token = 'XXXXX'
access_token_secret = 'XXXXX'
bearer_token = 'XXXXX'

client = tweepy.Client(
    consumer_key = api_key,
    consumer_secret = api_key_secret,
    access_token = access_token,
    access_token_secret = access_token_secret,
    bearer_token = bearer_token
)
# ↑ここまでTwitterの認証

#キーワードを含んだツイートを取得する(ツイート主の情報もリクエスト)
tweets = client.search_recent_tweets(query=targetWord, expansions=['author_id'], max_results=MaxResults)

tweets_data = tweets.data
if tweets_data != None:
    for tweet in tweets_data:                   #tweets_dataはツイート情報(idやテキスト情報)のリスト
        try:
            favoriteId = tweet.id
            print(f'いいね♡: {favoriteId}')
            client.like(favoriteId)             #いいねを飛ばす(引数はツイートID)
        except:
            continue

tweets_includes = tweets.includes['users']      #ツイート主に関する情報をリストに格納
if tweets_includes != None:
    for tweet in tweets_includes:
        try:
            user = tweet.id
            print(f'フォロー+: {user}')
            client.follow(user)                 #フォローを飛ばす(引数はユーザーID)
        except:
            continue

Twitterの認証

api_key = 'XXXXX'
api_key_secret = 'XXXXX'
access_token = 'XXXXX'
access_token_secret = 'XXXXX'
bearer_token = 'XXXXX'

client = tweepy.Client(
    consumer_key = api_key,
    consumer_secret = api_key_secret,
    access_token = access_token,
    access_token_secret = access_token_secret,
    bearer_token = bearer_token
)

7~19行目でTweepyを使うための認証設定をしています。ここはあまり考えずにひな形を使っていただけたらと思います。

v1を使用する際はtweepy.API()を使用しますが、今回はv2での実装ですのでtweepy.Client()を使用します。

キーワードを含んだツイートを取得する

targetWord = '旅好き' #検索するキーワード
MaxResults = 10      #検索するツイートの数(10以上100以下)

#キーワードを含んだツイートを取得する(ツイート主の情報もリクエスト)
tweets = client.search_recent_tweets(query=targetWord, expansions=['author_id'], max_results=MaxResults)

Client()が使えるようになった今、あなたは縦横無尽にTwitterの海を泳ぎ回れる魚です。

ツイートのキーワード検索はsearch_recent_tweets()で行います。

ここで引数として最初に決めた検索ワードと検索するツイートの数を与えてやります。

なお、フォローするためにはそのフォロー主の情報も必要なのでexpansions=[‘author_id’]のオプションでユーザーIDを取得します。

なお、expansions=[]ではその他複数のツイートに関する情報を取得できますのでこちらのリンクで確認してみてください。

キーワードを含んだツイートをいいねする

tweets_data = tweets.data
if tweets_data != None:
    for tweet in tweets_data:                   #tweets_dataはツイート情報(idやテキスト情報)のリスト
        try:
            favoriteId = tweet.id
            print(f'いいね♡: {favoriteId}')
            client.like(favoriteId)             #いいねを飛ばす(引数はツイートID)
        except:
            continue

tweetsのdataに入っている項目をまずは抜き出し、リストに格納します。

そこにデータが入っているかどうかで分岐をし、client.like(favoriteId)でいいねを飛ばす。

分解してみれば意外と理解できるのではないでしょうか。

キーワードを含んだツイートのツイート主をフォローする

tweets_includes = tweets.includes['users']      #ツイート主に関する情報をリストに格納
if tweets_includes != None:
    for tweet in tweets_includes:
        try:
            user = tweet.id
            print(f'フォロー+: {user}')
            client.follow(user)                 #フォローを飛ばす(引数はユーザーID)
        except:
            continue

こちらの部分ではキーワードを含んだツイートをしたツイート主をフォローします。

先ほどexpansions=[‘author_id’]で取得したツイート主ユーザー情報はtweets.includes[‘users’]で取り出すことができます。

フォローに関してもclient.follow(user)で行うことができますので大変便利なライブラリです。

実行してみる

pythonを実行してみます。

できてる。やった。

Twitter自動運用に向けて

これをWindowsのタスクスケジューラーなどに任せたら決まった時間などに自動でやってくれるようになります。

まとめ

Twitter API v2を使用して自動フォローできるようになりました。

  • 認証はtweepy.Client()を使う
  • キーワードのツイート検索はclient.search_recent_tweets()を使う
  • いいねはclient.like(favoriteId)を使う
  • フォローはclient.follow(user)を使う

ぜひご参考に。

スポンサーリンク
タイトルとURLをコピーしました