タイトルのような目的で下記のようなコードを作成しました。(ネットで調べながら)
tweepyのドキュメントも読んだのですが、期間指定の記述を見つけることができません。
ネットで調べてみてた方法も効かず、1ヶ月ほどのツイートを取得してしまします。
もちろん効かないなら効かないでsetを使用して更新したものだけを抽出したりなどの方法はあるかと思いますが,tweepyでできる的な記事もあるのではまっています。
もしやり方をご存知でしたら教えていただけませんでしょうか?
python
1省略 2 3d_today = datetime.date.today() 4base_since = '_00:00:00_JST' 5base_until = '_23:59:59_JST' 6since = d_today.strftime('%Y-%m-%d') + base_since #例:'2020-08-08_00:00:00_JST' 7until = d_today.strftime('%Y-%m-%d') + base_until #例:'2020-08-08_23:59:59_JST' 8 9 10for Name,Account in Twitter_Account.items() : #Twitter_Accountは数アカウントの配列 11 tweet_data = [] 12 for tweet in tweepy.Cursor(api.user_timeline,screen_name = Account,exclude_replies = True,since = since,until = until).items(): 13 14以下省略
python
1#変数名がちょっとアレですが、こちらでターゲットのアカウントのツイートを取得できるようになりました。 2can110様ありがとうございます! 3 4d_today = datetime.date.today() 5since_day = d_today - datetime.timedelta(days=1) 6 7aTime = datetime.time(00, 00, 1) 8bTime = datetime.time(00, 00, 00) 9aT_native = dt.combine(d_today, aTime) 10bT_native = dt.combine(since_day, bTime) 11today_daytime = pytz.timezone('Asia/Tokyo').localize(aT_native) 12since_daytime = pytz.timezone('Asia/Tokyo').localize(bT_native) 13 14 15for Name,Account in Twitter_Account.items() : 16 tweet_data = [] 17 for tweet in tweepy.Cursor(api.user_timeline,screen_name = Account,exclude_replies = True).items(): 18 # ツイート時間を日本時間に変換 19 jst_timestamp = pytz.timezone('Asia/Tokyo').localize( tweet.created_at + datetime.timedelta(hours=9) ) 20 if jst_timestamp < since_daytime: 21 continue 22 if jst_timestamp < today_daytime: 23 updateJST = jst_timestamp.strftime('%Y-%m-%d %H:%M:%S') 24 tweet_data.append([tweet.id,updateJST,tweet.text.replace('\n',''),tweet.favorite_count,tweet.retweet_count]) 25 26
回答2件
あなたの回答
tips
プレビュー