Python+Twitter API②
pythonでTwitter APIを利用する方法を説明します
参考ページ
Twitter APIを利用するには、アプリケーションの登録をしAPIキーなどをもらう必要があります。
最近、登録の審査が厳しくなったようです、登録については各自お調べ下さい。
認証処理
API利用の度に、キーによる認証処理が必要です
毎回キーを記述するのは大変なので、別ファイルにキーを記述します。
CONSUMER_KEY = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx" CONSUMER_SECRET = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ACCESS_TOKEN = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ACCESS_TOKEN_SECRET = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
実行ファイルで、config.pyを呼び出し、認証処理を行います。
import config #config.pyの読み込み from requests_oauthlib import OAuth1Session #OAuthのライブラリの読み込み CK = config.CONSUMER_KEY CS = config.CONSUMER_SECRET AT = config.ACCESS_TOKEN ATS = config.ACCESS_TOKEN_SECRET twitter = OAuth1Session(CK, CS, AT, ATS) #認証処理
これで準備が完了です。
POSTメソッド
POSTメソッド(投稿や更新)とGETメソッド(情報の取得)があります。
まずツイートを投稿する方法(POSTメソッド)を見てみましょう。
参考ページ
url = 'https://api.twitter.com/1.1/statuses/update.json' #エンドポイント status = 'こんにちは!' #ツイート本文(必須) lat = 35.79449997305192 #緯度 long = 139.79078800000002 #経度 params = {'status':status,'lat':lat,'long':long} #パラメーター twitter.post(url, params = params) #POSTメソッドの実行
エンドポインド:処理ごとに定められています
パラメーター:処理ごとに定められており、必須と必須でないものがあります
GETメソッド
次に特定のツイート情報の取得(GETメソッド)を見てみましょう。
import json #jsonファイルを扱うため ~ url = 'https://api.twitter.com/1.1/statuses/show.json' #エンドポイント id = 1094812821047496709 #取得対象のツイートID(必須) include_entities = False #entitiesプロパティを含めるか params = {'id':id,"include_entities":include_entities} #パラメーター req = twitter.get(url, params = params) #GETメソッドの実行 tweet = json.loads(req.text) #JSON形式を辞書へ変換 print(tweet) #全情報の確認 print(tweet['created_at']) #投稿日 print(tweet['id']) #ツイードID print(tweet['text']) #投稿文 print(tweet['user']['name']) #ユーザー名
メソッドの戻り値はJSON形式のため、辞書へ変換します。
あとは通常通り、キーを使い必要な情報を取り出せます。
以上が基本です。これさえ理解すれば大体の機能は利用できると思います。
0 Comments