今回は前回紹介したTwitterのapiをPythonで叩けるようにラッピングした「tweepy」について紹介しました
関連記事:【Python】TwitterのAPIを簡単操作できる「Tweepy」の使い方
Tweepyを使って特定のアカウントの呟きを一括取得する
今回はその応用でtweepyを使って特定のアカウントの過去ツイートをまとめてスクレイピングする方法について紹介したいと思います。
# ライブラリの読込とTwitterAPI鍵の設定 import tweepy from datetime import timedelta import pandas as pd CK = '' # Consumer Key CS = '' # Consumer Secret AT = '' # Access Token AS = '' # Accesss Token Secert
API鍵についてはバージョン1.1のものを使用する前提になります。
2021年から新しくできたV2のAPI鍵については以下の記事を参照してください
参照:【Python】TweepyでTwitterAPI_V2のAPIを使ってツイートするサンプルプログラム
#認証情報を設定 auth=tweepy.OAuthHandler(CK, CS) auth.set_access_token(AT, AS) #APIインスタンスの作成 api=tweepy.API(auth) #アカウント指定(@の後ろの英数字、↓はサンプルID) Account = 'python_mllover' #ツイート保存用変数&取得するツイートを計算する tweet_data = [] num = 0 for page in range(17): tweets = api.user_timeline(Account, count=200, page=page) for tweet in tweets: tweet.created_at += timedelta(hours=9) # print('----------') #見やすいように # print(tweet.created_at) #書くツイートの投稿時間表示 # print(tweet.text) #各ツイート内容表示 num += 1 tweet_data.append(['@'+Account, tweet.created_at, tweet.text]) print(num, 'ツイート表示しました。') # ツイートデータをデータフレームに変換 tweet_data = pd.DataFrame(tweet_data, columns=["account", "date", "tweet"]) tweet_data
<実行結果>
無償用のAPIだと特定のアカウントに対する過去のツイートの取得は3400ツイートまでなので、range(17)を指定しています。ちなみにデータフレームに格納したデータを抜き出したいときは以下のようにすればよいです。
# 適当なツイートデータを抜き出す tweet_data.iloc[7] print(tweet_data.iloc[7].date) print(tweet_data.iloc[7].tweet)
関連記事:【Python】Tweepyで相互フォローの確認&フォロバとリムーブを自動化
関連記事:【Python】Tweepyで検索に引っかかったツイートを自動ファボ
コメント
[…] 参照記事:【Python】TwitterのAPIを使って特定のアカウントの呟きを一括取得する […]