Python+Twitter API②
pythonでTwitter APIを利用する方法を説明します
参考ページ
Twitter APIを利用するには、アプリケーションの登録をしAPIキーなどをもらう必要があります。
最近、登録の審査が厳しくなったようです、登録については各自お調べ下さい。
認証処理
API利用の度に、キーによる認証処理が必要です
毎回キーを記述するのは大変なので、別ファイルにキーを記述します。
[code title=”config.py” lang=”python”]
CONSUMER_KEY = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
CONSUMER_SECRET = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
ACCESS_TOKEN = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
ACCESS_TOKEN_SECRET = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
[/code]
実行ファイルで、config.pyを呼び出し、認証処理を行います。
[code lang=”python”]
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) #認証処理
[/code]
これで準備が完了です。
POSTメソッド
POSTメソッド(投稿や更新)とGETメソッド(情報の取得)があります。
まずツイートを投稿する方法(POSTメソッド)を見てみましょう。
参考ページ
[code lang=”python” title=”ツイートの投稿”]
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メソッドの実行
[/code]
エンドポインド:処理ごとに定められています
パラメーター:処理ごとに定められており、必須と必須でないものがあります
GETメソッド
次に特定のツイート情報の取得(GETメソッド)を見てみましょう。
[code lang=”python” title=”ツイート情報の取得”]
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’]) #ユーザー名
[/code]
メソッドの戻り値はJSON形式のため、辞書へ変換します。
あとは通常通り、キーを使い必要な情報を取り出せます。
以上が基本です。これさえ理解すれば大体の機能は利用できると思います。
[code lang=”python” title=””]
[/code]
[code lang=”python” title=””]
[/code]
[code lang=”python” title=””]
[/code]