前提・実現したいこと
初めて質問させて頂きます。
Jupyter-notebook(Python3)、Twitter APIを使って、特定のツイッターアカウントのタイムラインを、時期を絞って取得することがゴールです。
そのために、下記のコードをjupyter-notebookで実行すると、対象アカウントの最新20ツイートを取得することができました。
ところが、時期を絞って(例:2019-08-13から2019-08-20まで)タイムラインを取得することができていません。
ゴールを達成するためには、どのようにパラメータを設定したら良いのでしょうか?
お教えいただければ幸いです。
Python3
1#質問コードに誤りがあったため、修正したコードをページの一番下「質問コードの修正」にコピーしました。\ 2ご参照ください。
試したこと
ツイッターのアプリによる検索機能では、
since:2018-09-23 #取得期間の開始日 until:2018-09-30 #取得期間の終了日
というように検索ボックスに入力することで、特定の期間内のツイートを取得できるそうです。
ところが、こうした時期の指定を、上記のコード内でどのように行えるのか、調べてもわかりませんでした。
環境
macOS Mojave
Python 3.7.3
質問コードの修正
quiqui さんにご指摘いただいた上で、質問コードを下記のように修正させていただきました。
下記のコードをjupyter-notebookで実行すると、対象アカウントの最新20ツイートを取得することができました。
取得すべきツイート期間を指定したいものの、調べても、望むようなパラメータがわからなかったため、
params ={'since':2018-12-10,'until':2018-12-17,'screen_name':'*******'}
という風にしてみましたが、
'since':2018-12-10,'until':2018-12-17
の部分は無視された状態での出力になっています。
#一人のツイートを時期を限定して取得(1週間) import json import sys import datetime from datetime import timedelta # 日本時間に直すために使う import tweepy #python で Twitter APIを使用するためのConsumerキー、アクセストークン設定 CONSUMER_KEY = "" CONSUMER_SECRET = "" ACCESS_TOKEN = "" ACCESS_TOKEN_SECRET = "" #認証 auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET) api = tweepy.API(auth) twitter = auth.oauth #---------------------- #上記が各種設定、下がタイムライン取得操作 # Twitter Endpoint(ユーザータイムラインを取得する) url = "https://api.twitter.com/1.1/statuses/user_timeline.json" # Enedpointへ渡すパラメーター params ={'since':2018-12-10,'until':2018-12-17,'screen_name':'*******'} req = twitter.get(url, params = params) if req.status_code == 200: res = json.loads(req.text) for line in res: print(line['created_at']) print(line['text']) print() else: print("Failed: %d" % req.status_code)
回答1件
あなたの回答
tips
プレビュー