ものづくりのブログ

うちのネコを題材にしたものづくりができたらいいなと思っていろいろ奮闘してます。

【python】Twitter API で取得した日付を変換する

Twitter の「REST API」で取得したツイートの日付を、Database 等々に登録する場合、日付の書式を変更したいことがあります。今回はTwitter APIで取得した日付を変換する方法をまとめてみました。

変換前データ

以下ような形式で送信される Twitter の日付情報を扱いやすいフォーマットに変換します。

Wed Nov 04 12:25:42 +0000 2020

コード

データベースに格納したいので、Twitter の日付をタイムスタンプに変換します。

from datetime import datetime
s = '2020-11-04 12:25:42+00:00'
created_at = datetime.strptime(s, '%a %b %d %H:%M:%S %z %Y')
print(created_at)

実行結果

2020-11-04 12:25:42+00:00

search/tweets を使ってツイートの検索スクリプトに組み込んでみます。
サンプルとして挨拶という検索キーワードで10件検索してみます。
(OAuth 認証は後でまとめたいと思います)

CONSUMER_KEY  = ''
CONSUMER_SECRET_KEY = ''
ACCESS_TOKEN = ''
ACCESS_TOKEN_SECRET = ''

from datetime import datetime
from twitter import *

t = Twitter(
    auth=OAuth(
        ACCESS_TOKEN, 
        ACCESS_TOKEN_SECRET, 
        CONSUMER_KEY, 
        CONSUMER_SECRET_KEY
    )
)

#ツイートの検索
searchs = t.search.tweets(
    q='挨拶', 
    locale='ja', 
    count=10, 
    include_entities=False
)

for search in searchs[ 'statuses']:
    s = '{created_at},{username},{text}'.format(
        created_at = datetime.strptime(search['created_at'],'%a %b %d %H:%M:%S %z %Y'),
        username = search['user']['screen_name'][1:10],
        text=search['text'][1:10]
    )
    print (s)