pythonでTwitterのツイートを期間指定して収集したい

前提

研究でpythonでTwitterのツイートを収集しようとしています。
※TwitterAPIを使用し、tweepyにてコードを書いています。
使用しているOSやツールは以下の通りです。
Windows11
jupyter notebook (python)

実現したいこと

期間を指定してツイートを取得したいと思っています。
since = "2017-08-26_00:00:00_JST"
until = "2017-08-30_00:00:00_JST"
と指定すればいいとネットに書いてあったのですが変数を指定した後がわかりません。

※参考サイト
期間指定をしていたのはこちらの2人しかいなかったので自分のコードで応用するのは難しく、できませんでした。
https://vatchlog.com/tweepy-search-time/
https://qiita.com/areph/items/0745cb744a12810334c6

コード全般の参考サイトはこちらです
https://python-man.club/python_twitter_api_tweet/

発生している問題

sinceとuntilを指定した後、tweepy.Cursor()のかぎかっこにどのように入れればいいのかがいまいちわかりません。そもそもここに入れるかすら分からないのでアドバイスよろしくお願いします。
以下がコードとなっています。ここでは例として君の名は(kiminona_movie)のアカウントのツイートを収集しました。

該当のソースコード

python

import tweepy import pandas as pd import csv import time from datetime import datetime,timezone import pytz #各種ツイッターのキーをセットconsumer_key = ''consumer_secret = ''access_key = ''access_secret = '' auth = tweepy.OAuthHandler(consumer_key, consumer_secret)auth.set_access_token(access_key, access_secret)api = tweepy.API(auth) #since = "2017-08-26_00:00:00_JST"#until = "2017-08-30_23:59:59_JST" tweets = tweepy.Cursor(api.user_timeline, screen_name = "kiminona_movie", exclude_replies = True).items() #関数: UTCをJSTに変換するdef change_time_JST(u_time): #イギリスのtimezoneを設定するために再定義する utc_time = datetime(u_time.year, u_time.month,u_time.day, \ u_time.hour,u_time.minute,u_time.second, tzinfo=timezone.utc) #タイムゾーンを日本時刻に変換 jst_time = utc_time.astimezone(pytz.timezone("Asia/Tokyo")) #文字列で返す str_time = jst_time.strftime("%Y-%m-%d_%H:%M:%S") return str_time #ツイート取得tweet_data = [] for tweet in tweets: #ツイート時刻とユーザのアカウント作成時刻を日本時刻にする tweet_time = change_time_JST(tweet.created_at) create_account_time = change_time_JST(tweet.user.created_at) #tweet_dataの配列に取得したい情報を入れていく tweet_data.append([ tweet.id, tweet_time, tweet.text, tweet.favorite_count, tweet.retweet_count, tweet.user.name, tweet.user.friends_count, tweet.user.followers_count, create_account_time, ]) labels=[ 'ツイートID', 'ツイート時刻', 'ツイート本文', 'いいね数', 'リツイート数', 'アカウント名', 'フォロー数', 'フォロワー数', 'アカウント作成日時' ] #tw_dataのリストをpandasのDataFrameに変換df = pd.DataFrame(tweet_data,columns=labels) #CSVファイルに出力する#CSVファイルの名前を決めるfile_name='kiminonaha.csv' #CSVファイルを出力するdf.to_csv(file_name,encoding='utf-8-sig',index=False)

コメントを投稿

0 コメント