#概要
こちらのサイト(https://gaaaon.jp/blog/twitterapi)によれば,Twitter premium APIのフルアーカイブが制限有とはいえ無料でも使えるみたいなので,いろいろ調べてみました.
いままではTwitter search API(7日前まで)を,tweepyと共に使っていました.しかし,どこかに,フルアーカイブを使うとなるとtweepyじゃ無理みたいなことが書かれていたので,こちらのサイト(https://qiita.com/tomozo6/items/d7fac0f942f3c4c66daf)を参考に,Tweepyを用いずOAuth認証によってTwitter search APIでツイートを取得するコードを書いてみました.
どこかのサイトに「フルアーカイブを使うにはエンドポイントを変更する」と書かれていたのですが,エンドポイントが何かわからず,どう変更すればよいかわからず困っています.
#質問
質問はいくつかあって,
1.tweepyじゃTwitter APIのフルアーカイブを使えませんか?使えるならその方法をお教えください.
2.tweepyじゃ無理なら,以下のコードのどこをどう変更すればフルアーカイブを使えるようになりますか?
3.その場合,paramsでuntilだけでなくsinceも指定できますか?できないなら,できる方法があればお教えください.
4.その他,Twitter premium APIのフルアーカイブについてご存知のことがあればお教えください.
#コード
import json
from requests_oauthlib import OAuth1Session
//OAuth認証部分
CK = "xxx"
CS = "xxx"
AT = "xxx"
ATS = "xxx"
twitter = OAuth1Session(CK, CS, AT, ATS)
//Twitter Endpoint(検索結果を取得する)
url = 'https://api.twitter.com/1.1/search/tweets.json'
//Endpointへ渡すパラメーター
keyword = 'ラーメン'
params ={
'count' : 1000, # 取得するtweet数
'q' : keyword, # 検索キーワード
'lang' :'ja', #言語指定
'until' :'2020-10-12_12:00:00'
}
req = twitter.get(url, params = params)
if req.status_code == 200:
res = json.loads(req.text)
for line in res['statuses']:
print(line['text'])
else:
print("Failed: %d" % req.status_code)
#補足
win10のanacondaを使っています.IDEはPyCharmです.
OAuth認証などについては全く初心者で,このコードを書いて初めて知りました.ですので可能ならより簡単なtweepyを用いる方法を使いたいなと思っています.
また,Twitter APIについても明るくなく,sandoboxなどもあまり理解できていません.
こちらについても私の勘違いや訂正,補足などがあればお教えください.
何卒よろしくお願いいたします.
あなたの回答
tips
プレビュー