【裏技】Pythonを使い無料でTwitterのツイートを取得する方法

 

【悩み】
・TwitterのツイートをPythonで取得したい!できる限り無料で使いたい。
・TwitterのAPIを使えば良い?お金はかかるのだろうか?
・Twitterを運用しているが時間がない!どうにかして負担軽減できない?



こういった「悩み」に答えます。
 

【本記事の内容】
① そもそもTwitterのツイートを取得するとは?
➁ PythonでTwitterのツイートを取得する方法2選
➂ 無料でPythonを使ってツイート取得するたった1つの方法
④ 手順:GUI自動化ツールを使ってPythonスクリプトを自作



本記事に掲載した手順を実践したことで、Twitter APIに課金することなくPythonからTwitterのツイートを検索し表示されたツイートを取得できるようになりました(下の動画参照)。
 



記事の前半では「PythonでTwitterのツイートを取得する方法」と「無料でPythonからTwitterのツイートを取得できるのか?に対する調査結果」を解説します。

記事の後半では、「無料でPythonを使ってツイート取得を実現する方法や具体的なプログラム」を説明します。
  

この記事を読み終えることで、「Twitter APIに課金することなくPythonからツイートを取得できる」状態になります。
 

また、「Pythonが得意ではないけどツイート取得を実現したい」という多数のご要望をDMやお問い合わせでいただきました。
そこで、本記事で紹介したスクリプトをEXEファイル化しました。Pythonでプログラミングすることなく、GUI操作をするだけでツイート取得を実現できます。詳しくは以下の記事をご覧ください。

>> 効率的なX(旧Twitter)運用を実現するツールのご紹介
 

本ブログでは、Twitter APIなしでPythonから様々なTwitter操作を自動化する方法をご紹介しています。その他の操作自動化を知りたい方は、以下の記事をご覧ください。

>> 【実例8選】APIなしでPythonでのTwitter操作を実現する方法


 

実演で理解!Twitterのツイート取得とは?


以下の順番で、Twitter(現X)のツイート取得(ポスト取得)に関してご紹介します。
 

【ご紹介事項】
・実演で理解!Twitterのツイート取得とは?
・なぜTwitterのツイートを取得したい?利用場面や利点は?


 

実演で理解!Twitterのツイート取得とは?

Twitterのツイート取得とは、「X(エックス)、旧Twitter(ツイッター)上である条件を満たす投稿を検索し投稿者やその内容を取得する」ことです(下図参照)。
 



例えば、Pythonを使うことで、以下の動画のように、自分自身でTwitterを操作することなく、ツイート取得ができます。
 


 

なぜTwitterのツイートを取得したい?利用場面や利点は?

Twitterで取得されたツイートは、以下のように様々な場面で活用することができます。
 

利用場面詳細
トレンド分析取得したツイートデータを分析して、特定のトピックやキーワードがどれだけ話題になっているかを調査できます。トピックの人気度やトレンドの変化を把握し、特定の時間帯や地域での関心の高まりを分析することができます。
感情分析と評判分析ツイートデータからテキストマイニング技術を使用して、ユーザーの感情や評判を分析できます。特定のブランド、商品、イベントなどに対するポジティブまたはネガティブな反応を把握し、意見や意向を理解する手助けになります。
顧客の要望を理解し製品やサービスの強化ツイートデータを分析して、顧客の意見や要望を把握することができます。顧客の声を収集し、製品やサービスの改善点を見つけるための手がかりとして活用できます。
競合分析競合他社のブランドや製品に関するツイートを収集し、分析することで、競合他社の戦略や顧客との関わり方を理解できます。競合他社の動向を追い、市場での優位性などを評価するのに役立ちます。
インフルエンサーの特定ツイートデータを分析して、特定のトピックや業界で影響力のあるインフルエンサーを特定できます。これにより、プロモーションやコラボレーションの機会を見つけることができます。
ニュースソースとしての活用ツイートデータを分析して、リアルタイムの出来事やトピックに関する情報を収集し、ニュースソースとして活用することができます。特に災害や事件の発生時には、迅速な情報収集に役立ちます。
ツイート活用例



そのため、先ほどのようにプログラミング言語から「Twitterのツイート取得」をすることで、以下のメリットを得られます。
 

【利点】
・Twitter運用の負担を軽減できる
・市場分析などに必要なデータ収集の負担を軽減できる
・過去の投稿情報をファイル等に保存することで簡単に分析や検索ができる



PythonでTwitterのツイート取得することで様々なメリットを得られます。そのため、本記事でご紹介する方法を把握することで損はないです。


 

PythonでTwitterのツイートを取得する方法2選


PythonでTwitterのツイート取得したい場合、本記事執筆時点では、以下の方法があります。それぞれの方法の概要を簡単にご紹介します。
 

【ご紹介事項】
・方法①:Twitterの有料API(Basic以上)を利用
・方法➁:GUI自動化ライブラリを使ってPythonスクリプトを自作


 

方法①:Twitterの有料API(Basic以上)を利用

Twitterには、「Twitter API」という仕組みがあり、この仕組みを使うことで、簡単にPythonなどのプログラミング言語からTwitterを操作できます。

Twitter APIには以下の4種類があり、Pythonからツイート取得を行いたい場合、GET /2/tweets/search/recentのAPIを使う必要があるため、Basic以上の選択が必要です。

そのため、本記事執筆時点では、月に$100(約1万円弱)支払わなければ、PythonでTwitterのツイート取得を実現できないです。
 

