PythonとTwitter APIを活用して特定アカウントのいいね数ランキングを自動取得

1. Twitter Developerアカウントの取得

・アカウントの作成:
 Twitter Developerにアカウントを作成します。既にTwitterアカウントがある場合は、それを使用してログインします。

・アプリケーションの登録:
 Developerダッシュボードから新しいアプリケーションを登録し、APIキーとアクセストークンを取得します。

2. Python仮想環境の構築

・仮想環境の作成:
 プロジェクト用の仮想環境を作成し、必要なパッケージをインストールします。

# 仮想環境の作成
python -m venv myenv

# 仮想環境の有効化
source myenv/bin/activate # (Linux/Mac)
myenv\Scripts\activate # (Windows)

# Tweepyのインストール
pip install tweepy

3. Tweepyの利用

・Tweepyの初期化:
 Tweepyを使用してTwitter APIにアクセスします。

import tweepy

# APIキーの設定
consumer_key = 'YOUR_CONSUMER_KEY'
consumer_secret = 'YOUR_CONSUMER_SECRET'
access_token = 'YOUR_ACCESS_TOKEN'
access_token_secret = 'YOUR_ACCESS_TOKEN_SECRET'

# Tweepy初期化
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)

4. 特定アカウントのいいね数ランキングの取得

・ツイートの取得:
 特定アカウントのツイートを取得します。

# 特定アカウントのツイートを取得
user_tweets = api.user_timeline(screen_name='target_account', count=200, tweet_mode='extended')

・ランキングの作成:
 いいね数が多い順にランキングを作成します。

# いいね数が多い順にソート
sorted_tweets = sorted(user_tweets, key=lambda x: x.favorite_count, reverse=True)[:10]

5. データの整形とCSV出力

・データ整形:
 ツイート情報を整形し、必要な情報を取り出します。

CSVファイルへの出力:
 上位10ツイートをCSVファイルに出力します。

import csv

# CSVファイルへの出力
with open('top_tweets.csv', 'w', encoding='utf-8', newline='') as csv_file:
fieldnames = ['Tweet', 'Likes', 'Retweets', 'Date']
writer = csv.DictWriter(csv_file, fieldnames=fieldnames)
writer.writeheader()
for tweet in sorted_tweets:
writer.writerow({'Tweet': tweet.full_text, 'Likes': tweet.favorite_count,
  'Retweets': tweet.retweet_count, 'Date': tweet.created_at})

6. スクリプトの定期実行

・cronジョブの設定:
 定期的なスクリプトの実行はcronジョブやタスクスケジューラを使用します。

# 毎日12時にスクリプトを実行するcronジョブ
0 12 * * * /path/to/python /path/to/your/script.py

以上が、PythonTwitter APIを利用して特定アカウントのいいね数ランキングを取得するための基本的な導入手順です。注意事項として、APIの使用制限に気をつけ、Twitter利用規約に従うことが重要です。


moun45.hatenablog.com