高専中退系エンジニアの意識高めな奴

高専をやめてwebエンジニアになったそーとくが、日々思ったことや意識の高そうなことを徒然なるままに書く意識の低いブログです。当面の目標は続けることです。

pythonでTwitterが出来るようにした

Twitter APIpythonを使ってやりたいことを思いついたので、手始めにTwitter APIからタイムラインの情報を取得するだけの単純なプログラムを組んでみた。
APIの取得に関しては他サイト様が分かりやすく解説しているのでそちらをご覧ください。

目次

環境

  • 言語 python3.7
  • ライブラリ request-oauthlib(Oauth認証用)、configparser(configの読み取り)

configファイル作成

こんな感じのコンフィグを作ります。
各値は自分のAPIのやつを入れて下さい。

API.ini

[Twitter API]
consumer_key = *****
consumer_secret =*****
access_token =*****
access_token_secret =*****

ソース

まず、各ライブラリをインポート。

import configparser
from requests_oauthlib import OAuth1Session
import json

コンフィグの読み取り

config=configparser.ConfigParser()
config.read('API.ini')

section1 = 'Twitter API'

APIのコンシューマーキーとアクセストークンの取得

CK = config.get(section1,'consumer_key')
CS = config.get(section1,'consumer_secret')
AT = config.get(section1,'access_token')
ATS = config.get(section1,'access_token_secret')

twitter = OAuth1Session(CK, CS, AT, ATS)

ループ処理

i = 1
while (i > 0):
url = "https://api.twitter.com/1.1/statuses/user_timeline.json"

params ={'count' : 10}
req = twitter.get(url,params = params)

if req.status_code == 200:
timeline = json.loads(req.text)
for tweet in timeline:
print(tweet['user']['name']+'::'+tweet['text'])
print(tweet['created_at'])
print('----------------------------------------------------')
else:
print("ERROR: %d" % req.status_code)
#終了処理
print("Continue?")
print("yes = 1")
print("No = 0")

yn = input()

if int(yn) ==0:
print("See you next time.")
break
elif int(yn) == 1:
continue

実行結果

自分のツイートを10ツイート分取得できた。

結果
結果

まとめ

ライブラリを使ってTwitter APIの操作ができた。
今後はAPIから取得した情報をHTMLに投げてウェブアプリが作れたりしたらいいなと思います。