Engineerの研鑽

メインはプログラミング系ブログ(本の要約とかもします)

質問はCONTACTやコメントでお願い致します。

【コピペでできるpython】twitter apiを使ってフォロワー数を取得してみよう!

twitter api

こんにちわ。ゆきとです。

 

最近、自分よりも若い人が自分よりも圧倒的に結果を出しているのをみて、打ちのめされています。自分は自分、他人は他人と割り切り努力を続けます。

 

余談はこのくらいにして、今日はtwitter apiを使ってフォロワーを取得していきます。

 

twitterから情報を取得する方法は2パターン (Beartokenを使うパターン, access tokenを使うパターン)があるのですが、後にいいねやリツートなどもしたいので今回はaccess tokenを使う方法でAPIを使用し、twitterから情報を取得します。

twitterから情報の取得だけをしたい場合、Beartokenを使うパターンでもOKです。

 

詳しい2つの違いなどは下記のドキュメントを参照してください(英語なのは許してください...)

OAuth with the Twitter API | Docs | Twitter Developer

 

それでは作っていきましょう!

前提条件

  • すでにtwitterAPIキーを取得している
  • pythonを触ったことがある
  • やる気がある

もしまだtwitterAPIキーを取得されてない方はこちらのサイトを参考にAPIキーを取得してください。(めちゃくちゃわかりやすくまとめてくれてます)

qiita.com

開発環境

実行結果

実行結果

このような形でフォロワー数を取得できます!

自分のtwitter idとかツイッター名とかも取得できるので、自分の欲しい情報を取得してみてください。

ソースコード

pprintとjsonは最初から入っていますが、requests_oauthlibはライブラリをインストールする必要があるので、インストールしてください。

ライブラリのインストールpip install requests_oauthlib

以下のソースコードはコピペでOKです!!(一部変えるところがあるので、ちゃんと最後まで読んでくださいね!)

ファイル名 : twitter_get_follower.py

#OAuth認証をするためのライブラリ
from requests_oauthlib import OAuth1Session 
#APIからの返り値を整形して受け取るためのライブラリ https://docs.python.org/ja/3/library/pprint.html
import pprint
#json形式を扱うためのライブラリ
import json

#OAuth認証
try:
    twitter = OAuth1Session("consumer_key", "consumer_secret", "access_token", "access_secret")
    #例) twitter = OAuth1Session("E7OL..", "iJmUt4WU..", "10869..", "VSaWjM..")
except:
    print("twitter認証エラー")

### 自身のツイート内容からtwitter idとフォロワー数を取得 ###

#指定したツイートIDの情報を取得するためのurl
get_tweet_info_url = "https://api.twitter.com/1.1/statuses/show.json?id=1110088233587662848"
#実際にAPIを投げて返り値を受け取る
req_tweet = twitter.get(get_tweet_info_url)

#返り値が正常に帰ってきていない場合、エラーを出す
if req_tweet.status_code != 200:
    print("指定したツイートの情報を取得できませんでした")

#jsonでは処理がしにくいので、jsonを辞書形式に変換
req_tweet_json = json.loads(req_tweet.text)

#通常のprint文だと出力がすごくみづらいので、pprintを使ってみやすくしている
#pprint.pprint(req_tweet_json, width=40)

print("ツイートしたユーザのtwitter id : ", req_tweet_json['user']['id_str'])
print("ツイートしたユーザ名 : ",           req_tweet_json['user']['name'])
print("ツイートしたユーザのフォロワー数 : ", req_tweet_json['user']['followers_count'])

 このコードのAPIキーの部分(OAuth1..)を自分が取得したものに変えていただいて、コードを実行してください。

pythonの実行python twitter_get_follower.py

これで実行ができるはずなので、最初に示した実行結果と同じ結果になるかを確認してください。

 

無事表示されれば終了です!お疲れ様でした!

どうでしたか?少しでも参考になれば幸いです。

 

それではまた後日!!