前提・実現したいこと
PythonとTwitter APIを使用して特定のアカウントのツイートをExcelファイルに出力するというシステムを開発しています。動きはするのですが、現状多くても2000件しかツイートを取得することができません。
もっと多くの件数(可能なら1万以上)のツイートを出力する方法はございませんでしょうか。
ご存じの方がいらっしゃいましたらご教授いただけますと幸いです。
該当のソースコード
Python3
#ツイートをエクセルファイルに出力する import tweepy import pandas as pd import datetime # TweepyAPI KEY CONSUMER_KEY = "XXXXXXXXXXXXXXXXXXXXXXXXX" CONSUMER_SECRET = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ACCESS_TOKEN = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ACCESS_TOKEN_SECRET = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" #tweepyの設定 auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET) api = tweepy.API(auth) columns_name=["いいね数","RT","URL","日時","テキスト"] #ここで取得したいツイッターアカウントIDを指定する tw_id="XXXXX" #ツイート取得 def get_tweets(): tweet_data = [] for tweet in tweepy.Cursor(api.user_timeline,screen_name = tw_id,exclude_replies = True).items(): #RTを除外 if (not tweet.retweeted) and ('RT @' not in tweet.text): #URLを取得 tweet_id = tweet.id screen_id = tweet.user.screen_name url = "https://Twitter.com/{}/status/{}".format(screen_id,tweet_id) #日時を取得 s = tweet.created_at+datetime.timedelta(hours=9) created_at = str(s) tweet_data.append([tweet.favorite_count,tweet.retweet_count,url,created_at,tweet.text.replace('\n','')]) df = pd.DataFrame(tweet_data,columns=columns_name) df.to_excel('tw_%s.xlsx'%tw_id, sheet_name='Sheet1') print("end") get_tweets()
補足情報(FW/ツールのバージョンなど)
Python:3.9.12
Tweepy:4.10.0
使用エディタ:Jupyter Lab
0 コメント