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