Twitter API 叩いてみた!【イベント】#0002
こんにち!こーたろーです。
皆さんはConnpass使ってますか?
技術者用のイベントが沢山あっていろいろと為になります。
ネットワーキングにも使えていいですよ!
本日は、「【第8回 みんなで学ぼう!Pythonによるデータサイエンス】」に参加してみました。
主催者URLはコチラになります。
新潟大学BDA学生研究会 - connpass
どうやら新潟大学のビッグデータアクティベーション研究センターというところが作ったグループのようです。
テーマは、「PythonでTwitter APIを叩け!」というものです。
少し面白そうなので、今回参加することにしてみました。
以下で、APIを叩くまでの流れを書いてみました。
前半はイベントにはない内容なので、これからやってみたいという方は是非。
1.Twitter Developerの開発者申請
まず、Twitter Developerページで、開発者申請を行います。
こちらのサイトに飛びましょう!【https://developer.twitter.com/en/apps】
こちらの画面が出てきたら、右側の「Create an app」をクリックします。
ポップアップが表示されたら、内容を確認の上、「Apply」をクリックします。
そうすると、どういった目的で利用するかという項目がでるので、自分に合ったものを選びましょう。
選択内容次第で、次の質問が変わるため、ここは割愛させてもらい、
上手の最終確認を終えると、確認メールが届くので、それでメールアドレスの認証をしてください。
するとこちらの画面が開きます。
プロジェクトを作成していきます。「Create project」をクリックして、情報を入力していきます。
まず、プロジェクト名を入力します。
次に、アプリの注釈として最も適切なものを選びます。
さらに、アプリの概要・説明を記します。
最後に、アプリの名称を記入して完了です。
完了すると、「Consumer Keys」「Consumer Secret」を発行してくれます。
こちらをメモしておきましょう。
次に、「Access Token」「Access Secret」を発行するために、Developer Portalへ行き、「Projects &Apps」の中の、自分のプロジェクト・Appを選択してください。
すると、「Authentication Settings」が出てくるため、新規作成を押します。
実行すると以下のようなものが出てきます。こちらをメモしましょう。
以上で、下準備完了です。
こちらのKEYは、いつでも変更が可能なため、何か異常があった場合はすぐに再発行しましょう。
ここまでで、結構疲れますね。
イベントでは、この後からありましたので、引き続き宜しくお願いします。
2.APIに接続
それでは、早速Google Colaboratoryから自分のTwitterに接続してみましょう!
CONFIGファイルは、セキュリティの観点から、別ファイルにして、importする方がベターです。
今回は、勉強のためということで、そのままべた書きです。
CONFIG = { 'CONSUMER_KEY': '自分のCONSUMER_KEY', 'CONSUMER_SECRET': '自分のCONSUMER_SECRET', 'ACCESS_TOKEN': '自分のACCESS_TOKEN', 'ACCESS_SECRET': '自分のACCESS_SECRET' } CK = CONFIG['CONSUMER_KEY'] CS = CONFIG['CONSUMER_SECRET'] AT = CONFIG['ACCESS_TOKEN'] AS = CONFIG['ACCESS_SECRET']
接続してみます。
import tweepy
auth = tweepy.OAuthHandler(CK, CS)
auth.set_access_token(AT, AS)
api = tweepy.API(auth)
これで接続完了です。
それでは、いろいろと実験をしてみましょう。
【実験その1】任意の文字をツイート
words = 'Google Colaboratory から Twitter API 接続テストを行っています。'
api.update_status(words)
Twitterにツイートできた!と思ったらエラーが!!!
よく見ると、APIがread onlyとなっています!
チェックすると。。。
うん、確かに!(笑
設定を変更して、書き込みもできるようにしましょう。
改めて実行してみます!
ばっちりできましたね!
記念にこのツイートは取っておきます!(笑
【実験その2】ホームからタイムラインを5つ取得
api.home_timeline(count=5)
リストで返ってきました。
【実験その3】「いいね!」をつけた投稿を取得
for i in api.favorites(count=10): print(i.text)
なるほどなるほど。
その他、いくつか実験を行って、イベントは終わりました。
Twitter APIで取得できる情報は多くあり、自然言語処理なども行っていきたいと思います。
それもなんですが、メソッドが沢山用意されているので、活用できる楽しみがまた一つ増えました。
続編に乞うご期待!
ではでは。