福岡人データサイエンティストの部屋

データサイエンスを極めるため、日々の学習を綴っています。

Twitter API 叩いてみた!【イベント】#0002

こんにち!こーたろーです。



皆さんはConnpass使ってますか?
技術者用のイベントが沢山あっていろいろと為になります。


ネットワーキングにも使えていいですよ!


本日は、「【第8回 みんなで学ぼう!Pythonによるデータサイエンス】」に参加してみました。


主催者URLはコチラになります。
新潟大学BDA学生研究会 - connpass



どうやら新潟大学ビッグデータアクティベーション研究センターというところが作ったグループのようです。



テーマは、PythonTwitter APIを叩け!」というものです。



少し面白そうなので、今回参加することにしてみました。


以下で、APIを叩くまでの流れを書いてみました。


前半はイベントにはない内容なので、これからやってみたいという方は是非。


1.Twitter Developerの開発者申請


まず、Twitter Developerページで、開発者申請を行います。



こちらのサイトに飛びましょう!【https://developer.twitter.com/en/apps


f:id:dsf-kotaro:20210211203521p:plain


こちらの画面が出てきたら、右側の「Create an app」をクリックします。


f:id:dsf-kotaro:20210211203707p:plain



ポップアップが表示されたら、内容を確認の上、「Apply」をクリックします。



f:id:dsf-kotaro:20210211204941p:plain



そうすると、どういった目的で利用するかという項目がでるので、自分に合ったものを選びましょう。
選択内容次第で、次の質問が変わるため、ここは割愛させてもらい、



f:id:dsf-kotaro:20210211210840p:plain



上手の最終確認を終えると、確認メールが届くので、それでメールアドレスの認証をしてください。


するとこちらの画面が開きます。


f:id:dsf-kotaro:20210211212443p:plain



プロジェクトを作成していきます。「Create project」をクリックして、情報を入力していきます。


まず、プロジェクト名を入力します。


f:id:dsf-kotaro:20210211212742p:plain



次に、アプリの注釈として最も適切なものを選びます。



f:id:dsf-kotaro:20210211212833p:plain


さらに、アプリの概要・説明を記します。


f:id:dsf-kotaro:20210211212944p:plain


最後に、アプリの名称を記入して完了です。



f:id:dsf-kotaro:20210211213054p:plain


完了すると、「Consumer Keys」「Consumer Secret」を発行してくれます。

こちらをメモしておきましょう。


f:id:dsf-kotaro:20210211213151p:plain




次に、「Access Token」「Access Secret」を発行するために、Developer Portalへ行き、「Projects &Apps」の中の、自分のプロジェクト・Appを選択してください。

すると、「Authentication Settings」が出てくるため、新規作成を押します。




f:id:dsf-kotaro:20210211213411p:plain




実行すると以下のようなものが出てきます。こちらをメモしましょう。



f:id:dsf-kotaro:20210211213319p:plain


以上で、下準備完了です。

こちらの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にツイートできた!と思ったらエラーが!!!


f:id:dsf-kotaro:20210211220206p:plain



よく見ると、APIがread onlyとなっています!

チェックすると。。。



f:id:dsf-kotaro:20210211220145p:plain




うん、確かに!(笑


設定を変更して、書き込みもできるようにしましょう。




f:id:dsf-kotaro:20210211220226p:plain





改めて実行してみます!




f:id:dsf-kotaro:20210211220804p:plain



ばっちりできましたね!

記念にこのツイートは取っておきます!(笑





【実験その2】ホームからタイムラインを5つ取得


api.home_timeline(count=5)


f:id:dsf-kotaro:20210211221851p:plain



リストで返ってきました。




【実験その3】「いいね!」をつけた投稿を取得

for i in api.favorites(count=10):
    print(i.text)


f:id:dsf-kotaro:20210211222318p:plain






なるほどなるほど。


その他、いくつか実験を行って、イベントは終わりました。

Twitter APIで取得できる情報は多くあり、自然言語処理なども行っていきたいと思います。
それもなんですが、メソッドが沢山用意されているので、活用できる楽しみがまた一つ増えました。

続編に乞うご期待!


ではでは。

スッキリわかるPython入門 (スッキリシリーズ)

スッキリわかるPython入門 (スッキリシリーズ)