Python3でTwitter触ってみた
準備
とりあえずtwitterをpipでインストール twitterの
apps.twitter.com を英語読みながら作って * CONSUMER_KEY * CONSUMER_SECRET_KEY * ACCESS_TOKEN * ACCESS_TOKEN_SECRET をメモってjsonに入れとく
{ "CONSUMER_KEY":"", "CONSUMER_SECRET_KEY":"", "ACCESS_TOKEN":"", "ACCESS_TOKEN_SECRET":"" }
とりあえずtokenクラスでも作っとくかということで
token.py
from twitter import * from src import tools as T class Token: def __init__(self): self.ACCESS_TOKEN =' ' # ACCESS_TOKEN self.ACCESS_TOKEN_SECRET =' ' #ACCESS_TOKEN_SECRET self.CONSUMER_KEY =' ' #CONSUMER_KEY self.CONSUMER_SECRET_KEY =' ' #CONSUMER_SECRET_KEY def loadToken(self, jsonPath): data = T.readJson(jsonPath) self.ACCESS_TOKEN = data['ACCESS_TOKEN'] self.ACCESS_TOKEN_SECRET = data['ACCESS_TOKEN_SECRET'] self.CONSUMER_KEY = data['CONSUMER_KEY'] self.CONSUMER_SECRET_KEY = data['CONSUMER_SECRET_KEY'] #Debug def print_token(self): print(self.ACCESS_TOKEN) print(self.ACCESS_TOKEN_SECRET) print(self.CONSUMER_KEY) print(self.CONSUMER_SECRET_KEY)
OAuth認証
結構簡単でこれだけ
main.py
token = TK.Token() token.loadToken(jsonPath) auth = OAuth(token.ACCESS_TOKEN, token.ACCESS_TOKEN_SECRET, token.CONSUMER_KEY, token.CONSUMER_SECRET_KEY) t = Twitter(auth=auth)
タイムラインをひっぱてきて出力する
メインから関数呼べるように関数だけ
timeLine.py
def getTimeLine(t): timelines = t.statuses.home_timeline() for timeline in timelines: lang = timeline['lang'] if lang == 'ja': username=timeline['user']['name'] text=timeline['text'] print(username + ':') print(text) print(';----------------------\n')
結構たくさん取れる情報あるからやってみるといいかも データサイエンスとかやったことないけど十分できそう
ツイートする
メインから呼べるように関数だけ
tweet.py
def tweet(t): while True: print('いまどうしてる?') tweet = input() if len(tweet) >= 140: print('長すぎるよ') print(str(len(tweet)) + '文字') else: t.statuses.update(status=tweet) break
すごく簡単ですね
まとめ
ほかにもtwitterいじれるライブラリはあるみたいだけどとりあえず今回はこれで
Qt5とかでGUIつくったらそれっぽくなりそう
1時間くらいで調べながらつくれたので私みたいな初心者にはちょうどいかもね