LoginSignup
8

More than 3 years have passed since last update.

posted at

updated at

Twythonを使ってみた

備忘録やで

TwitterAPIとったので遊んでましたがちょくちょく使い方忘れるので基本的なTwythonの使い方をおいときますね
Tweepyはこういう日本語の情報多いんですけどTwythonになると全然ないのでいちおう書きます
でも基本的なことしか書かないです
深いところは公式の英語の説明読んでください
https://twython.readthedocs.io/en/latest/index.html

APIの取得

普通にぐぐれば取り方はいっぱい出てくるので僕が前に書いた取り方のコツのまとめ置いときます
https://qiita.com/nya3_neko2/items/d801a7b47d335a643cfa

Twythonのインストール

$ pip install twython

apiインスタンスの作成

まずTwython使うためにapiインスタンスを作成します
Twitterには0auth1と2があってツイートをするなら前者の設定が必要です
読み取りだけをするなら後者でいいです
今回はOauth1の方を使っていきます
""の中に取得したkeyとか書きます

Oauth1.py
CONSUMER_KEY = ""
CONSUMER_SECRET = ""
ACCESS_KEY = ""
ACCESS_SECRET =""
api = Twython(CONSUMER_KEY,CONSUMER_SECRET,ACCESS_KEY,ACCESS_SECRET) 
print('Auth Done!')
Oauth2.py
APP_KEY=""
ACCESS_TOKEN=""
api = Twython(APP_KEY, access_token=ACCESS_TOKEN)

後者でやるほうが審査が簡単だったりします
APIとる作文めんどくさいですからね
後者にチャレンジするときはhttps://developer.twitter.com/en/apps にアクセスしてappの登録してください

timelineの取得

user_timeline = api.get_user_timeline(screen_name = user_name,count=1)

で取得したいアカウントの最新ツイート1件取得します
user_nameには取得したいアカウントの@を抜いたIDをstrで入力します
僕のTwitterは@nya3_neko2なのでこの場合は

user_name = "nya3_neko2"

countを変えれば最大200件まで取得できます
ここで取得されるuser_timelineはlistです
ここから最新ツイートのtextが取得したければ

try:
    user_timeline = api.get_user_timeline(screen_name = user_name,count=2)
    for tweet in user_timeline:
        now_tweet = tweet['text']
        print(now_tweet)
except TwythonError as e:
    print('error')
    print (e)

でnow_tweetに最新ツイートのtextが代入されます

ツイートしてみる

ツイートしてみます
""の中にツイートする文を入れましょう
改行したいところに\nいれれば改行できます

api.update_status(status="")

この""に文字数制限を超えたものや、直近で重複したツイートしている場合はエラーが出ます
👇こんなの
Twitter API returned a 403 (Forbidden), Status is a duplicate.

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
8