項目FreeBasicProEnterprise
料金無料$100/月$5000/月価格相談
できることTwitter API v2を使ったツイート作成や削除のみTwitter API v2の全機能Twitter API v2の全機能Twitter API v2の全機能
出典:Twitter APIについて(公式サイト)


各プランで操作可能な機能や単位時間当たりの制限回数などは、以下の記事で分かりやすくまとめられています。詳細を知りたい方は、以下をご覧ください。

>> Twitter APIの新料金体系の概要と制限(Rate-limits)のまとめ(外部サイト)
 

方法➁:GUI自動化ライブラリを使ってPythonスクリプトを自作

Pythonには、Webブラウザを操作できるライブラリがあります。以下のようなライブラリを使うことで、Pythonプログラム内でTwitterのツイート取得を行えます。

ちなみに、冒頭でご紹介した動画では、PyAutoGUIを使って無料でツイート取得しています。
 

【GUI自動化ライブラリの一覧】
・PyAutoGUI(詳しくはこちら
・selenium(詳しくはこちら



以上が、Twitterのツイート取得をPythonで自動化する方法となります。ご自身にあった方法を選択しましょう。
 

無料でPythonを使ってツイート取得するたった1つの方法


以下に関して順番に説明します。結論から言いますと、PythonからTwitterのツイート取得を無料で実現したい場合、先ほどご紹介した「方法➁:GUI自動化ライブラリを使ってPythonスクリプトを自作」を採用するしかないです。
 

【ご紹介事項】
・そもそも有料ではダメな理由
・無料でツイート取得できるPythonライブラリは存在する?


 

そもそも有料ではダメな理由

Twitter APIのBasic以上を使うことで、Pythonからツイート取得ができます。ただし、月1万円程度の費用が発生します。

また、BasicとProの違いの一つとして、「単位時間あたりに発行できるAPI回数」があります。「ツイート取得のAPIを発行できる回数」としては、以下の違いがあります。
 

プラン発行できる回数(取得制限)
Basic15分で60回
Pro15分で450回
出典:ツイート取得のAPI(GET_2_tweets_search_recent)でのBasicとProの違い(公式サイト)



上記の表より、Basicを選択した場合、APIを発行できる回数が少ないため、実用化に障壁があります。また、APIを発行できる回数が多いProを選択した場合、月50万円程度の費用が発生します。

以上より、費用と回数の問題があるため、Twitter APIを使うことを躊躇する方が多いです。
 

無料でツイート取得できるPythonライブラリは存在する?

Twitter APIの有料化が2023年3月に実施されました。さらに、簡単にスクレイピングできないようにjavascriptなどで画面表示を難解化し徹底したスクレイピング対策がされました。

それまでは、Pythonライブラリであるtweepyやbeautifulsoupによるスクレイピングで無料でツイート取得できていました。

ちなみに、以下のtweepyを使ったスクリプトを作成し実行することで、無料でツイート取得できました。
 

import tweepy
import random

# 取得した各種キーを格納(Twitter Developerで取得)
consumer_key ="XXXX"
consumer_secret ="YYYY"
access_token="AAAA"
access_token_secret ="BBBB"

# Twitterオブジェクトの生成
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)

# 検索式を定義
tag_list = ["#python, "#twitter"]

for tag in tag_list:
  # 検索式の条件を満たすツイートを検索
  search_results = api.search(q=tag, count=100, result_type='recent')

  # 取得したツイートを表示
  for result in search_results:
    print(result)


Twitter Developerの登録手順に関しては、以下の記事をご覧ください。

>> 【コピペOK】PythonからTwitterへ自動投稿(ツイート)する手順
 

以上より、APIやスクレイピングなしで全ツイートや大量ツイートをPythonから無料で取得したい場合、先ほどご紹介した「方法➁」を採用するしかないです。
 

手順:GUI自動化ツールを使ってPythonスクリプトを自作


多くの人に公開することにより、Twitter社によって「方法➁」が禁止され、Pythonから無料でツイート取得する方法がなくなってしまう可能性があります。

大変申し訳ありませんが、方法➁の作り方は、本記事では非公開とさせてください。

どうしても作り方を知りたい方は、以下の有料記事のご購入を検討してください。有料記事には、「プログラムの流れ」「必要なツールやライブラリをインストール手順」「具体的なプログラム」を掲載しています。

>> PythonでTwitterのツイート取得を無料で実現する最後の方法(Note)
 

上記Noteに掲載したプログラムの実行例は、以下となります。PythonからTwitterを操作でき、ツイート取得も自動化できています。
 



上記のプログラムの詳細が気になる方は、以下からアクセスしてください。

>> PythonでTwitterのツイート取得を無料で実現する最後の方法(Note)
  


 

【まとめ】Pythonから無料でTwitterのツイート取得は可能!


いかがでしたでしょうか?

上記で紹介した方法を使うことで、Pythonから無料でTwitterのツイート取得ができます。

最後にもう一度内容を確認しましょう。
 

【おさらい】
・Twitter APIを使うとPythonからツイート取得ができる!ただし有料…
・Basicプランでは実用化に不向き、かといって、Proプランは高額である…
・GUI自動化ライブラリを使うことでPythonから無料でツイート取得可能!



Pythonから無料でTwitterのツイート取得を自動化するスクリプトを知りたい方は、以下にアクセスしてください。累計販売部数に応じて、価格を上げていくつもりなので、はやめのご購入をオススメします。

>> PythonでTwitterのツイート取得を無料で実現する最後の方法(Note)
   


 

コメント